Говорим клиенту:
Клиентская программ (например, ваше графическое приложение) знает, какой
дисплей использовать из переменной окружения DISPLAY. Ее можно
переопределить, либо использовать аргумент -display hostname:0 во время
запуска вашей программы. Рассмотрим это на примере.
Наш компьютер известен в сети как light, в домене uni.verse. Если мы
запустим обычный X-сервер, переменная DISPLAY будет равна light.uni.verse:0. Но
мы хотим запустить программу для рисования xfig на удаленном компьютере
dark.matt.er, а в качестве дисплея использовать машину light.
Полагаю, что вы уже вошли на удаленный компьютер
dark.matt.er.
Если вы используете csh в качестве оболочки на нем:
dark% setenv DISPLAY light.uni.verse:0
dark% xfig & |
или же:
dark% xfig -display light.uni.verse:0 & |
Если вы используете sh в качестве оболочки:
dark$ DISPLAY=light.uni.verse:0
dark$ export DISPLAY
dark$ xfig & |
или же:
dark$ DISPLAY=light.uni.verse:0 xfig & |
или, конечно же:
dark$ xfig -display light.uni.verse:0 & |
Кажется, некоторые версии telnet автоматически передают переменную DISPLAY
на удаленный компьютер. Если у вас как раз такая, считайте, что вам
повезло, и не надо указывать ее вручную. В противном случае,
большинство версий telnet передают переменную окружения TERM; можно
установить переменную DISPLAY, основываясь на переменной TERM.
Основная идея состоит в том, чтобы при помощи скрипта сделать следующее:
перед запуском telnet, добавляем значение переменной DISPLAY к переменной
TERM. На другом конце в скрипте .*shrc устанавливаем значение DISPLAY из
переменной TERM.