Я использую GNU Screen постоянно. Но я пытался выяснить, есть ли какой-нибудь способ заставить приложения X11 пересылать по экрану, когда я пишу по ssh (это слово?). В настоящее время, если я пытаюсь запустить «gedit» через экран, он открывается на моем «серверном» компьютере, а не на моем клиенте. Если я делаю то же самое за пределами экрана, то все в порядке. Но я хочу, чтобы все было хорошо, когда я использую экран тоже!
Благодарность!
PS: я погуглил проблему и вижу упоминание о xmove, но я не могу найти пакет, содержащий xmove, в моей Ubuntu. (Ubuntu 10.10)
command-line
ssh
gnu-screen
Sandro
источник
источник
Ответы:
Чтобы сделать это вручную, после подключения по SSH, но перед повторным подключением к экрану проверьте переменную среды DISPLAY:
После повторного присоединения к экрану явно установите переменную среды:
где : N.0 - это то, что было
echo
показано перед прикреплением. Это не будет идеально, так как некоторые приложения могут ожидать соединения с Session D-Bus, который немного сложнее отправить по соединению SSH.источник
echo $DISPLAY > $HOME/.display.txt; screen -x -d
а затем еще один на экране для запуска, который делаетexport DISPLAY=$(cat $HOME/.display.txt)
. /path/to/script
гдеscript
находитсяexport DISPLAY=$(cat $HOME/.display.txt)
в репозиториях есть программа под названием xpra, это как экран gnu для x11. это не так сложно работать с:
X Постоянные удаленные приложения
Xpra предоставляет вам функциональность GNU Screen для приложений X.
Он позволяет пользователю просматривать удаленные X-приложения на своем локальном компьютере, а также отключать и повторно подключаться к удаленному компьютеру без потери состояния запущенных приложений.
источник
Byobu автоматически присоединяет агенты ssh и gpg. Я мог бы сделать так, чтобы он снова подключил экранную переменную к, если это полезно для вас ...
источник
Вот так у меня получилось работать при запуске byobu
Добавьте эту строку в .bash_login перед строкой "_byobu_source ..":
А затем добавьте эту строку в .bashrc :
источник
Кажется, проблема в том, что переменная окружения XAUTHORITY не сохраняется в сеансе экрана. Я решил это, добавив следующее в мой .bashrc. Я не думаю, что это должно быть необходимым, но я думаю, что вы делаете то, что должны:
Я не ожидаю, что это будет лучшим решением или кратким, но оно работает.
источник
FreeNX - замечательное приложение для работы с удаленными дисплеями.
источник
Основываясь на предложении @harre, я обнаружил, что это лучшее рабочее решение, по крайней мере для RHEL через Putty. Я знаю, что есть лучший способ, чем создать файл, содержащий var, но он работает вне шлюза, чтобы получить
X11
доступ кDISPLAY
при загрузке черезgnu screen
.Автоматизированное решение
Добавить в
.bashrc
(или.bash_profile
, в зависимости от вашего варианта использования)Затем добавьте следующий файл (или ваш выбор пути)
источник