Как запустить приложение с графическим интерфейсом на удаленной коробке Ubuntu через SSH

Я могу войти в удаленный компьютер Ubuntu (Kubuntu 12.04). Используя информацию из ( Как запустить программное обеспечение с графическим интерфейсом на удаленном ПК с Linux через SSH ), я попытался сделать следующее после входа в систему:

user@Kub:~$ export DISPLAY=:0
user@Kub:~$ firefox
No protocol specified
No protocol specified
No protocol specified
No protocol specified
Error: cannot open display: :0

Я ожидал такой же успех, как указано в вопрос, на который ссылаются. К сожалению, как вы видите, это не сработало для меня. Машина имеет 3 дисплея. Может ли это быть проблемой?

Есть ли простое решение? Я также прочитал ( https://unix.stackexchange.com/questions/10121/open-a-window-on-a-remote-x-display-why-cannot-open-display ), но я не понял, как использовать или применять этот совет. Это было слишком сложно. Я ценю любые относительно простые решения.

Я посмотрел на работающий процесс GUI (Кейт) с этим:

# cat /proc/2857/environ | tr \\0 \\n | grep -E '^(DISPLAY|AUTHORITY)=' 
DISPLAY=:0

Это еще больше смущает меня, почему это не сработало.

Используя предложение Скотта Гудгейма (ниже), я попробовал это:

  1. войти в систему с опциями -X и -C в SSH.
  2. export DISPLAY =: 0
  3. firefox & amp;

Результат был:

$ No protocol specified
No protocol specified
No protocol specified
No protocol specified
Error: cannot open display: :0
0
задан 13 April 2017 в 15:37

3 ответа

Простой способ иметь возможность запускать графические программы - это запускать ssh следующим образом ... ssh -X -C user@MyIp Затем он начнет сеанс ssh, как обычно, но затем вы можете запустить программу X следующим образом. firefox & это запустит firefox на удаленной машине, отобразит его локально для вас и вернет вас к приглашению ssh.

0
ответ дан 13 April 2017 в 15:37

Вам нужен xauth, чтобы разрешить экспорт дисплея и создать пустой файл Xauthority.

apt-get install xauth
touch ~/.Xauthority
0
ответ дан 13 April 2017 в 15:37

Я на Kubuntu 12.04. Вот что сработало для меня на примере того, как запустить x11vnc удаленно.

Сначала запустите команду ps wwwwaux | grep auth, чтобы найти файл cookie xauth. Результат будет выглядеть примерно так:

root      1592  3.6  6.2 665544 1023456 tty7   Ss+  Jul14 288:35 /usr/bin/X :0 vt7 -br -nolisten tcp -auth /var/run/xauth/A:0-ABCDEF

Интересующая часть находится в конце этой строки: / var / run / xauth / A: 0-ABCDEF
(где ABCDEF является уникальной случайной (?) строкой

Затем вставьте полученный результат в эту команду:

sudo x11vnc -rfbport 5901 -rfbauth ~/.vnc/passwd -display :0 -shared -xauth /var/run/xauth/A\:0-ABCDEF
0
ответ дан 13 April 2017 в 15:37

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

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