Ниже приводится ручное решение, но нет причин, по которым вы не могли
используйте псевдоним или сценарий для автоматического выполнения при удаленном входе в систему.
Предполагая, что ваша локальная оболочка устанавливает переменную DISPLAY соответствующим образом,
вы можете использовать screen -X
для отправки следующих команд на удаленный экран до
подключение.
# set future remote shells started by screen to have the correct XDISPLAY
% screen -X "setenv XDISPLAY $DISPLAY" #...
# set up the keystroke F1 to update the XDISPLAY in current shells
% screen -X "bindkey -k k1 stuff export XDISPLAY=$DISPLAY\015" #...
Если вы знаете, что все ваши окна остались в оболочке (не работающий редактор или что-то подобное), вы можете использовать :at
для изменения XDISPLAY
вместо привязки ключа:
# update the XDISPLAY in all current windows
% screen -X "at % stuff export XDISPLAY=$DISPLAY\015" #...
В качестве альтернативы, если вы знаете какой-либо способ получения значения переменной окружения родительского процесса, вы можете использовать его вместе с ловушкой подсказки вашей оболочки, чтобы получить значение SCREEN для XDISPLAY (как установлено setenv) и обновить его для оболочки.