Запуск графических приложений по ssh

Стандартный

5-comandos-basicos-de-consola-del-cliente-de-SSH-en-Linux-professor-falken.com_

Вначале немного лирики, а потом — практические советы. На днях я решил попробовать удаленно зайти на компьютер любимой жены и дочурки и во время просмотра онлайн кино захотел запустить на их экране текстовый файл с текстом и изображением. Для начала я создал на своем микро-компьютере Raspberry PI 3 в LibreOffice Writter надпись «Я вас люблю» и сохранил на Рабочий стол. Потом я подключился к их компьютеру по ssh, запустил Midnicht Commander и скопировал в их Домашний каталог созданный файл test.odt. И во время данного эксперимента я для себя сделал небольшое открытие, хотя до этого об одном из пунктов я знал.

1. По ssh соединению можно запустить графическое приложение удаленного компьютера, которое откроется на вашем мониторе.
2. Можно также запустить то же графическое приложение, но оно уже откроется на удаленном мониторе.

Возможно многие скажут, что ничего нового я не написал, но просто раннее мне не приходилось проделывать эти действия и свершилось это только сейчас. В любом случае для многих это будет очень полезным, уж для меня это точно оказалось познавательным и нужным.



Для начала нужно сделать кое-какие настройки в конфигурационном файле /etc/ssh/sshd_config на удаленном компьютере и вашем. На удаленной машине нужно раскомментировать (убрать символ #) или добавить строку:

X11Forwarding yes

После перегрузим ssh, выполнив команду:

sudo service ssh restart

На своем компьютере нужно раскомментировать или добавить строку:

ForwardX11 yes

Теперь, подключаясь к удаленному хосту, для запуска графической программы, нужно будет использовать следующие ключи:

X — перенаправлять графический вывод
С — компрессия передаваемых данных

Команда будет иметь такой вид:

ssh -XC user@192.168.1.xx

где — user (логин пользователя удаленной машины)
192.168.1.xx — IP-адрес удаленной машины.

После этого можно запускать любую программу, имеющую графический интерфейс, и она появится на вашем мониторе. Вы увидете приложение даже в том случае, если такая же программа не установлена на вашем компьютере. В итоге можно запустить удаленную графическую программу и на своем мониторе поработать с ней, а результат сохранить на удаленный компьютер. Это очень удобно, если хозяин удаленной машины попросил вас помочь в настройке определенной программы, или в создании какого-нибудь файла, созданного в LibreOffice, GIMP, Inkscape и т.д. Вы теперь можете удаленно помочь человеку. Хотя некоторые тормоза присутствуют, но это не критично.

рабочий стол 1_007

Теперь рассмотрим случай, когда нужно запустить удаленное приложение, которое должно отобразиться на том же удаленном компьютере.

Зайдем на удаленный «комп»:

ssh user@192.168.1.xx

После этого дадим команду GUI программам, что по нашей (удаленной) команде, они должны запустить в графическом режиме на своем (локальном) компьютере:

export DISPLAY=:0

Теперь можно запускать любое приложение:

firefox

или, как в моем случае, я запустил нужный мне файл:

libeoffice ~/test.odt

Можно также запустить приложение в связке с утилитой nohup, которая защитит программу от сбоев связи. Теперь даже если вы отключитесь от удаленной машины, то запущенная программа будет работать. Пример:

nohup firefox

или:

nohup libeoffice ~/test.odt

Можно сразу запустить браузер с нужным сайтом:

nohup firefox http://softhelp.org.ua

На этом все и удачи!


Leave a Reply

Статьи