С nolisten по указанному пути нашел только одну строчку:
check_arg "$NOLISTEN" -nolisten
Если $NOLISTEN пустое, то закомментаривать не надо.
Вообще по nmap -A localhost открыт порт 6000:
Если к 6000 можно достучаться с "main-machine", то этого достаточно.
В двух словах это можно сделать, подключившись через ssh. Правильно?
Правильно.
Второй вопрос (уже про доступ с рабочего компа на домашний): а если комп (который на работе и будет выступать в роли терминала) находится за NATом, то что указывать в качестве terminal-machine на сервере (main-machine)?
Если с terminal можно соединиться с main по ssh:
terminal% ssh -X -C user@main
Password:********
user@main% xterm& xclock& mwm&
Сжатие ('-C') помогает при "узком" канале, и "быстром" процессоре на обоих концах.
------------------------------------------------------
Если main тоже за NAT, то пусть есть ssh-сервер mediator, и с ним можно соединиться с terminal и main по ssh user_med@mediator.
Делаем "туннель" для ssh с terminal на main через mediator:
На terminal:
terminal% ssh -C -L 5000:localhost:20000 user_med@mediator
Password:*******
user_med@mediator$ # оставили висеть сеанс
На main:
user@main% ssh -C -R 20000:localhost:22 user_med@mediator
Password:******
user_med@mediator$ # оставили висеть сеанс
Делаем "туннель" для X-программ c main на terminal через mediator:
На terminal:
1. запускаем X :0 без '-nolisten tcp', делаем xhost +
2. terminal% ssh -C -R 20001:127.0.0.1:6000 user_med@mediator
Password:*****
user_med@mediator$ # оставили висеть сеанс
На main (пусть на нем порт 6000 не занят):
user@main% ssh -C -L 6000:localhost:20001 user_med@mediator
Password:*****
user_med@mediator$ # оставили висеть сеанс
Заходим по ssh с terminal на main через mediator и запускаем программы c main с отрисовкой на terminal через mediator:
terminal% ssh -p 5000 user@localhost
Password:*****
user@main% export DISPLAY=localhost:0.0 ; xterm & xclock& mwm& ...