Библиотека сайта rus-linux.net
Удаленный рабочий стол в Linux
Оригинал: Setting Up Remote Graphical Desktops on LinuxАвтор: Eric Geier
Дата публикации: 20 декабря 2010 г.
Перевод: Д.Оводов
Дата перевода: январь 2011 г.
Установка сервера и клиента RDP в Linux
Существует две наиболее популярные технологии работы удаленных рабочих столов: Virtual Network Computer (VNC) и Remote Desktop Protocol (RDP). VNC в своей работе использует протокол Remote FrameBuffer (RFB). Этот протокол используется на различных платформах, и, как следствие, существуют как серверные, так и клиентские приложения с открытым исходным кодом для Linux, Windows и Mac OS X. RDP же был разработан корпорацией Microsoft и он - единственный протокол такого рода, используемый по умолчанию в Windows.
На первый взгляд, открытый исходный код, платформонезависимость и функциональные преимущества делают VNC лучшим вариантом. Однако если в вашей организации в первую очередь используется продукция Microsoft, RDP может стать решением еще лучше, нежели VNC, даже на компьютерах с Linux. Установить сервер и клиент RDP на небольшом количестве компьютеров с Linux намного проще, чем ставить серверные и клиентские приложения VNC на каждый компьютер, на котором установлена Windows, тем более если таких компьютеров достаточное количество.
В данном руководстве мы рассмотрим, как добиться поддержки RDP в Linux. Мы установим RDP сервер, и, таким образом, пользователи Windows смогут использовать стандартное Подключение к удаленному рабочему столу, чтобы подключиться к Linux-машинам. А затем мы установим RDP клиент, и пользователи Linux смогут подключаться к удаленным компьютерам как с Windows, так и с Linux.
Установка сервера xrdp
Мы будем использовать сервер с открытым исходным кодом - xrdp. Он отображает новый экземпляр всего графического интерфейса, используя Xvnc или X11rdp. Помните, что удаленный пользователь не будет видеть никаких приложений или окон, открытых на текущем рабочем столе, для него это будет чистый рабочий стол. Если вы хотите, чтоб пользователь получал доступ к текущей сессии, то вам нужно установить x0vncserver.
Конечно, первое, что вы должны сделать, - найти пакет xrdp для вашего дистрибутива Linux и установить его и все родительские зависимости при помощи менеджера пакетов. Но также вы можете скачать исходный код и самостоятельно скомпилировать сервер.
После того, как xrdp будет установлен, он автоматически будет готов принимать входящие соединения. Однако если у вас установлен firewall, то необходимо сначала убедиться, что подключение на TCP-порт 3389 разрешено. Также, чтобы соединяться с этим компьютером, находясь вне рабочей сети, необходимо настроить перенаправление портов на роутере.
Если вы хотите разрешить удаленное соединение через Интернет к нескольким компьютерам из одной сети, для этого необходимо изменить порт xrdp-сервера на всех (или на всех, кроме одного) компьютерах. Также надо редактировать настройки портов и на компьютерах с Windows, принимающих RDP-соединения, если, конечно, такие компьютеры имеются. Удаленные пользователи должны указывать номер порта нужного компьютера в настройках соединения, и тогда роутер сможет понять, на какой компьютер перенаправлять соединение. И не забудьте открыть необходимые порты в firewall, если он установлен. Когда присваиваете номера портов, можете, например, начать со стандартного - 3389 и дальше пойти по порядку: 3390, 3391 и т.д.
Чтобы изменить стандартный порт xrdp, откройте файл /etc/xrdp/xrdp.ini
(могут понадобиться права суперпользователя), отредактируйте параметр port
в секции [globals]
и перезапустите xrdp следующей командой (также потребуются права суперпользователя):
# /etc/init.d/xrdp restart
Microsoft предоставляет инструкции по редактированию параметров реестра для изменения стандартного порта, используемого в Windows.
Другой способ обеспечить RDP-подключение к разным компьютерам - установить xrdp сервер на одном компьютере с Linux (порт стандартный), затем установить обычные сервера VNC на все остальные компьютеры в локальной сети, все со стандартным портом VNC. Таким образом, когда удаленные пользователи будут подключаться по RDP, они получат окно xrdp, где смогут указать локальный IP-адрес необходимого компьютера для подключения к нему через VNC. В этом случае только один порт должен быть открыт для доступа из сети Интернет и правильно сконфигурирован в настройках роутера.
Подключение к серверу xrdp
Теперь пользователи должны иметь возможность подключиться к необходимому компьютеру. В Windows можно использовать стандартную программу Microsoft - "Подключение к удаленному рабочему столу", а в Linux - rdesktop и tsclient, которые мы чуть позже установим.
Номер порта может быть указан следующим образом: после IP-адреса или доменного имени ставится двоеточие, а после него пишется номер, например: 192.168.0.100:3390. Если же вы не настраивали порты самостоятельно или соединяетесь по стандартному порту (3389), просто введите IP или домен, опустив при этом двоеточие и номер порта.
После соединения через RDP пользователи увидят окно авторизации xrdp, где необходимо ввести имя пользователя и пароль пользовательского аккаунта. Если в вашей локальной сети имеются другие сервера, то вы можете соединиться и с ними, выбрав другой пункт меню Modules.
Установка клиентской программы rdesktop и фронт-энда к нему - tsclient
Если вы хотите, чтобы пользователи Linux тоже могли соединяться с компьютером, на котором установлен RDP-сервер, необходимо установить клиент RDP, такой как rdesktop. После этого можно также установить и GUI к нему, например, tsclient. Найдите и установите пакеты этих приложений для вашего дистрибутива. После установки можно запустить Клиент терминального сервера (tsclient) и с его помощью соединиться с нужным компьютером. Для этого достаточно просто ввести IP-адрес или доменное имя и, если требуется, номер порта после двоеточия, как и в клиенте Microsoft.
Дополнительная справочная информация
Если вам требуется дополнительная справочная информация, посетите сайты xrdp, rdesktop и tsclient. Также вы можете получить больше информации из руководства посредством команд в терминале Linux:
- man xrdp
- man rdesktop
- man tsclient
Эрик Гейер - основатель компании NoWiresSecurity, предоставляющей стороннюю поддержку RADIUS/802.1X для фирм, желающих защитить свои свои Wi-Fi сети при помощи корпоративного режима WPA/WPA2 шифрования. Также он является техническим писателем-фрилансером и автор множества работ по сетям и обработке данных для таких серий книг как For Dummies ("Для чайников") и Cisco Press.