Linux ssh запускает графическое приложение и оставляет его запущенным?

У меня есть ssh доступ к моему собственному серверу с установленным Ubuntu 13.10.

Через ssh я могу запускать приложения GUI, используя этот подход:

 $ ssh -X my_login@address_of_sever 

После этого я могу запустить любое приложение по имени, например gedit , firefox , google-chrome , и оно будет открыто на моей клиентской машине (просто окно, фактически приложение работает на удаленной машине, то есть на сервере).

Все в порядке.

Но когда я закрываю приложение GUI на клиентской машине, он закрывается и на сервере (это кажется законным).

Я могу запускать консольные приложения, используя такие команды, как:

 $ nohup php somefile.php & 

и он продолжит работу после закрытия соединения.

Интересно, возможно ли сделать то же самое с графическим приложением?

В идеале это было бы, если бы было возможно переместить открытое окно на сервер и вернуть его клиенту, когда необходимо посмотреть, что там происходит, возможно, какое-то переключение?

3 Solutions collect form web for “Linux ssh запускает графическое приложение и оставляет его запущенным?”

Да, вы можете сделать это с помощью xpra . На своей домашней странице:

«Чтобы запустить приложение (простой xterm в этом примере) в удаленной системе и отобразить его на локальном компьютере, просто запустите:

 xpra start ssh:SERVERHOSTNAME:100 --start-child=xterm 

Это похоже на ssh -X, но это быстрее, и вы можете отключить и повторно подключиться к сеансу столько раз, сколько хотите. (очевидно, xpra должен быть установлен на вашем сервере). Чтобы повторно подключиться или подключиться к этому сеансу с другого компьютера, используйте команду attach (вы также можете использовать графический интерфейс xpra_launcher):

 xpra attach ssh:serverhostname:100 

Единственный способ, которым я знаю, где вы можете возобновить приложение GUI таким образом, – запустить приложение на рабочем столе удаленного сервера, а затем использовать приложение, такое как VNC, для удаленного подключения к рабочему столу удаленной системы. Затем вы можете разорвать это соединение и возобновить его по мере необходимости.

Я не знаю о каком-либо методе, когда вы можете возобновить приложение GUI, где приложение будет удаленно отображаться на вашем локальном рабочем столе.

Для консольных приложений вы можете использовать консольные менеджеры, такие как screen или tmux чтобы возобновить эти подключения, или же они сохраняются, когда соединение SSH, используемое для их инициирования, прерывается, а затем восстанавливается позже.

Вы не можете. «ssh -X» использует ssh-канал для пересылки протокола X11. Если вы завершаете приложение ssh, соединение больше не может подключаться к серверу.

То, что вы можете сделать с помощью ssh и X11, заключается в том, что если ваша сеть является локальной и безопасной, необходимо запустить X-сервер на вашем компьютере в режиме прослушивания tcp (есть и опция во многих диспетчера дисплеев, либо в gui, либо в текстовых конфигурациях, которые вы должны удалите -nolisten tcp). После этого, если вы это сделаете:

 mydesktop$ xhost +myserver mydesktop$ ssh myserver myserver$ export DISPLAY=mydesktop:0 myserver$ xterm & disown ctrl-C mydesktop$ 

Ваш xterm продолжит работу, запущенный ssh, но xterm будет подключен через TCP без ssh.

  • Отключите отображение X11 / Xorg (не в режиме ожидания)
  • debian / screen freeze, но система работает
  • Почему этот код Hello World X11 не запущен на NetBSD?
  • Отображать события ACPI для ключей X (или для пользовательских команд)
  • Почему X не обрабатывает ALT_L и ALT_R иначе w / r / t Mod1
  • Прокрутка «OS X-like» в Linux?
  • Почему мое графическое устройство R не освежает и получает так медленно через VNC?
  • Можно ли полностью удалить указатель мыши из X?
  • Параметры dtoverlay игнорируются
  • Восстановить окно GUI после минимизации в ratpoison
  • Что делает эта команда «xhost ...»?
  • Linux и Unix - лучшая ОС в мире.