Лучшие RDP-клиенты для Linux
Remote Desktop Protocol – это специальный протокол, используемый для удаленного доступа в операционной системе «Виндоус». В последних версиях этой ОС по умолчанию установлены все необходимые программы, которые помогут обеспечить удаленный доступ к компьютеру. Однако для работы с ПК на базе Linux потребуется установка дополнительного ПО.
В нашем материале мы расскажем о лучших RDP-клиентах для Linux, которые подойдут для работы в графическом интерфейсе или в командной строке.
Подробнее об удаленном доступе
Такая функция позволяет подключаться к удаленной ОС на компьютере. Подключение выполняется при помощи сетевого соединения. То есть фактически вы можете управлять любым подключенным компьютером из своего текущего расположения.
Удаленный рабочий стол может использоваться для решения различных задач. Например, помощь в обучении, настройка компьютера другому пользователю, установка программного обеспечения и т. д. Для осуществления удаленного доступа необходим протокол – он выступает средством передачи команд с одного ПК на другой.
Клиенты для подключения удаленного доступа требуются, чтобы обеспечить более расширенные возможности, чем при использовании локальной сессии с удаленного устройства. Такие программы помогают получить доступ к ПК с поддержкой мыши и клавиатуры, аудио и передачей данных. Очень часто RDP-client уже присутствуют в системе: например, на Ubuntu можно найти несколько предустановленных версий самых популярных клиентов.
Apache Guacamole
Начнем наш обзор с уникального ПО. Apache Guacamole работает как отдельное приложение для просмотра удаленных рабочих столов, причем, можно одновременно работать в нескольких сессиях.
Сами разработчики называют свое приложение «шлюз для удаленного рабочего стола без клиента». Благодаря этому клиент работает прямо из браузера, то есть не потребуется устанавливать отдельные программы и плагины. Потребуется установить серверную версию на хост, а затем – получить к ней доступ из интернета. Клиент предоставляет полный API и различные расширения на основе кодовой базы.
TigerVNC
Первый RDP-client для Linux, о котором мы расскажем, это TigerVNC. Этот клиент считается высокопроизводительным и имеет открытый исходный код. Чаще всего используется отображения 3D и видеоприложений.
Архитектура приложения построена по типу «клиент-сервер», где для подключения клиента необходимо установить сервер на основной компьютер.
TigerVNC доступен не только для Linux, но и для Windows и MacOS. В том числе, ПО можно найти в официальных репозиториях дистрибутива Linux. Главное отличие от других клиентов удаленного доступа, имеет доступ только по протоколу VNC.
Gnome Connections
Gnome Connections – одна из последних утилит для обеспечения удаленного доступа к ПК. Приложение очень простое в работе и подойдет для поддержания удаленного подключения на различных протоколах (включая и RDP).
Из плюсов такого клиента для Remote Desktop на Linux можно назвать отсутствие настроек. Вам достаточно указать адрес и порт компьютера, а затем – включить или отключить масштабирование.
Программа пока находится на стадии разработок, поэтому нет настроек звука, разрешения экрана, буфера обмена и т. д. Однако уже сейчас ее можно скачать на ПК.
FreeRDP
Следующий клиент с открытым исходным кодом – это FreeRDP. Программа существует более 12 лет, лицензируется Apache 2.0. Нередко ее можно найти в различных дистрибутивах «Линукс».
С помощью ПО возможно подключиться к любому компьютеру с Windows, используя протокол RDP. Клиент поддерживает переадресацию принтеров, звука, буфера обмена, дисков и серийных номеров. При необходимости вы можете настроить ширину и высоту рабочей области, темы, обоев, шрифтов и другие параметры. Также для запуска доступен RemoteApps.
Rdesktop
При использовании удаленного рабочего стола на Linux нельзя не упомянуть Rdesktop. Это программа с открытым исходным кодом, которая используется для подключения к хостам Windows.
Разработка клиента началась более 20 лет назад, когда Microsoft только стали активно вводит протокол RDP. Изначально не было реализации открытого исходного кода, поэтому его пришлось разрабатывать отдельно. Rdesktop выпускается под лицензией GPL, совсем недавно клиент получил обновленную версию. Его можно скачать в официальных репозиториях дистрибутива.
Главным достоинством клиента Rdesktop обычно называют его небольшой вес – файл очень легкий, менее 500 Кб. Связано это с тем, что ПО запускается через командную строку, то есть не требует использования пользовательского интерфейса.
Remmina
Одним из лучших приложений для обеспечения удаленного доступа на Linux является Remmina. Это настольное приложение поддерживает различные протоколы: помимо RDP, вы сможете работать с VNC и SSH. Программа позволяет подключиться сразу к нескольким хостам и быстро переключаться между ними. Кроме этого, ПО поддерживает функцию снимков экрана, автоматическое масштабирование, шифрование, перенаправление, RDP и многое другое.
Программа доступна практически во всех дистрибутивах Linux (в том числе Linux Mint 20) работает на Raspberry Pi, поставляется в формате Snap и Flatpak. А вот для Windows и MacOS этот клиент использоваться не сможет.
Выводы
Как видите, есть множество альтернатив стандартным клиентам удаленного рабочего стола. ПО для подключения по RDP постоянно совершенствуются, и все чаще появляются новые версии для Linux. Так что возможно выбрать наиболее подходящую программу, ориентируясь на необходимые настройки.
Если у вас возникли сложности с подключением к удаленному рабочему столу, то специалисты нашей компании Xelent всегда готовы помочь с необходимыми настройками. Вы можете задать вопросы любым удобным способом!
Источник
Аналог RDP
Дорого времени суток. Нужен аналог мелкософтовского RDP. Пробовал vnc, xrdp, еще что-то, все с ходу не вспомню. Основная проблема в том, что если подключаюсь у удаленному компу (сейчас нужно на Kubuntu 16.04), то сессия на удаленном компе не блокируется. То есть все, что я делаю удаленно, видно та том компе. С xrdp вроде такое удалось избежать, но там что-то с русской раскладкой было хреново. Давно с этим копался, деталей сейчас не вспомню. А сейчас вышло, что я ушел в отпуск и тут такая ситуация, что мне возможно потребуется залезть удаленно, но что что бы там комп так и остался заблокированным, что бы моя удаленная сессия цеплялась к тому рабочему столу, что запущен, но физически на него не могли войти без ввода пароля. Короче все по аналогии RDP — только один клиент имеет доступ — либо удаленный, либо физически находящийся за компом. Какое решение лучше рассмотреть? Устанавливать все буду по ssh, так что если есть подводные камни, просьба упомянуть тоже
Ну можно просто иксы пробросить. Окошки будут видны только на х-сервере, то есть на мониторе, за которым ты сидишь. Из минусов — навороченные тулкиты тормозят, при отключении все программы умирают.
не вариант особо. Я протестировать не могу толком, т.к. 2 недели только удаленно
Часть вещей то я решу через виртулбокс, на котором винда запущена, многие через ssh, а тут пару вещей возникло, что к КДЕ рабочему столу может потребоваться. Есть там, конечно обходные камни, но они не то, что геморные, они возмодные, просто неудобные. Еще и в отпуске заниматься настройками вот реально влом. Пока просто и решил спросить про аналог.
FreeNX не смотрел? Так то тебе похоже не удаленный доступ к столу нужен, а терминал
Источник
Методы удаленного доступа к Linux GUI
В службу технической поддержки RUVDS регулярно обращаются по поводу GUI и удаленного доступа к нему на виртуальных серверах с Linux, несмотря на то что в интернете достаточно много материалов освещающих эту проблему. Поэтому, для наших пользователей мы решили собрать всё по этой теме в одну статью.
Введение
На всякий случай возможно стоит упомянуть, что SSH — основной способ предоставления доступа к линуксовым виртуалкам на RUVDS. Большая часть действий описываемых в этой статье будет осуществляться именно таким образом.
Для подключения необходимо найти SSH-клиент для вашей операционной системы.
- OpenSSH; если Вы пользуетесь Linux, например Ubuntu, скорее всего всё уже установлено, до нас, так что можно смело писать в терминале: ssh root@[IP].
- PuTTY есть и для Linux, в том числе в официальных репозиториях Debian и Ubuntu.
MAC OS:
Установка GUI
Итак, перейдем к установке GUI. Сначала нужно поставить графическую подсистему:
Для Debian/Ubuntu:
Далее следует установка Desktop Environment (DE). Их существует великое множество. Мы рекомендуем ставить на сервер более легковесные среды, а еще лучше, не ставить вовсе. Первые две DE достаточно компактные, функциональные и «привычные».
1. Xfce
Для Debian/Ubuntu:
Можно поставить дополнительно:
Добавление русской раскладки:
Сочетание клавиш можно менять на свое усмотрение, например:
Чтобы эта команда запускалась каждый раз при запуске LXDE, нужно добавить в конец файла с помощью вашего любимого vi строку: @setxkbmap -option grp:switch,grp:ctrl_shift_toggle,grp_led:scroll us,ru. Или вот так…
Следующие две DE являются чрезвычайно легкими. Если уж GUI нужен на сервере, вероятно, стоит использовать именно их.
3. FluxBox
Для Debian/Ubuntu:
4. Openbox
Для Debian/Ubuntu:
Далее следуют наиболее популярные на десктопах графические оболочки.
5. Gnome
Для Ubuntu/Debian:
Замечание: с настройкой VNC-сервера под Gnome что-то пошло не так… Сервера из репозиториев tightvncserver и vnc4server так и не согласились сотрудничать, поэтому пришлось собрать пару deb-пакетов руками. Если у Вас не получится настроить сервер, то мы можем порекомендовать скачать собранный нами архив с tigervnc-server’ом и поставить его. Для этого:
7. Cinnamon
Для Debian/Ubuntu:
Если Вы хотите получать доступ к GUI через «Аварийный режим», то необходимо сделать следующее:
Мало того, необходимо обеспечить запуск графической оболочки при старте системы. Для этого можно установить какой-нибудь экранный менеджер (Display Manager, DM), например:
Или в случае с CentOS:
Если необходимости в доступе из личного кабинета нет, то следует выполнить:
Заметка: Ubuntu предлагает своим пользователям несколько метапакетов для более удобной установки нужной DE:
Далее, есть много способов получить удаленный доступ к GUI.
Удаленный доступ
На виртуальном сервере, в зависимости от OS нужно произвести следующие действия.
Далее, если вы используете Windows, подключаемся через встроенный RDP-клиент, Remote Desktop Connection (Подключение к удаленному рабочему столу).
Стандартный порт 3389. Для Linux есть масса клиентов которые можно установить из репозиториев: freerdp и remmina, gnome-rdp, vinagre и т.п.
Также можно пробросить RDP-шный трафик через SSH-туннель. Для этого нужно поправить конфигурационный файл xrdp:
В секцию [globals] нужно добавить строку: address=127.0.0.1
Проверить, что всё правильно, можно так:
Затем если вы используете cygwin или mingw, linux или mac os:
Запустите PuTTY. В древовидном меню слева Connection → SSH → Tunnels. Далее добавляем новый Forwarded Port (Source port: 3389, Destination: localhost:3389). Нажимаем Add.
Далее следуете в секцию Session. Вводите IP вашего сервера в поле Host Name (or IP address). Нажимаете кнопку Open, вводите пароль для подключения по SSH.
Далее для Windows:
- Можно использовать вышеупомянутый клиент: remmina
- Если в браузере хотите: novnc — HTML5 VNC client
- И ещё куча всяких разных: directvnc, gnome-rdp, krdc, xtightvncviewer, vinagre, xvnc4viewer
Для MAC OS:
OS X предоставляет для этого встроенное приложение Screen Sharing. Можно также использовать Safari
Сервер: На Вашей виртуальной машине установите VNC сервер:
Если на Вашей системе работает файрвол необходимо открыть соответствующие порты. Пример для CentOS
При возникновении проблем с отображением иконок и шрифтов при использовании xfce4 по Ubuntu/Debian:
Если вы хотите, чтобы VNC-сервер стартовал автоматически, создайте файл:
Со следующим содержимым:
Теперь можно подключиться, например, через UltraVNC. Для этого нужно запустить UltraVNC Viewer, в поле VNC Server записать [IP]::5901 (по-умолчанию: 5901, 5902 и т.п. для первого дисплея, второго и т.д. соответственно) и нажать на кнопку подключиться.
Также можно пустить vnc-шный трафик через ssh-туннель. Для этого отредактируйте:
Затем если вы используете cygwin или mingw, linux или mac os:
Если PuTTY:
Запустите PuTTY. В древовидном меню слева Connection → SSH → Tunnels. Далее добавляем новый Forwarded Port (Source port: 5901, Destination: localhost:5901). Нажимаем Add.
Далее следуете в секцию Session. Вводите IP вашего сервера в поле Host Name (or IP address). Нажимаете кнопку Open, вводите пароль для подключения по SSH.
Затем открываете UltraVNC Viewer и в поле VNC Server вводите: localhost::5901 после чего подключаетесь.
Также можете попробовать другие VNC-сервера:
x11vnc — фактически VNC-сервер (как vnc4server или tightvnc), но позволяет получать доступ к уже существующей X-сессии. Т.е. если Вы настроили графическую оболочку таким образом, что она запускается при старте системы, то можно использовать следующий вариант:
После подключения по VNC (на порт 5900) Вы должны увидеть тоже что и в «Аварийном режиме».
Для старта x11vnc при запуске OS необходимо проделать следующее:
Теперь немного поинтереснее. Одна замечательная компания NoMachine разработала отличный протокол NX на замену VNC. Клиенты для подключения по этому протоколу бесплатны, а официальное серверное ПО от NoMachine стоит много денег. В свое время, эта же компания поддерживала проект FreeNX работы на котором со временем затихли; текущая версия 0.7.2 от 2008-08-22. Но, к счастью, нашлись люди создавшие форк и назвавшие его x2go. К сожалению, x2go не совместим ни с NX от NoMachine, ни с freeNX. Так что клиент берем тут.
Установка сервера на Debian (источник):
Для примера поставим эту DE:
Далее следуем инструкциям с оффициального сайта:
Вывод следующей команды должен показать, что x2go готов к работе:
А теперь важный момент, подключиться без этого фикса не получится! Нужно найти в файле .profile строку «mesg n» и заменить её на «tty -s && mesg n».
Следующая команда выведет путь до исполняемого файла startfluxbox, понадобится при настройке клиента:
Установка сервера на Ubuntu:
А теперь важный момент, подключиться без этого фикса не получится! Нужно найти в файле .profile строку «mesg n || true» и заменить её на «tty -s && mesg n».
Установка сервера на CentOS:
Клиент для линукс ставится из вышеприведенных репозиториев следующей командой:
Для Windows — скачиваем, ставим, запускаем. По той же ссылке, приведенной выше, есть клиент для OS X.
В настройках сессии указываем: в поле Host — IP вашего сервера, в поле Login — root, порт оставляем как есть, session type — тот GUI который ставили.
Как вы можете видеть, есть возможность аутентификации по ключу. В общем много всякого. Посмотрите сами. И звук можно через PulseAudio выводить.
После нажатия Ok вы увидите вот такие вот очаровательные штучки, на которые нужно нажать для получения запроса на ввод пароля и подключения к выбранной сессии:
Замечание: обратите внимание, что в списке нет Вашего любимого FluxBox’а поэтому путь к нему приходится прописывать руками.
Важной возможностью x2go является возможность запуска любого графического приложения вообще без установки DE. Для этого в настройках сессии нужно в секции session type нужно выбрать пункт single application и выбрать выполняемое приложение или ввести путь к программе которую следует запустить.
В этом случае установка ПО на сервер будет выглядеть следующим образом. В случае с Ubuntu:
А теперь важный момент, подключиться без этого фикса не получится! Нужно найти в файле .profile строку «mesg n || true» и заменить её на «tty -s && mesg n».
И настроив сессию как показано ниже, можно будет запустить браузер на удаленном сервере, а на вашей машине откроется окно его отображающее:
Или так; тогда просто откроется окно терминала:
Ниже вы можете видеть скриншот окна статуса текущей сессии. Оранжевыми цифрами отмечены кнопки:
- «Suspend session» — после нажатия на эту кнопку соединение будет разорвано, но сессия останется и будет ожидать повторного подключения. Все запущенные вами на сервере приложения продолжат свою работу;
- «Terminate session» — после нажатия подключение к серверу будет разорвано, а запущенные вами на сервере приложения будут завершены.
TeamViewer
Последний способ удаленного доступа к рабочему столу.
Установка на Ubuntu:
Установка на Debian:
Установка на CentOS:
Также необходимо принять лицензионное соглашение TeamViewer’а, это можно сделать с помощью «Аварийного режима», либо добавить следующие строки в конец файла /opt/teamviewer/config/global.conf:
Следующая команда покажет состояние демона TeamViewer’а и необходимый для подключения девятизначный TeamViewer ID:
После запуска клиента скачанного тут, нужно ввести TeamViewer ID в поле Partner UD и нажать на кнопку «Connect to partner». Далее TeamViewer запросит пароль: [PASSWD].
Источник