Можно ли запустить команду терминала из ssh, чтобы открыть браузер на X-сервере?

13

Я подключил Raspberry Pi к дисплею. Я получил ssh'd с другого компьютера, и мне было интересно, как, если возможно, открыть окно браузера через epiphany http://example.comсеанс ssh и отобразить его на экране.

Тофер
источник

Ответы:

25

Предполагая, что вы вошли как тот же пользователь, который запускает X display, это довольно просто. Для начала вам нужно знать идентификатор дисплея; если есть только один запущенный экземпляр, это возможно :0. Чтобы проверить, используйте who. Вы увидите вывод, включая такие вещи:

goldilocks   pts/5        2015-02-16 07:18 (:1)
goldilocks   pts/6        2015-02-16 07:18 (:1)
goldilocks   pts/7        2015-02-16 07:36 (:1)

В этом случае идентификатор дисплея указан в скобках в конце :1. Вы должны установить это в среде вашей сессии ssh. Для большинства оболочек, включая bash (по умолчанию для raspbian):

export DISPLAY=:0

Или :1, в зависимости от обстоятельств. Для начала началось прозрение там:

epiphany http://example.com &

В &фоне это, в противном случае он будет блокировать и вы не получите подсказки обратно в ssh.

Златовласка
источник
9

В дополнение к ответу Златовласки , для прозрения вы можете настроить отображение, используя --displayопцию:

epiphany --display=:0 http://example.com &
Тофер
источник
... но это решение работает только с прозрением ?!
BenRoe
Работает также с Chromium-браузером.
JDavis
0
ssh -o ForwardX11=yes pi@192.168.0.37

Откройте SSH с переадресацией портов X11, и вы можете запустить некоторую команду Xwindows из терминала

ssh -o ForwardX11=yes <userName>@<your pi's hostname or ip address>
user2733648
источник
2
Я не думаю, что это ответ на вопрос. ОП спрашивает, как запускать приложения на удаленном дисплее (т. Е. Подключенном к пи) sshс другого компьютера. Пересылка X11 - это запуск удаленных приложений с графическим интерфейсом на локальном дисплее.
Златовласка
Используйте, ssh -X pi@192.168.0.37если вы спешите. (и я согласен с @goldilocks: кажется, он хочет отображать прозрение на удаленном дисплее)
MadMike