Как сохранить удаленное приложение X11 запущенным после отключения SSH?

У меня переадресация X11, так что я могу видеть окна программ на моем сервере со своего рабочего стола, мне интересно, если я отключусь от сеанса ssh с переадресацией x11 на мой ПК, закроется ли эта программа на стороне сервера после отключения? Если это так, есть ли способ предотвратить это?

У меня на сервере работает MEGASync, и для его работы требуется X-сервер, я не могу использовать VNC, потому что iptables работает странно, не может открыть порт должным образом. Я бы хотел, чтобы на сервере работала программа megasync, не подключаясь к SSH, чтобы я мог выключить свой компьютер.

Есть ли способ сделать это?

2 ответа

Решение

Xpra, кажется, именно то, что вы ищете. Это немного похоже на экран или tmux, но для приложений X11.

Посмотрите этот ответ на http://unix.stackexchange.com/ для примера.

Есть 2 пути, которые я хотел бы исследовать. самое простое - просто сохранить ssh, добавив ServerAliveInterval 60 к вашей конфигурации клиента SSH

cat <<- EOF >> $HOME/.ssh/config

    # send packets over ssh every 60 seconds to keep ssh connection alive
    ServerAliveInterval 60
EOF

или альтернативно установите screen или tmux, лично я использую tmux

поэтому на сервере вам нужно будет запустить

sudo apt-get install tmux

затем запустите tmux на сервере

tmux -2

подключиться к серверу с

ssh -X -C -c blowfish-cbc,arcfour [-pPORT_NUM] user@1.2.3.4

где

  • -X Включает пересылку X11.
  • -C Запрашивает сжатие всех данных (включая stdin, stdout, stderr и данные для переадресованных соединений доменов X11, TCP и UNIX).
  • -c это тип шифра

Сжатие не существенно, но уменьшает отставание / отзывчивость с сервером

Затем запустите вашу программу изнутри сессии tmux

т.е.

$ your program

если ваш ssh отключен, программа должна оставаться запущенной на сервере, чтобы восстановить соединение с программой, как только вы получите новое соединение ssh, запустите

tmux attach

на сервере

Другие вопросы по тегам