- Графический интерфейс через Putty
- 1 Введение
- 2 Установка и запуск Putty
- 3 Настройка Putty
- 4 Подключение к удалённому узлу
- 5 Открытие файлов HTML в браузере
- 5.1 Браузер Netsurf
- 5.2 Браузер Dillo
- 6 Открытие текстовых файлов в редакторах с графическим интерфейсом
- 7 Сохранение настроек
- Запуск графических приложений по ssh
- How to start a GUI software on a remote Linux PC via SSH
- 5 Answers 5
Графический интерфейс через Putty
Удалённые подключения могут быть легко установлены через SSH (secure shell), можно авторизоваться, выполнять действия или посылать команды в другую систему через это соединение или командную строку. Однако невозможно запустить приложение с графическим интерфейсом для просмотра текущего содержимого удалённого узла, это является недостатком использования ssh в терминале.
Данный недостаток можно легко исправить использованием утилиты «putty». Примеры приложений с графическим интерфейсом: браузер, текстовые редакторы и т.д.
1 Введение
В этой статье рассмотрим установку и использование Putty в кластере Raspberry Pi, под управлением ОС Raspbian и MPICH2 (интерфейс передачи сообщений). Putty будет использоваться для просмотра текстовых файлов, с помощью приложения «leafpad» и браузеров типа «Netsurf» и «Dillo», которые предустановлены на любой версии ОС Raspbian. Также рассмотрим сохранение настроек, таким образом, чтобы в следующие разы просто загружать уже настроенные параметры.
2 Установка и запуск Putty
Putty устанавливается через терминал:
sudo apt-get install putty
Затем проверим правильность установки, для этого существует 2 способа:
1. прописать команду в терминале:
2. или через меню программ в разделе «Other»:
Далее откроется меню настроек.
3 Настройка Putty
После запуска putty, сначала введём IP адрес узла, к которому хотим подключиться, адрес вводится в разделе «Host Name». Например подключимся к адресу «10.32.4.230».
После настройки IP адреса, потребуется включить X11, для запуска приложений с графическим интерфейсом с удалённого узла:
Прокрутим левую панель putty и выберем опцию SSH.
После этого выберем опцию «X11», представленную на левой панели.
Далее включим «Enable X11 forwarding» в правой части.
4 Подключение к удалённому узлу
После включения X11 forwarding, кликнем по кнопке open внизу окна putty. Откроется подключение с удалённым узлом 10.32.4.230 и терминал. Также можно выполнить команду «ls», для просмотра файлов на удалённом узле.
5 Открытие файлов HTML в браузере
Способ, которым можно открыть файлы HTML удалённо в raspberry pi зависит от используемого браузера. Рассмотрим браузеры Dillo и Netsurf для открытия существующего файла HTML, с названием «sum1.html».
5.1 Браузер Netsurf
Для открытия файла «sum1.html» введём в терминал следующее:
netsurf file:///home/pi/sum1.html
5.2 Браузер Dillo
Для открытия файла с использованием Dillo введём следующую команду в терминал putty:
Вообще, браузер Netsurf предпочтительней, но в случаях низкой пропускной способности сети лучше использовать Dillo, так как он имеет меньшую нагрузку.
6 Открытие текстовых файлов в редакторах с графическим интерфейсом
Raspbian содержит хороший текстовый редактор с графическим интерфейсом, под названием «leafpad». Для открытия текстового файла, с названием «indsum1.txt» введём следующее:
7 Сохранение настроек
Если существует необходимость запускать приложения с графическим интерфейсом каждый раз при использовании Putty, следует сохранить настройки. Для этого в меню настроек выбираем вкладку «sessions» на левой панели окна putty. Внизу можно увидеть текстовое окно, с названиями «load, save or delete sessions». Напечатаем имя сессии в этом текстовом окне, например, «GUI_login» и нажмём «save»в правой панели. Затем имя сессии должно появиться в окне снизу, теперь каждый раз для запуска необходимо дважды кликнуть по сохранённому имени сессии.
Использование «putty» является самым простым способом удалённого запуска приложений с графическим интерфейсом, при этом значительно используя пропускную способность сети.
Таким образом, можно запускать различные приложения, предустановленные в Raspbian OS. Этот метод также работает в Ubuntu и Debian.
Запуск графических приложений по ssh
Вначале немного лирики, а потом — практические советы. На днях я решил попробовать удаленно зайти на компьютер любимой жены и дочурки и во время просмотра онлайн кино захотел запустить на их экране текстовый файл с текстом и изображением. Для начала я создал на своем микро-компьютере Raspberry PI 3 в LibreOffice Writter надпись «Я вас люблю» и сохранил на Рабочий стол. Потом я подключился к их компьютеру по ssh, запустил Midnicht Commander и скопировал в их Домашний каталог созданный файл test.odt. И во время данного эксперимента я для себя сделал небольшое открытие, хотя до этого об одном из пунктов я знал.
1. По ssh соединению можно запустить графическое приложение удаленного компьютера, которое откроется на вашем мониторе.
2. Можно также запустить то же графическое приложение, но оно уже откроется на удаленном мониторе.
Возможно многие скажут, что ничего нового я не написал, но просто раннее мне не приходилось проделывать эти действия и свершилось это только сейчас. В любом случае для многих это будет очень полезным, уж для меня это точно оказалось познавательным и нужным.
Для начала нужно сделать кое-какие настройки в конфигурационном файле /etc/ssh/sshd_config на удаленном компьютере и вашем. На удаленной машине нужно раскомментировать (убрать символ # ) или добавить строку:
После перегрузим ssh, выполнив команду:
На своем компьютере нужно раскомментировать или добавить строку:
Теперь, подключаясь к удаленному хосту, для запуска графической программы, нужно будет использовать следующие ключи:
X — перенаправлять графический вывод
С — компрессия передаваемых данных
Команда будет иметь такой вид:
где — user (логин пользователя удаленной машины)
192.168.1.xx — IP-адрес удаленной машины.
После этого можно запускать любую программу, имеющую графический интерфейс, и она появится на вашем мониторе. Вы увидете приложение даже в том случае, если такая же программа не установлена на вашем компьютере. В итоге можно запустить удаленную графическую программу и на своем мониторе поработать с ней, а результат сохранить на удаленный компьютер. Это очень удобно, если хозяин удаленной машины попросил вас помочь в настройке определенной программы, или в создании какого-нибудь файла, созданного в LibreOffice, GIMP, Inkscape и т.д. Вы теперь можете удаленно помочь человеку. Хотя некоторые тормоза присутствуют, но это не критично.
Теперь рассмотрим случай, когда нужно запустить удаленное приложение, которое должно отобразиться на том же удаленном компьютере.
После этого дадим команду GUI программам, что по нашей (удаленной) команде, они должны запустить в графическом режиме на своем (локальном) компьютере:
Теперь можно запускать любое приложение:
или, как в моем случае, я запустил нужный мне файл:
Можно также запустить приложение в связке с утилитой nohup, которая защитит программу от сбоев связи. Теперь даже если вы отключитесь от удаленной машины, то запущенная программа будет работать. Пример:
Можно сразу запустить браузер с нужным сайтом:
How to start a GUI software on a remote Linux PC via SSH
Sometimes I need to start XMBC media player or other GUI software on one of my remote PC (small Xubuntu PC used as a media center). Usually, I do this by starting an X11vnc server on the remote PC via SSH and then connecting with an Xvnc client to the Xfce desktop. Is there a way to start a GUI software on a remote Linux PC via SSH? Thanks!
Can confirm that the approach in chosen answer works if the remote client is a Mac, too. Working successfully with macOS Sierra.
5 Answers 5
Yes. You just need to run export DISPLAY=:0 (or whatever the remote display is numbered as) in your ssh session and programs run will run on the remote display. A quick example:
oli@bert:~$ ssh tim oli@tim:~$ export DISPLAY=:0 oli@tim:~$ firefox
Firefox is now running on tim ‘s display.
However when you close your ssh session, most of the time the remote application will close. If you want to disconnect from ssh but leave the application running you need to launch it in a special way using something like screen (keeps the ssh session running in the background) or nohup , or another method. For more information on this there was recently another question on it.
You can shorten this all down into one command that will connect, export the display in-line and start the application in a way that won’t close it after the ssh session dies:
ssh tim "DISPLAY=:0 nohup firefox"