Запустите графический интерфейс в screen или tmux (или альтернативном варианте)

Запустите графический интерфейс в screen или tmux (или альтернативном варианте)

У меня есть приложение, которое является только графическим интерфейсом и которое постоянно должно работать. Проблема в том, что я не могу установить полный рабочий стол только для этого приложения (моя ОС - Debian и Ubuntu Cli).

Поэтому мне стало интересно, есть ли способ запустить это приложение на сервере в чем-то вроде screen или tmux? Чтобы я мог просто перенаправить X и продолжить работу с ним.

решение1

В этом есть два аспекта - первый - это когда процесс gui принадлежит процессу, который не завершается. Есть множество способов добиться этого, но если вы работаете так, то "достаточно" иметь tmux, владеющего процессом.

Второе — где-то иметь вывод gui. Если вы хотите, чтобы вывод gui и отправлялся на экран сервера, на котором запущен процесс, и чтобы к нему можно было получить удаленный доступ, тоx11vncхороший вариант, присутствует в большинстве дистрибутивов. Все, что вам нужно, это сеанс X11, то есть не полный рабочий стол, а достаточно X для отображения gui и x11vnc.

Это раскрывает сеанс X, в котором он запущен, как сеанс VNC, поэтому к нему можно получить удаленный доступ. В идеале вы бы сделали это через ssh, так как vnc не обеспечивает особой безопасности.

решение2

Посмотрите на Xpra, которая позволяет удаленно работать с приложениями X и прерывать соединение. Это очень похоже на "tmux для X".

http://xpra.org/

решение3

Программа с графическим интерфейсом, использующая X Windows, требует подключения к серверу (вашей графической головке). Если вы отключитесь от screen/ tmux(сохранив сеанс), соединение с сервером все равно может быть отключено (например, если вы выключите/переведете в спящий режим/в режим гибернации ваш локальный компьютер. Пока соединение с сервером остается $DISPLAY, ваше приложение будет продолжать работу. Если вы используете SSH и X-пересылку, то по завершении сеанса SSH соединение также будет завершено.

Так что да, вы можете запускать приложение из командной строки неограниченное количество раз, но это зависит от того, сохранится ли соединение между сервером и клиентом.

Связанный контент