Была необходимость запустить графическое приложение на удаленном сервере. Такая возможность существует. Да именно с использованием графики. Все выполняется из терминала по SSH.
Кратко из википедии про ssh:
SSH — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.
SSH позволяет безопасно передавать в незащищённой среде практически любой другой сетевой протокол. Таким образом, можно не только удалённо работать на компьютере через командную оболочку, но и передавать по шифрованному каналу звуковой поток или видео (например, с веб-камеры). Также SSH может использовать сжатие передаваемых данных для последующего их шифрования, что удобно, например, для удалённого запуска клиентов X Window System.
Можно запустить программу, например Gimp, на удаленном сервере с выводом изображения на свой монитор, так же и с выводом на удаленный монитор. Во втором случае вы просто физически не увидите этого, но на удаленном мониторе он запустится.
Подготовка к запуску графического приложения по ssh
Для успешного запуска, нужно внести изменения в файл sshd_config, расположенный в каталоге /etc/ssh
Для его редактирования я использую редактор nano, вы можете использовать свой.
На своем ПК
Устанавливаем, если не установлена служба ssh
sudo apt install ssh
Открываем файл на своем компьютере, командой:
sudo nano /etc/ssh/ssh_config
Раскомментируем или допишем строку
ForwardX11 yes
Сохраняем файл Ctrl+O закрываем Ctrl+X
На удаленном ПК, сервере
Служба ssh должна быть уже установлена, иначе вы не сможете к нему подключится.
Подключаемся к удаленной машине, серверу по ssh.
Далее на удаленной машине, сервере вводим команду:
sudo nano /etc/ssh/ssh_config
Раскомментируем или допишем строку
X11Forwarding yes
Сохраняем файл Ctrl+O закрываем Ctrl+X
Перезапускаем ssh на удаленной машине командой:
sudo service ssh restart
Теперь, можно подключившись по ssh к серверу или удаленному компьютеру, запустить программу, например gimp, запускается командой:
gimp
И на вашем компьютере откроется окно браузера, но только сам браузер будет работать на удаленной машине, просто изображение будет выводится у вас на ПК.
Для стабильной работы рекомендуется использовать утилиту nohup, команда будет выглядеть так
nohub gimp
Если хотите запустить вывод изображения на удаленной машине
Подключитесь по ssh к удаленной машине и введите вначале команду
export DISPLEY=:0
затем команду для запуска приложения.
Приложение запустится, но вывод будет осуществлятся на монитор подключенный к удаленной машине.
Поэтому вы не увидите удивленное лицо того кто наблюдает этот монитор!
Если хотите что-то добавить пишите в комментариях.
Всем Удачи!