Есть ли способ запустить firefox на удаленном сервере с помощью SSH таким образом? :
ssh username@ip_address [command line]
Когда я бегу: ssh username@ip_address -Y (or -X) firefox
(Я хочу запустить Fire Fox на удаленный -Ubuntu Desktop- от моего локальный -Ubuntu Server), Я получаю эту ошибку: Error: no display specified
Важная заметка: Я хочу запустить эту команду с сервера Ubuntu на операционную систему рабочего стола Ubuntu.
Это должно помочь вам:
ssh machine DISPLAY=0:0 firefox
Просто попробовал с двумя машинами Ubuntu.
Синтаксис FOO=asdf BAR=fdsa command arg arg2
не является особенным для SSH, просто устанавливает переменные среды для command
. Вам нужно указать Firefox, где находится дисплей X11 - в данном случае это тот же компьютер, что и Firefox. Пересылка X11 не используется, потому что и Firefox, и сервер X11 находятся в одном ящике.
Смотрите также https://superuser.com/questions/368530/understanding-x-windows-display-environment-variable-when-tunnelling
Для этого вы можете использовать X Forwarding. Убедитесь, что на вашем сервере установлен firefox, затем с рабочего стола запустите:
ssh username@ip_adress -Y [command line]
если -Y не работает, вы все равно можете использовать -X.
Если не работает, убедитесь, что:
/etc/ssh/sshd_config
на сервере, X11Forwarding
установлен на yes
/etc/ssh/ssh_config
на клиенте, ForwardX11
установлен на yes
. При необходимости добавьте строку.sudo apt-get install xauth
С Уважением,
Томас.
Если вы хотите просматривать веб-страницы локально, как если бы вы сидели перед удаленным ящиком:
$ ssh -X username@remote.example.com
затем запустите Firefox внутри сеанса удаленного терминала:
$ firefox https://test-ipv6.com/
Обратите внимание на использование -X
флаг в ssh
команда. Вы также можете выполнить оба шага за один раз, как показано ниже:
$ ssh -X username@remote.example.com firefox http://test-ipv6.com/
Если у вас есть приложение, работающее удаленно, которое предоставляет какой-то веб-интерфейс, вам будет интересно выставить удаленный IP: порт, как если бы это был локальный IP: порт. В этом случае -L
опция определяет соответствие между localhost:localport
и remotehost:remoteport
, как показано в псевдокоманде ниже:
ssh -L localhost:localport:remotehost:remoteport remoteuser@remotehost
Например:
$ ssh -L 127.0.0.1:18080:internal.example.com:8080 username@router.example.com
затем запустите Firefox локально:
$ firefox http://127.0.0.1:18080
В приведенном выше примере вы подключаетесь через SSH к username@router.example.com
, и вас интересует веб-интерфейс, представленный на internal.example.com:8080
. Этот удаленный IP: порт будет доступен локально на 127.0.0.1:18080
.