X Windows System использует клиент-серверную модель. X Server обменивается сообщениями с различными клиентскими программами. Сервер принимает запросы на вывод графики (окон) и отправляет обратно пользовательский ввод (от клавиатуры, мыши или сенсорного экрана).
SSH в режиме X11Forwarding перенаправляет трафик удаленного X Client'a локальному X Server'у. Окно приложения отображается на локальном рабочем столе, пока вся логика выполняется на удаленном компьютере.
В некоторых дистрибутивах (например, Gentoo) перенаправление трафика X Window System по сети отключена. Параметр X11Forwarding в файле /etc/ssh/sshd_config управляет этим режимом:
...
X11Forwarding yes # Возможные значение yes | no
...
Если режим был отключен, включите его и перезапустите ssh сервер:
root@pc:/# systemctl restart sshd
root@pc:/#
Для подключения к удаленному компьютеру выполните команду:
user@pc ~ $ ssh -XYC remote_user@remote_ip
password:
remote_user@remote_ip ~ $
-XYC:
- X - активирует режим X11 Forwarding,
- Y - доверенное перенаправление трафика,
- С - сжатие трафика;
remote_user@remote_ip - имя пользователя и адрес удаленного компьютера.
Запуск приложения производится без дополнительный опций и параметров. Например, команда:
remote_user@remote_pc ~ $ nautilus
запустит файловой менеджер nautilus и покажет его на экране.
Определить удаленное приложение можно с помощью заголовка - в скобках, после названия приложение будет указано имя хоста компьютера (Например, nautilus (на remote_pc)).
Минус: Требовательность к скорости интернета. Например, запуск Intellij Idea достигает 100 КБайт/Сек (Без сжатия трафика - 800 - 1200 КБайт/сек).
Плюс: Логика приложения выполняется на удаленном компьютере. Ресурсоемкие задачи обрабатываются на другом компьютере.
Плюс: Работа с документами, просмотр видео, прослушивание музыки без необходимости копирования на локальный компьютер.
Плюс: Доступ к ресурсам локальной сети на удаленной машине.
Все известные мне Unix системы используют SSH и X Window System. Что в свою очередь стирает расстояния и позволяет решать широкий круг задач.