Я вошел в систему Ubuntu 11.04 с помощью SSH и мне нужно запустить программу, но это программа с графическим интерфейсом Windows, которая работает под управлением WINE.
Как запустить программу из терминала SSH, чтобы она открылась на рабочем столе и оставалась открытой даже после выхода из SSH?
решение1
Общий способ запуска графической программы с удаленной машины:
На целевой машине запустите
xhost +
. (Вам нужно будет сделать это из терминала или из скрипта входа.)с удаленного клиента подключитесь по SSH к целевой машине и запустите,
nohup program &
где «программа» — это программа, так, как если бы вы ее запустили, находясь за целевой машиной.
решение2
Если вы хотите, чтобы программа была перенаправлена на ваш дисплей, подключитесь с помощью ssh -X
.
Но, полагаю, вы хотите запустить программу на удаленном дисплее?
Используйте
screen
, чтобы держать программу открытой.Запустите программу с нужным пользователем и
DISPLAY
переменной запущенного X-сеанса.
Например:
xterm -display :1000.0
или:
DISPLAY=:1000.0 xterm
Это также должно работать с Wine.
решение3
Убедитесь, что вы sshd
настроили его так, чтобы была разрешена пересылка X11.
Затем просто запустите свой графический интерфейс как обычно ( nohup
если вы хотите, чтобы он работал после выхода из системы), и он появится на вашем компьютере.
Редактировать: если вы хотите, чтобы это запускалось с помощью значка (см. комментарий), то вы можете присвоить команде значка псевдоним
ssh [email protected] 'nohup MyProgram &'
Или просто создайте небольшой скрипт оболочки (называемый ~/bin/runme.sh) на удаленном хосте со следующим содержимым:
#!/bin/sh
nohup MyProgram & 2>&1 $HOME/.nohupp.log
и вызвать с помощью
ssh [email protected] ~/bin/runme.sh