Запустите приложение через ssh

Я плохо знаком с SSH. Я могу соединиться с удаленным компьютером. Я могу также запустить приложение на удаленном компьютере и видеть его GUI на моем экране.

Но я не знаю, как запустить приложение без него производящий, производят на моем экране.

Я хочу запустить приложение (например, rhythmbox) и закрыть соединение SSH, оставляя выполнение приложения, не отправляя никому выведенному на мой экран.

Бродя по сети я нашел некоторый совет, но ничто не помогло мне;

ssh -X name@domain
nohup rhythmbox &
logout
5
задан 3 March 2017 в 00:46

1 ответ

Вы подразумеваете, что хотите, чтобы Rhythmbox отобразился на экран удаленного компьютера? Экран, на который отображено приложение GUI, обозначается DISPLAY переменная среды. Когда Вы работаете ssh -X, DISPLAY установлен на значение, которое указывает, что запросы дисплея должны быть переданы по соединению SSH. Для создания отображения приложения на экране удаленного компьютера установить DISPLAY к значению :0.

ssh username@example.com 'DISPLAY=:0 rhythmbox &'

Существует еще одно препятствие: когда приложение соединяется с X дисплеями, оно должно обеспечить своего рода пароль, названный cookie. Cookie сгенерирован каждый раз, когда X-сервер запускается. Ubuntu хранит cookie в файле со случайным образом сгенерированным именем. Самый легкий способ найти cookie состоит в том, чтобы сохранить его в известном имени файла, когда X-сервер запускается. На Ubuntu добавьте этот код к Вашему ~/.profile:

case $DISPLAY:$XAUTHORITY in
  :*:?*)
    # DISPLAY is set and points to a local display, and XAUTHORITY is
    # set, so merge the contents of `$XAUTHORITY` into ~/.Xauthority.
    XAUTHORITY=~/.Xauthority xauth merge "$XAUTHORITY";;
esac

Для большего количества фона см., что ssh ОТОБРАЖАЕТ переменную.


Или Вы подразумевали, что никогда не хотите видеть окно Rhythmbox? Если так, заставьте его соединиться с виртуальным X-сервером, xvfb Install xvfb. Запустите виртуальный X-сервер, затем скажите Rhythmbox соединяться с ним.

ssh username@example.com 'Xvfb :1 -screen 0 800x600x8 & sleep 1; DISPLAY=:1 rhythmbox &'
3
ответ дан 23 November 2019 в 10:32

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

Похожие вопросы: