Назад | Перейти на главную страницу

Запустите firefox на удаленном сервере с помощью SSH с параметром командной строки

Есть ли способ запустить 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. При необходимости добавьте строку.
  • xauth установлен на сервере: 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: порт, как если бы это был локальный 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.