Запуск видалених програм, частина 2

Віддалений робочий стіл за допомогою Xnest/Xephyr

Використання опції-display дозволяє організувати віддалений запуск окремих програм, а як бути, якщо вам потрібен весь робочий стіл? За допомогою X-серверівXnest абоXephyr можна запустити віддалену X-сесію черезXDMCP. Ці сервери працюють подібно до звичайних віконних додатків, проте можуть віддалено підключатися доGDM для організації X-сесії.Xnest таXephyr не є частиноюGNOME і зазвичай не встановлюються за умовчанням. Пошукавши у репозитаріях пакетів вашої системи, ви можете знайти та встановити відповідні пакети. Їх імена, наприклад, уFedora виглядають приблизно так:xorg-x11-server-Xephyr іxorg-x11-server-Xnest.

запуск

Після встановлення сервери можуть бути вручну запущені для того, щоб підключитися до віддаленої системи:

Познайомившись з обома реалізаціями можна дійти невтішного висновку, щоXephyr (зображений на скріншоті вище) більш сучасний, активно розробляється і, як наслідок, більш стабільний. На жаль, є один неприємний момент у роботі з ним: після того, як ви завершите роботу в X-сесії, ви знову не зможете підключитися до віддаленогоGDM. Таке, ймовірно, відбувається тому, щоGDM за замовчуванням налаштовано так, щоб дозволяти не більше одного підключення. Думаю, це можна вирішити, покопавшись у конфігураціїGDM. У процесі експериментів я не вигадав нічого кращого, ніж перезапускатиGDM на віддаленій системі.

XDMCP черезGDM працює на кшталт трубопроводу для віддалених програм, які відображають свої вікна в локальній системі. Фактично на віддаленій системі взагалі не потрібно виконувати вхід до системи. Головне щоббув запущенийGDM. Оскільки створюється нова X-сесія, ви можете використовувати роздільну здатність екрана відмінне від використовуваного на віддаленій системі. Наприклад, якщо на віддаленій системі неможливо отримати роздільну здатність екрана більше, ніж 800*600, то за наявності такої можливості в локальній системі, ви можете без проблем це зробити при використанніXephyr таXDMCP черезGDM. Також, ви без проблем можете використовувати різні оточення робочого столу (GNOME,KDE,Xfce та інші з ними) на віддаленій системі і при підключенні до неї черезXDMCP.

XDMCP: «за» та «проти»

  • використовуються "рідні" можливості X11;
  • легко конфігурується через GDM;
  • без проблем працює через фаєрвол;
  • роздільні X-сесії

Віддалений екран через SSH

Безумовно, найпростішим методом віддаленого відображення додатків є використанняSSH.SSH — чудовий засіб безпечного підключення до віддалених комп'ютерів. Разом з Linux поставляється відкрита реалізаціяSSH, званаOpenSSH. Як у серверній, так і клієнтській частинахOpenSSH є можливість включення тунелювання X11. Щоб скористатися цією можливістю, клієнтOpenSSH має бути запущений з опцією-X.

SSH працює за принципом "клієнт-сервер". Сервером є віддалена система, а клієнтом - локальна (така схема, якраз, і вкладається в традиційне розуміння багатьма терміна "клієнт-сервер", а у випадку з X11 все навпаки). Щоб дозволити форвардинг X11, віддалений сервер має бути відповідним чином налаштований. Відповідні налаштування виконуються у файлі/etc/ssh/sshd_config :

Налаштування тунелювання X11 можуть бути такожвключені/заборонені для кожного користувача окремо:

Вносячи зміни до конфігураційного файлу сервераOpenSSH, не забувайте перезапускати його для того, щоб зміни набули чинності:

На стороні клієнта у файлі/etc/ssh/ssh_config необхідно включити опціюForward11Trusted. У Fedora ця опція включена за замовчуванням, тоді як у деяких інших дистрибутивах вам доведеться зробити це самостійно:

Майте на увазі, що розташування файлів конфігураціїOpenSSH у різних дистрибутивах можуть бути різними. Подробиці ви знайдете в документації доOpenSSH, встановленій у вашій системі.

Після того, як клієнт і сервер налаштовані, користувач може користуватися принадами тунелювання X11, підключившись до віддаленої системи SSH-клієнтом, викликаним з опцією-X. При використанні цієї опції,SSH передає віддаленим програмам всю необхідну інформацію про X-сервер, так що вам не потрібно їх запускати з опцією-display або встановлювати попередньо змінну оточенняDISPLAY.

Використання перенеправлення X11 черезSSH не вимагає, щоб у віддаленій системі працювавGDM або X-сервер. Це дозволяє працювати з віддаленими комп'ютерами, які мають ні запущеного X-сервера, ні монітора взагалі. Також відсутністьGDM і X-сервера зменшує кількість споживаних ресурсів на віддаленій системі.

Однак, майте на увазі, що оскільки графічні програми потребують бібліотек, що поставляються разом з X-сервером, останній повинен бути встановлений у віддаленій системі.

Форвардинг X11 через SSH: «за» та «проти»

  • дуже повільний порівняно з використаннямGDM таVNC ;
  • не підтримує звук;
  • протокол X11 самє дуже «жирним».