В этой статье я подробно расскажу о протоколе VNC, позволяющем удаленно управлять Ubuntu как с другой машины с Ubuntu, так и из Windows, а также управлять Windows из Ubuntu в графическом режиме.
Настройка Ubuntu для разрешения удаленного доступа
Здесь все очень просто: сервер и клиент VNC включены в стандартную комплектацию Ubuntu Desktop. На компьютере с Ubuntu, которым мы собираемся управлять, идем в меню "Система - Параметры - Удаленный рабочий стол", и выставляем нужные настройки. В-первую очередь выставим галочку "Позволять другим пользователям видеть ваш рабочий стол", если необходимо позволить им управлять - выставляем вторую галочку также. Внизу на желтом фоне появляется информация о том, как можно подключиться к вашему компьютеру из локальной сети или интернета. Еще один важный момент: не забудьте установить параметры доступа к вашему компьютера, обязаны ли вы будете разрешать каждое входящее подключение, или будете требовать пароль для доступа к компьютеру. Выставлять вариант свободного доступа и без пароля и без разрешений я крайне не рекомендую - все таки время в сети не спокойное =).
ВНИМАНИЕ! Если вы используете эффекты рабочего стола, то необходимо их ОТКЛЮЧИТЬ на время сеанса удаленного доступа, иначе удаленный доступ либо вообще не будет работать, либо будет дико тормозить.
После этого мы можем подключаться к нашей машине из Ubuntu или Windows. Для подключения из Ubuntu никаких дополнительных настроек не надо: просто идем в меню "Приложения - Интернет - Просмотр удаленных рабочих столов", нажимаем кнопку "Подключиться" в панели инструментов, выбираем протокол VNC и указываем имя компьютера в локальной сети или его IP-адрес в поле "Узел", внизу есть дополнительные параметры на ваше усмотрение: "Полноэкранный режим", "Только просмотр", "Масштабировать". Можно подключаться.
Кроме того, можно использовать альтернативные клиенты VNC для Linux, один из которых - gtkvncviewer. Его можно установить командой:
sudo apt-get install gtkvncviewer
VNC в Windows. Настройка UltraVNC.
Для работы с VNC в Windows мы будем пользоваться пакетом UltraVNC. Раньше я пользовался другим пакетом - RealVNC, однако его серверная часть в бесплатной версии не работает под Windows Vista, 2008 и 7, поэтому я буду рассматривать именно UltraVNC, хотя он и более сложен в настройке.
Если вы используете Windows 2000 или XP, то можете попробовать настроить RealVNC самостоятельно, его можно скачать на официальном сайте: http://realvnc.com/products/free/4.1/download.html.
UltraVNC скачиваем здесь: http://www.uvnc.com/download/index.html (выбираем самую последнюю версию, затем выбираем версию Full, затем win32 для обычной 32-битной ОС, или X64 - для 64-битной).
Запускаем установку. На шаге "Select Components" необходимо выбрать тип установки, я не буду останавливаться на этом подробно - опытные пользователи разберутся с этим и сами, я же рекомендую просто выбрать "Full Installation" - полную установку в том случае, если к этой машине будут подключаться. Если нет - выбираем "Viewer only" - только клиентская часть, чтобы иметь возможность подключаться с этого компьютера.
Если у вас установлена Windows Vista или 7, то установочник также предложит скачать дополнительные не-свободные компоненты, без которых под этими версиями Windows будет немного тормозить изображение и не будет возможности передать нажатия клавиш "ctrl+alt+del". Настоятельно рекомендую установить их, отметив галочку "Download Vista addons files now".
Далее установочник предлагает установить "Mirror Driver", при использовании которого обновление экрана происходит быстрее, а нагрузка на центральный процессор снижается в несколько раз. Рекомендую его установить, отметив галочку "Download the mirror driver". Следующий шаг особо важный, если вы устанавливаете программу вместе с серверной частью. Выбираем:
- "Register UltraVNC Server as system service" - зарегистрировать сервер как системную службу. Отмечаем, если хотим чтобы серверная часть запускалась сама при включении компьютера и работала в фоновом режиме.
- "Start or restart UltraVNC Server" - запустить или перезапустить серверную службу СЕЙЧАС (отмечаем, иначе для запуска службы придется перезапустить компьютер).
- "Create UltraVNC desktop icons" - создать значки на рабочем столе (на ваше усмотрение).
- "Associate UltraVNC Viewer with the .vnc file extension" - ассоциировать файлы .vnc с программой (желательно отметить).
- "UltraVNC Server driver install" - установка драйвера серверной части (отмечаем обязательно).
После завершения установки с серверной частью, нам предложат сразу же ее настроить. Не буду объяснять все пункты окна настройки - расскажу о самых важных: Раздел "Authentication":
- "VNC Password" - пароль для подключения (крайне рекомендую указать!).
- "View-Only Password" - пароль для подключения в режиме просмотра (только наблюдение без управления клавиатурой и мышью, крайне рекомендую указать!).
Раздел "File Transfer":
- "Enable" - для включения.
Раздел "Misc.":
- "Remove Aero (Vista)" - отключить эффекты Aero при подключении клиента. Крайне рекомендуется для повышения быстродействия.
- "Remove Wallpaper for Viewers" - Не показывать обои рабочего стола клиентам. Крайне рекомендуется для повышения быстродействия.
- "Capture Alpha-Blending" - отображать прозрачности. Не рекомендуется для повышения быстродействия.
- "Disable Tray Icon" - убрать значек в системной лотке (трее). Таким образом можно скрыть работу сервера.
"When Last Client Disconnects" - что делать когда все отключаются:
- "Do Nothing" - ничего не делать
- "Lock Workstation" - заблокировать экран
- "Logoff Workstation" - выйти из учетной записи
Все. Когда сервер настроен - можно к нему подключаться, причем как из Windows, так и из Ubuntu или любой другой системы, где установлен клиент VNC.
Для подключения к другой машине из Windows используйте ярлык UltraVNC Viewer: здесь нужно ввести IP-адрес или имя компьютера в локальной сети в поле "VNC Sever".
Также может быть интересна опция "View Only" - просмотр экрана без управления компьютером.
Вот в-принципе и все. Если честно, в начале написания этой статьи я и сам не ожидал что в голой только что установленной Ubuntu можно так легко и без проблем настроить удаленный доступ к рабочему столу. Как видите, это намного проще аналогичной задачи в Windows. Конечно вы можете возразить мне, сказав что у Windows есть свой собственный протокол удаленного управления рабочим столом RDP, который настраивается ее стандартными средствами - однако тут я с вами не совсем соглашусь. Во-первых RDP нельзя использовать таким же образом как и VNC для таких задач, как "удаленная помощь другу": при подключении к компьютеру удаленно, локального пользователя выкидывает из его учетной записи, или же удаленный пользователь должен работать в отдельной учетной записи. В то время как удаленные пользователи VNC работают с локальным в одном сеансе (не хватает только второго курсора =)), что позволяет демонстрировать выполнение каких-либо задач через сеть. Ну а во-вторых существуют прекрасные клиенты RDP для Linux, например - krdp, зато вот серверов RDP для других систем, отличных от Windows - нет, так что в плане кросс-платформенности решения от Microsoft, как обычно, остались позади.
О проблемах пишите в комментариях - буду дополнять и исправлять.