Удаленный стол в linux

Обновлено: 09.05.2024

Удаленный рабочий стол позволяет подключиться к вашему компьютеру через интернет с помощью другого компьютера или даже смартфона. Вам может достаточно часто понадобится сделать что-то на другом компьютере, даже если вы не рядом с ним. Такая возможность есть и у Ubuntu.

В этой статье мы рассмотрим как настроить удаленный рабочий стол в Ubuntu 20.04, а также как подключиться к нему с помощью различных устройств. В качестве протокола удаленного доступа мы будем использовать VNC, он медленный и уже устаревший, но зато везде поддерживается. В Ubuntu почти все программное обеспечение уже установлено по умолчанию, вам остается только изменить несколько настроек.

Удаленный рабочий стол VNC в Ubuntu

Как я уже сказал, в качестве протокола удаленного доступа мы будем применять VNC. А в качестве сервера - стандартный VNC сервер Ubuntu. Надо только немного его настроить.

Откройте главное меню, а затем запустите утилиту Параметры системы. Здесь откройте раздел Общий доступ:

Здесь кликните по пункту Общий доступ к экрану, чтобы открыть окно настроек:

Здесь надо включить переключатель вверху окна, затем напротив поля "Требовать пароль" введите пароль, который будет использоваться для подключения:


Настройки можно закрыть, удаленный рабочий стол Ubuntu настроен. И уже сейчас вы можете пытаться подключиться к вашему компьютеру с помощью другого дистрибутива Linux. Но есть еще один момент. Вы не сможете подключиться из Windows. По умолчанию включено обязательное шифрование. А это поддерживается не всеми клиентами. Чтобы отключить принудительное шифрование нужно установить dconf-editor:

sudo apt install dconf-editor

Затем откройте программу и перейдите по пути org.gnome.desktop.remote-access там сделайте этот пункт Disabled:

Теперь вы готовы тестировать подключение к удаленному рабочему столу Ubuntu. Откройте главное меню и найдите клиент удаленного подключения Remmina.

В строке подключения выберите протокол VNC, затем введите адрес, поскольку мы собрались проверять на локальной машине, то введите localhost, в других же случаях вам придется использовать IP адрес компьютера. Дальше нажмите "Подключиться":

Сразу же программа спросит у вас пароль чтобы получить удаленный доступ к компьютеру:

После этого вы увидите ваш рабочий стол. В случае с локальной машиной получится такая рекурсия:

Теперь самое время подключаться из другого компьютера. Вы можете использовать любой VNC клиент для Linux, Windows или Android и подключиться к своему компьютеру если он находится в локальной сети. Кроме того, вы можете получить к нему доступ даже из Интернет создав частную локальную сеть, например, с помощью hamachi или OpenVPN.

Удалённый рабочий стол RDP в Ubuntu

Если вам надо часто подключаться удалённо к Ubuntu из Windows, то лучше использовать протокол разработанный для Windows - RDP. Он тоже уже достаточно старый, но почти везде поддерживается. Для установки RDP сервера выполните:

sudo apt install xrdp

После установки убедитесь, что сервис запущен:

sudo systemctl status rdp

Затем вы можете подключатся к настроенному серверу из Windows стандартными средствами системы или из Linux с помощью утилиты Reminna как в предыдущем варианте, только протокол надо будет выбрать RDP вместо VNC.

В Windows откройте поиск и найдите там подключение к удалённому рабочему столу:


Введите IP адрес сервера, на котором запущен RDP клиент и к которому вы хотите подключится:


Затем нажмите кнопку Подключится и введите логин и пароль от пользователя в системе, к которой вы подключаетесь:


Теперь вы можете использовать RDP подключение.

Выводы

В этой статье мы рассмотрели как выполняется настройка удаленного рабочего стола Ubuntu 20.04, а также как получить к нему доступ с помощью других устройств. Все очень просто, даже проще, чем с тем же x11vnc, для которого нужно создать несколько конфигурационных файлов. Если у вас остались вопросы, спрашивайте в комментариях!

Использование RDP-клиентов в Linux

RDP-клиенты для Linux

Технология RDP (Remote Desktop Protocol) позволяет пользователям одинаковых или разных версий операционных систем совершать удаленное управление компьютером. Существуют специальные клиенты, отличимые от консольных утилит, где эта опция реализована через графический интерфейс, а это значит, что юзеру предоставляется полный вид рабочего стола, возможность взаимодействовать с клавиатурой и указателем мыши. В рамках сегодняшней статьи мы хотим рассказать об использовании популярных RDP-клиентов в Linux.

Используем RDP-клиенты в Linux

Сейчас существует не так много RDP-клиентов, поскольку имеются сложности в реализации технологии, которые связаны и с ее проприетарностью. Однако обычному юзеру на выбор предлагается не менее трех различных вариантов. Далее мы хотим рассказать лишь о самых популярных и надежных из них, а вы, отталкиваясь от инструкций, уже сможете инсталлировать подходящий клиент и производить подключение к серверу.

Вариант 1: Remmina

Remmina — самый популярный клиент удаленного рабочего стола, который по умолчанию предустановлен во многих дистрибутивах Linux. Однако зачастую его версия является устаревшей. Эта программа имеет простой и понятный GUI с огромным количеством вспомогательных инструментов. Освоить ее сможет даже начинающий пользователь, поэтому мы и поместили этот софт на первое место. Давайте пошагово разберем процедуру установки, настройки и подключения в Remmina.

Шаг 1: Установка

Начать следует с установки данного RDP-клиента в операционную систему. Как было сказано ранее, по умолчанию во многих дистрибутивах Remmina уже присутствует, но не помешает обновить ее версию, что не займет много времени.

Далее может потребоваться дополнительное подтверждение расширения занятого дискового пространства. После успешного завершения инсталляции можно переходить к использованию клиента. Если же вы желаете обновить версию, придется задействовать пользовательские хранилища, поскольку на официальные новые сборки не поступают. Реализация будет немного сложнее, а выглядит так:

Lumpics.ru

На этом инсталляция Remmina завершена. Старая версия будет автоматически замещена новой, следовательно, можно закрывать консоль и переходить к первому запуску программного обеспечения.

Шаг 2: Запуск и настройка

С запуском и конфигурацией Remmina разберется даже самый начинающий пользователь, а с последним поможет официальная документация. Однако мы все же хотим остановиться на основных моментах, чтобы при реализации этой задачи не возникло каких-либо трудностей.

Мы не будем останавливаться на каждом присутствующем пункте детально, поскольку разработчики предоставляют официальную информацию по каждой опции, а также интерфейс Remmina имеет русский язык, что поможет самостоятельно во всем разобраться.

Шаг 3: Создание профиля и подключение

После установки оптимальной конфигурации Remmina остается только создать профиль для подключения, используя рассматриваемый протокол, чтобы успешно соединиться с удаленным рабочим столом. Мы предлагаем разобрать основной принцип этой процедуры.

Теперь остается только приступить к взаимодействию с удаленным рабочим столом, выполняя там необходимые действия. Если у вас возникли какие-то вопросы по управлению Remmina, обратите особое внимание на документацию: там в максимально развернутом виде описаны ответы абсолютно на все вопросы пользователей.

Вариант 2: rdesktop

Следующий инструмент под названием rdesktop не является таким популярным среди начинающих пользователей, поскольку все настройки производятся через консоль путем ввода соответствующих команд. Однако это решение стало востребованным среди профессионалов и любителей консольных утилит.

Шаг 1: Установка rdesktop

Вкратце остановимся на самой процедуре инсталляции rdesktop. Данная программа доступа в официальных хранилищах дистрибутивов, благодаря чему юзеру не потребуется скачивать дополнительные файлы или пакеты.

Если используемый дистрибутив основан не на Debian, аргумент apt-get в команде инсталляции придется заменить на yum или pacman. В остальном же никаких различий со сборками Linux не имеется.

Шаг 2: Запуск и подключение

Если в консоли просто вписать команду rdesktop , следующими строками отобразится краткая сводка о синтаксисе и доступных опциях. Мы рекомендуем изучить появившиеся сведения, чтобы понять, как именно осуществляется соединение с удаленным рабочим столом через эту утилиту.

Информация об опциях и синтаксисе команды rdesktop в Linux

После этого можно осуществлять непосредственное подключение к другому компьютеру. Давайте разберем этот процесс на примере строки rdesktop -z -P -g 1280x900 -u USERNAME -p PASSWORD SERVER_IP .

Ввод команды для подключения к удаленному рабочему столу через rdesktop в Linux

Здесь следует детально рассмотреть абсолютно каждый аргумент и вписываемую информацию.

  • -z . Эта опция отвечает за активацию сжатия потока. Используйте ее для оптимизации соединения. Особенно актуально для систем с низкой скоростью интернета.
  • -P . Создает кэширование. Это помогает сохранять некоторую информацию на локальном хранилище, в будущем не обращаясь каждый раз на сервер для ее загрузки.
  • -g . Устанавливает пользовательское разрешение окна рабочего стола. После этой опции введите необходимый параметр, чтобы он был применен.
  • -u . После этой опции укажите имя пользователя, которое будет отображаться на сервере.
  • -p . Данный аргумент необходим в случае присутствия пароля.
  • SERVER_IP . Всегда указывается в конце строки. Вместо этой надписи введите доменное имя сервера, к которому хотите осуществить подключение.

Шаг 3: Обмен файлами между Windows и Linux в текущей сессии

В завершение разбора утилиты rdesktop хотим рассказать об основных действия, выполняемых через ввод команд в консоли. Для начала поговорим о самых востребованных задачах, которые связаны с обменом файлов. Сетевая папка подключается через rdesktop -r disk:share=/home/documents -z -P -g 1280x900 -u USERNAME -p PASSWORD SERVER_IP , где все указанные опции и адреса замените на требуемые.

Команда для открытия общей сетевой папки через rdesktop в Linux

После ввода этой команды папка станет доступна для чтения и записи, что позволит всячески управлять находящимися там файлами. Однако если возникли проблемы с доступом, придется закрыть сессию, активировать команду chown -R /home/documents USERNAME:USERGROUP , а уже потом подключить директорию повторно.

Команда для предоставления доступа к сетевой папке для rdesktop в Linux

Шаг 4: Создание значка быстрого доступа

При изучении первого RDP-клиента вы могли заметить, что все профили сохраняются в таблице графического меню, что позволяет быстро соединяться и переключаться между ними. К сожалению, в rdesktop такая функция попросту отсутствует, поэтому остается только один альтернативный метод — ручное создание кнопки быстрого доступа для каждого сервера.

Создание текстового файла для значка запуска rdesktop в Linux

  1. В консоли создайте пустой текстовый файл с произвольным названием через удобный текстовый редактор. Сама команда обретет примерно такой вид: sudo nano rdesktop , где nano — используемый текстовый редактор, а rdesktop — название самого файла.
  2. При появлении окна вставьте две строки, указанные ниже, заменив опции и сведения о сервере на имеющиеся.

Все остальные опции и нюансы взаимодействия с rdesktop, о которых мы не поговорили выше, детально описаны в официальной документации или используются довольно редко, поэтому и не нуждаются в объяснениях.

Вариант 3: freerdp

freerdp — самый новый из всех известных RDP-клиентов, который только начинает набирать обороты. Управление им тоже осуществляется в консоли, а функций сейчас мало, поэтому мы и поставили этот вариант на последнее место.

Теперь предлагаем изучить все опции, которые вы увидели в предыдущей строке. Они немного схожи с теми, что применялись во втором варианте при взаимодействии с клиентом rdesktop, но и имеют свои особенности.

Выше вы получили общую сводку о трех различных RDP-клиентах для Linux. Как видите, все они имеют свои особенности и подойдут разным пользователям. Каждый из них может соединяться с Windows, поэтому вся сложность выбора заключается лишь в различиях управления и реализации графического интерфейса окна показа удаленного рабочего стола.

Мы рады, что смогли помочь Вам в решении проблемы.

7 лучших клиентов удаленного доступа в Linux

Опытные пользователи Unix-систем часто говорят о SSH и командной строке, как об инструментах получения доступа к графическому рабочему столу, но существуют отдельные приложения для данной цели в Linux

Контроль над удаленным компьютером может рассматриваться как акт агрессии, но иногда он просто необходим.

Известны случаи, когда пользователи используют удаленные сессии для уже используемой машины (звучит необычно, но имеет место быть для организации работы с несколькими рабочими столами). Большинство пользователей не знают, когда именно им понадобится данная функциональность.

Опытные пользователи Unix-систем часто говорят о SSH и командной строке, как об инструментах получения доступа к графическому рабочему столу, но существуют отдельные приложения для данной цели.

Портал Techradar протестировал систему VNC и ее функции во многих клиентах. Тем не менее, существуют другие протоколы и виды доступа к удаленному рабочему столу. Растущая популярность подобных клиентов заключается в поддержке нескольких протоколов передачи, поэтому независимо от типа используемого сервера и целевой машины, Вы найдете подходящее решение.

Исследователи придерживались принципа справедливой оценки различных протоколов. Например, NoMachine NX поддерживает подключения VNC, но он проверялся в связке с собственным сервером NX, что вполне разумно.

Клиент TightVNC не тестировался, потому что он очень схож с реализацией TigerVNC. Оба продукта имеют одинаковую кодовую базу, но TigerVNC имеет несколько дополнительных функций.

Как проходило тестирование

Ключевым элементом эффективного клиента удаленного рабочего стола является быстрый отклик на выполняемые операции. Идеальный интерфейс не будет так хорош, если вам нужно ждать по две минуты из-за каждой регистрации нажатия клавиш.

При тестировании проверялась способность удаленно воспроизводить игру Armegatron. В этой нетребовательная игре на OpenGL на обновление экрана требуются доли секунд времени. Результаты могут быть несколько субъективны, но данный способ оказался очень действенным при демонстрации отзывчивости клиентов.

Клиенты были протестированы совместно с локальным компьютером с 4-х ядерным процессором и 16 гигабайтами памяти в гигабитной локальной сети под Ubuntu 14.04.3. В качестве серверов использовался сервер X11 VNC и официальный сервер NX для клиентов NX. Функциональность на базе протокола RDP поддерживается некоторыми продуктами, но на практике не была протестирована.

Сами клиенты работали на виртуальной машине с 2-х ядерным процессом Core i7, 4Гб ОЗУ и Fedora 23.

RealVNC Viewer

RealVNC Viewer

RealVNC - это автономная программа для подключения к компьютерам по протоколу VNC. После загрузки, пользователь должен открыть терминал, перейти в директорию с программой и задать права доступа chmod 700 для запуска приложения.

Это родительская программа для TigerVNC, но содержит меньшее количество опции. Тем не менее, приложение умеет автоматически определять VNC сервера, упрощая и ускоряя подключение. Выберите “Опции”, и Вы сможете изменять размер окна, адаптируя его под ваш монитор, работать в полноэкранном режиме и переопределять автоматические параметры сжатия для принудительного отображения более 256 цветов.

Подключение выполняется быстро и просто, но производительность отстает от других просмотрщиков VNC в данном тесте. Фиксировались существенные замедления при работе с рабочим столом и при запуске Armegatron, которые оценивались примерно в полсекунды.

Технологии матричного растрирования или дизеринга затрудняли работу, когда происходили глюки, во время тестирования это наблюдалось несколько раз. Аналогичные проблемы наблюдались и с копиями RealVNC, которые включают меньшее количество опций. TigerVNC является отдельной ветвью развития кодовой базы VNC, поэтому содержит участки кода из RealVNC и TightVNC, хотя процесс разработки последних продолжается.

Таким образом, RealVNC напоминает менее эффективную версию TigerVNC и сработал в тестах не лучшим образом. Возможно поддержка передачи аудио потока улучшила бы мнение о продукте. Как бы то ни было, в случае непредвиденных обстоятельств, портативный автономный клиент будет отличным вариантом.

Вывод: далеко не самый быстрый клиент, но подойдет для случаев экстренного доступа.

Remmina

Remmina

Remmina не является официальным Gnome-клиентом, но определенно внешне очень напоминает рабочий стол Gnome со стилями GTK. Хорошо проработанные шаблоны работают отлично как на небольшом ноутбуке, так и на гигантском мониторе.

Минималистичный главный экран содержит панель инструментов и список доступных подключений. После подключения, открывается новое окно с отображением удаленного рабочего стола. Несколько подключений можно контролировать с помощью именованных вкладок.

Полезные элементы управления панели остаются видимыми на протяжении всего подключения, позволяя очень быстро масштабировать окно, чтобы заполнить доступное пространство монитора, перейти в полноэкранный режим просмотра или даже раздельно изменять горизонтальную или вертикальную шкалы окна.

В отличие от некоторых клиентов, Вы не получите слишком детальный контроль над параметрами протокола, например, над сжатием, но Вы все еще можете выбирать цветовые режимы и переключаться между четырьмя уровнями качества, что является разумным способом управления пропускной способностью сети и использованием ресурсов ЦПУ. Управление подключениями и добавления подключений в закладки осуществляются интуитивно, хотя функция автоматического обнаружения отсутствует.

С точки зрения отзывчивости, Remmina поразила высокой производительностью во время тестирования в игре Armegatron - сложно было отличить работу игры на удаленном компьютере от локальной машины.

В Remmina Вам не доступны чат или функция передачи файлов для основных VNC подключений, но данная функциональность имеется для RDP ссылок, которые также поддерживаются клиентом совместно с NX (NoMachine NX и Free NX), XDMCP и SSH, что делает Remmina универсальным клиентом с поддержкой широкого набора протоколов.

Обратите внимание, что вам придется загрузить и установить дополнительные протоколы, включая VNC с помощью плагинов.

Вывод: отличные функции, отличная производительность, неясно, что можно улучшить.

TeamViewer

TeamViewer

TeamViewer является очень известным именем, и решение очень популярно среди корпоративных пользователей. Linux-версия приложения вышла из бета-стадии сравнительно недавно, на сайте предлагаются пакеты deb и rpm, но будьте осторожны - фактически это программа для Windows с оберткой в виде Wine.

Первым преимуществом, а может в некоторых случаях и недостатком является использование проприетраного протокола, который организует подключение к клиенту через управляющий центральный сервер.

Другое преимущество, связанное с большим количеством доступных клиентов, заключается в том, что пользователь может просматривать удаленную систему практически отовсюду, даже на заблокированных системах, в которых недоступно SSH подключение или даже на машинах с активными корпоративными фаерволами. Решение поддерживает Windows и Mac, а значит является простым способом управления машинами на различных ОС.

Команда TeamViewer серьезно поработала над улучшением производительности, а последняя версия обещает увеличить скорость работы в 15 раз по сравнению с предыдущими версиями. Armagetron работал также плавно, как и в случае с Remmina, радуя приличным качеством графики во время локального подключения.

Есть дополнительные преимущества использования проприетарного протокола. TeamViewer может работать с аудио-потоком, включает чат, функцию передачи данных и даже сервис IP-телефонии.

Соединения управляются раздачей PIN-кода на одной машине и ввода этого кода на другой машине, что не является безопасной мерой, но Вы всегда сможете создать аккаунт и настроить неконтролируемый доступ. Бесплатная версия доступна для некоммерческого использования, напоминание об этом появляется при завершении сеанса.

За последние несколько лет TeamViewer развился в привлекательную альтернативу традиционным подключениям VNC, особенно если Вам требуется кроссплатформенность.

Вывод: TeamViewer стал полноценным мощным продуктом, который является прекрасной альтернативой традиционным сервисам, несмотря на то, что программа не сильно приветствуется поклонниками открытого ПО.

TigerVNC

TigerVNC

Как только Вы запустите TigerVNC, Вы получите хорошее представление о том, кто создал данный продукт и почему. Небольшой всплывающий запрос предлагает выбрать сервер, к которому нужно подключиться - нет никаких закладок или списков подключенных серверов, поэтому Вам нужно знать целевой IP-адрес.

Хотя, если Вы зайдете на вкладку параметры, то найдете большое количество настроек, связанных с подключениями и протоколами. Программа автоматически определит оптимальные параметры для вас, но можно самостоятельно настроить степень сжатия и цветовую передачу.

Высокая степень сжатия позволит сэкономить пропускную способность сети, необходимую для эффективного рабочего стола и драгоценные ресурсы процессора. При тестировании с Vino и стандартными серверами VNC TigerVNC, отработал достойно, хотя подключение было недоступно, если пароль первоначально не был задан.

Если сравнивать с другими клиентами VNC, то продукт работал быстрее, чем Vinagre и был практически наравне с Remmina. Долговременные проблемы обновления в новой версии похоже отсутствуют - никаких обрезанных окон или искаженных фоновых изображений во время испытания не было зафиксировано.

Что касается времени отклика, как курсор мыши, так и нажатия клавиатуры работали быстро и стабильно. Функция масштабирования отсутствует, за исключением полноэкранного режима, поэтому при использовании небольших мониторов на локальной машине могут отображаться полосы прокрутки.

Клиент достаточно полнофункционален и был изначально предназначен для системных администраторов, но даже в этом случае некоторые элементарные удобства были бы очень кстати. Согласитесь, даже опытный IT-инженер не всегда хочет вручную вводить IP-адрес для подключения.

Вывод: множество различных опций и высокое быстродействие с одной стороны и некоторые недоработки интерфейса, и отсутствие дружественных пользователю аспектов, с другой стороны.

Vinagre

Vinagre

Хотя название приложения больше вызывает вкусовые ассоциации, данный просмотрщик удаленного рабочего стола можно найти в стандартном меню Gnome, потому что утилита фактически является составной частью рабочего стола Gnome. При запуске инструмента открывается обычное окно.

Панель справа отображает доступные сервера и закладки. Основная часть окна предназначена для подключения клиента к серверу, отображение может осуществляться в полноэкранном режиме или с помощью прокручиваемых окон с полосами прокрутки.

Если Вы открываете несколько сеансов с различными серверами, удаленные экраны появятся в нескольких вкладках. Закладки работают стабильно, но могут привести к путанице, потому что их сложно отличить от обнаруженных серверов.

Как и другие протестированные клиенты VNC, производительность программы зависит от сервера и активированных функций.

Vinagre тестировался в паре с сервером X11VNC и с Vino. Vino обладает графической оболочкой и является VNC сервером, разработанным для простого обмена экранами между компьютерами. Никаких проблем при подключении к удаленному экрану и при использовании параметров сервера Vino, в частности сжатия и глубины цвета, не наблюдалось.

Одной из любопытных проблем стала задержка обновления курсора. Скорее всего, не стоит связывать эту проблему с подключением, потому что все меню и графические элементы отображались практически мгновенно. Тем не менее, это очень неудобная проблема, ведь часто нужно знать, где находится курсор в любой момент времени.

При тестировании не удалось добиться нормальной работы Armagetron из-за потери управления с клавиатуры после запуска игры, что сделало невозможным оценку его возможностей. Это очень серьезная неприятность, а интерфейс приложения является одним из самых дружественных.

Вывод: простой в использовании клиент, работает неплохо до тех пор, пока не потеряете из виду курсор.

Krdc

Так как Vinagre тестировался в паре с сервером-компаньоном, при тестировании Krdc использовалось стандартное окружение KDE, как на клиентской, так на серверной стороне, а качестве сервера выступал Krfb сервер.

Несмотря на то, что в продукте реализованы аналогичные с остальными участниками тестирования протоколы VNC, данная комбинация оказалась худшей по отзывчивости после TeamViewer. Krdc работал гораздо лучше со стандартным VNC сервером и с X11VNC, чем с Krfb.

При отказе от Krfb, клиент Krdc работал совсем неплохо. При тестировании в Armegatron время отклика было на одном уровне с конкурентами. Отзывчивость и скорость передачи кадров были на высоте, даже в случаях, когда Krdc испытывал некоторые проблемы с искажением фоновых изображений.

Для изменения опций отображения доступна кнопка для переключения полноэкранного и масштабируемого режимов просмотра. Поддерживаются вкладки для одновременного отображения нескольких подключений, и имеется боковая панель справа, отображающая закладки, недавние подключения и обнаруженные в локальной сети сервера.

Сам клиент также включает большое количество настроек, но параметров настройки подключения не так много - пользователь может настроить высокую, среднюю или низкую скорости подключения, а программа сама подбирает оптимальные настройки для каждого режима. Это ограничивает возможности и может раздражать пользователей.

Тем не менее, работа с Krdc была лишена каких-либо затруднений. Клиент поддерживает протокол RDP, используемый для удаленного доступа к системам Windows. При добавлении плагина NX решение могло бы быть еще более полезным. Если Вы работаете в KDE, и вам нужен клиент VNC для редких случаев, нет убедительных причин для отказа от Krdc.

Вывод: в паре с Krfb фиксируется низкая производительность, но клиентская сторона при этом отличается высокой эффективностью.

NoMachine NX Client

NoMachine NX Client

NoMachine стремится вернуть былое величие, но серьезное нагромождение возможностей не учитывает самый главный аспект- взаимодействие сервера и клиента. Подход приложения отличается от других стандартных просмотрщиков VNC.

Протокол NX работает по SSH. Эта мера добавляет безопасность и другие преимущества, которые не свойственны протоколу VNC. Продукт использует интеллектуальные методы шифрования и сжатия данных, оптимизировано использует кеш для экономии пропускной способности сети. Если Вы хотите сохранить полосу пропускания, можно пойти на другие хитрости, например, использовать аудио-поток хост-машины для передачи.

Преимущество использования SSH заключается в том, что, если Вы используете учетную запись на целевой машине, можно просто авторизоваться и запустить новый сеанс. Захватить уже запущенный экран является трудной задачей, хотя NoMachine может справляться с ней с помощью стандартного подключения VNC путем запуска параллельного сеанса (так называемой Shadow сессии).

Сессии Shadow работают стабильно и, в зависимости от настроек, удаленная машина может автоматически подтвердить подключение. Как правило, в этом случае подключение работает медленнее, чем при разделении на потоки собственного сеанса.

Также, как и VNC, NoMachine также поддерживает RPC для машин Windows с аналогичным интерфейсом, что позволяет использовать программу в качестве основного инструмента удаленного доступа. Хотя клиентское ПО позволяет настраивать подключения и сохранять настройки, оно понравится не всем пользователям.

NoMachine не поддерживает просмотр в отдельных вкладках и несколькодругих удобных функций, и Вам придется настраивать сеансы в различных запускаемых во время сессий приложениях. Но все эти недостатки теряют силу, когда Вы видите программу в действии.

NX на протоколе NX дает наилучшую производительность, а полная кроссплатформенность с поддержкой Mac и Windows делает клиент отличным выбором, несмотря на некоторые ограничения бесплатной версии.

Вывод: подключения NX позволяют воспроизводить звук и позволяют быстро работать даже с требовательными приложениями

Окончательный вывод

Опустив реальные проблемы некоторых клиентов, заметим, что существует целое противоборство идеологий программ удаленного доступа для Linux. Надо признать, что NoMachine, несмотря на отказ от стандартных технологий VNC превосходно справляется со своей задачей.

При тестировании, игра на графической платформе OpenGL работала шустро, и в нее можно было комфортно играть. NoMachine может быть довольно сложен в настройке, зато в работе он проявил себя лучше большинства конкурентов. Протокол NX еще можно совершенствовать, но клиентское ПО обладает широкими возможностями.

Утилита Krdc из стандартного набора KDE отработала тоже хорошо, несмотря на катастрофические результаты при тестировании с сервером-компаньоном. Возможно, для многих пользователей Krdc это будет серьезной проблемой, ведь по умолчанию они могут использовать эту пару вместе, разочаровавшись в производительности. Если Вы работаете с рабочими столами KDE и нуждаетесь в простом клиенте VNC, вероятно вам стоит подыскать другой вариант.

TeamViewer был серьезно улучшен за последние годы. Он стал быстрым, отзывчивым и простым в использовании. Дополнительные возможности, а именно IP-телефония и чат делают программу отличным выбором для пользователей, которым важно коммуникативное взаимодействие с удаленными пользователями. Программа имеет закрытый исходный код и не поставляется с системой, что может разочаровать ряд пользователей.

Remmina показал образцовую производительность - только TigerVNC сработал быстрее, но это еще не все достоинства программы. Remmina продемонстрировал лучшие показатели отзывчивости среди всех клиентов. Таким образом, при использовании решения Вы сможете взаимодействовать с удаленной машиной как с компьютером в локальной сети.

Более того, клиент имеет лучший набор функциональных возможностей, а также продуманный и дружественный интерфейс. Хотя поддерживается разделение на несколько окон, элементы управления всегда остаются доступны.

Remmina поддерживает протокол NX, отлично справляется с обнаружением серверов и сохранением подключений и в конечном итоге становится лидером тестирования программ удаленного доступа для Linux.

Лучшие RDP клиенты для Linux

Протокол RDP или Remote Desktop Protocol - это основной протокол удалённого доступа в операционных системах семейства Windows. В современных версиях Windows уже по умолчанию предустановлено всё необходимое программное обеспечение для обеспечения доступа к вашему компьютеру удалённо, а также для удалённого подключения к другим компьютерам с Windows.

Для операционных систем на базе ядра Linux было разработано несколько свободных клиентов, реализующих поддержку протокола RDP. В этой статье мы собрали лучшие клиенты RDP для Linux, работающие как в графическом интерфейсе, так и в командной строке.

Лучшие RDP клиенты в Linux

1. Remmina


Для этой операционной системы существует не так много клиентов и это лучший клиент RDP для Linux. У программы есть удобный графический интерфейс, множество различных настроек, возможность сохранения ярлыков для быстрого подключения к удалённым узлам с нужными вам настройками. Но автоматически ярлыки не сохраняются, вам надо будет делать это вручную. Кроме протокола RDP поддерживается VNC и SSH. Программа разрабатывается в рамках проекта FreeRDP, с использованием библиотеки GTK. Есть порт на Qt. Разрабатывается достаточно активно и новые версии выходят раз в несколько месяцев. Для установки достаточно выполнить команду:

sudo apt install remmina

2. Gnome Connections


Это совсем новая утилита, разработка которой стартовала в начале 2020 года. Connections - очень простое приложение, сделанное специально для Gnome и предназначенное для управления удалёнными подключениями. Из протоколов поддерживаются RDP и VNC. В отличие от Remmina, настроек в утилите совсем нет, вы можете только указать адрес и порт компьютера, к которому надо подключится и включить или отключить масштабирование. И всё никаких настроек передачи звука, буфера обмена, захвата клавиш, разрешения экрана нет. Программа всё ещё находится в разработке, но её уже можно установить из Flathub:

flatpak install flathub org.gnome.Connections

А для запуска используйте команду:

flatpak run org.gnome.Connections

3. Vinagre


Это ещё одно приложение для Gnome, которое раньше позиционировалось как программа по умолчанию для управления удалёнными соединениями в Gnome. Настроек здесь уже немного больше, по сравнению с Connections, но всё ещё меньше, чем у Remmina. При подключении вы можете выбрать протокол, имя пользователя и разрешение экрана, а также надо ли масштабировать рабочий стол удалённой машины. Из протоколов поддерживается RDP, SSH, SPICE и VNC. Программа довольно простая и свою работу выполняет, но разрабатывается уже не очень активно. Установить в Ubuntu можно командой:

sudo apt install vinagre

4. Xfreerdp


С полностью графическими клиентами RDP для Linux мы закончили. Но есть ещё несколько использующих консольный интерфейс. Первая из них - xfreerdp. Настроек здесь ещё больше чем у Remmina, но задавать их все надо в командной строке. Поддерживается только протокол RDP. Программа достаточно активно разрабатывается и поддерживает все необходимые новшества протокола RDP. Для подключения к серверу используется опция /v. Например:

xfreerdp /v:ip_сервера:порт /u:имя_пользователя

Для установки программы в Ubuntu используйте команду:

sudo apt install freerdp2-x11

5. Rdesktop


Последняя в нашем списке консольная утилита rdesktop. Это самая первая реализация клиента RDP для Linux. В далёком 2009 году, проект FreeRDP был создан на основе форка Rdesktop. Сейчас проект почти не развивается, а с 2019 года ищет мэйнтейнера. И у программы есть ещё одна проблема. В новых версиях Windows компания Microsoft добавила новую авторизацию NLA (Network Level Authentication). Программа Rdesktop её не поддерживает, поэтому если вы захотите использовать её для подключения к Windows, эту технологию стоит отключить. Или же вы можете использовать любую другую программу из перечисленных выше. Чтобы подключится к удалённой машине надо просто передать её адрес программе:

Для установки rdesktop выполните:

sudo apt install rdesktop

В этой статье мы разобрали лучшие программы для подключения по RDP из Linux, которые вы можете использовать для своей работы. Может некоторые из них не такие уже и лучшие, но других у нас нет. А каким клиентом пользуетесь вы? Напишите в комментариях!


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

VPS на Linux с графическим интерфейсом: запускаем сервер RDP на Ubuntu 18.04



В предыдущей статье мы разобрали запуск сервера VNC на виртуальной машине любого типа. У этого варианта масса недостатков, основным из которых являются высокие требования к пропускной способности каналов передачи данных. Сегодня мы попробуем подключиться к графическому рабочему столу на Linux по RDP (Remote Desktop Protocol). Система VNC основана на передаче массивов пикселей по протоколу RFB (Remote Framebuffer), а RDP позволяет отправлять более сложные графические примитивы и высокоуровневые команды. Обычно он используется для организации служб удаленных рабочих столов в Windows, но серверы для Linux также доступны.

Оглавление:

Установка графического окружения

Мы возьмем виртуальную машину с Ubuntu Server 18.04 LTS с двумя вычислительными ядрами, четырьмя гигабайтами оперативной памяти и жестким диском (HDD) на двадцать гигабайт. Более слабая конфигурация плохо подходит для графического десктопа, хотя это зависит от решаемых задач. Не забывайте использовать промокод Habrahabr10 для получения скидки в 10% при заказе.


Установка окружения рабочего стола со всеми зависимостями выполняется следующей командой:


Как и в предыдущем случае, мы выбрали XFCE из-за относительно невысоких требований к вычислительным ресурсам.

Русификация сервера и установка ПО

Часто виртуальные машины разворачиваются только с английской локализацией. На десктопе может потребоваться русская, настроить которую несложно. Сначала установим переводы для системных программ:


Того же эффекта можно достичь, отредактировав вручную файл /etc/default/locale.

Для локализации GNOME и KDE в репозитории есть пакеты language-pack-gnome-ru и language-pack-kde-ru — они понадобятся, если вы будете использовать программы из этих сред рабочего стола. В XFCE переводы устанавливаются вместе с приложениями. Дальше можно инсталлировать словари:


Кроме того, инсталляция переводов может потребоваться для некоторых прикладных программ:


На этом подготовка окружения рабочего стола завершена, осталось настроить сервер RDP.

Установка и настройка сервера RDP

В репозиториях Ubuntu есть распространяемый свободно сервер Xrdp, которым мы и воспользуемся:


Если все прошло нормально, сервер должен запуститься автоматически:


Сервер Xrdp запускается с правами пользователя xrdp и по умолчанию берет cертификат /etc/ssl/private/ssl-cert-snakeoil.key, который можно заменить собственным. Для доступа на чтение файла нужно добавить пользователя в группу ssl-cert:


Настройки по умолчанию можно найти в файле /etc/default/xrdp, а все прочие конфигурационные файлы сервера лежат в каталоге /etc/xrdp. Основные параметры находятся в файле xrdp.ini, который можно не менять. Конфиг хорошо документирован, к тому же в комплекте имеется соответствующие manpages:


Осталось только отредактировать скрипт /etc/xrdp/startwm.sh, который исполняется при инициализации пользовательской сессии. Предварительно сделаем резервную копию скрипта из дистрибутива:


Чтобы запустить окружение рабочего стола XFCE, потребуется сценарий примерно такого содержания:


Обратите внимание: в скриптах лучше прописывать полный путь к исполняемым файлам — это хорошая привычка. Сделаем скрипт исполняемым и на этом настройку сервера Xrdp можно считать законченной:

Настройка межсетевого экрана

По умолчанию Xrdp слушает TCP-порт 3389 на всех интерфейсах. В зависимости от конфигурации виртуального сервера может потребоваться настройка межсетевого экрана Netfilter. В Linux это обычно делается с помощью утилиты iptables, но в Ubuntu лучше использовать ufw. Если IP-адрес клиента известен, настройка осуществляется следующей командой:


Разрешить соединения с любого IP можно так:


Протокол RDP поддерживает шифрование, но открывать доступ к серверу Xrdp из сетей общего пользования — плохая идея. Если у клиента нет фиксированного IP, для повышения уровня безопасности сервер должен слушать только localhost. Доступ к нему лучше настроить через туннель SSH, который безопасно перенаправит трафик с клиентского компьютера. Аналогичный подход мы использовали в предыдущей статье для сервера VNC.

Подключение к серверу RDP

Для работы с окружением рабочего стола лучше создать отдельного непривилегированного пользователя:

Добавим пользователя в группу sudo, чтобы он мог решать связанные с администрированием задачи. Если такой потребности нет, этот шаг можно пропустить:


Подключиться к серверу можно с помощью любого клиента RDP, включая встроенный клиент службы удаленных рабочих столов Windows. Если Xrdp слушает внешний интерфейс, никаких дополнительных телодвижений не понадобится. Достаточно указать в настройках соединения IP-адрес VPS, имя пользователя и пароль. После подключения мы увидим примерно такую картину:


После первичной настройки окружения рабочего стола мы получим полноценный десктоп. Как видите, он потребляет не так много ресурсов, хотя дальше все будет зависеть от используемых приложений.


Если сервер Xrdp слушает только localhost, на клиентском компьютере трафик придется упаковать в туннель SSH (на VPS должен быть запущен sshd). Под Windows можно использовать графический клиент SSH (например, PuTTY), а в UNIX-системах нужна утилита ssh:


После инициализации туннеля клиент RDP будет подключаться уже не к удаленному серверу, а к локальному хосту.

С мобильными устройствами сложнее: способные поднять туннель клиенты SSH придется покупать, к тому же в iOS и iPadOS фоновая работа сторонних приложений затруднена из-за слишком хорошей оптимизации энергопотребления. На iPhone и iPad поднять туннель в отдельном приложении не получится — потребуется приложение-комбайн, которое само умеет устанавливать соединение RDP через SSH. Такое, например, как Remoter Pro.

Менеджер сессий и сеансы пользователей

Возможность многопользовательской работы реализована непосредственно в сервере Xrdp и не требует дополнительной настройки. После запуска сервиса через systemd один процесс работает в режиме демона, слушает порт 3389 и взаимодействует через localhost с менеджером сессий.



Менеджер сеансов пользователям обычно не виден, потому что заданные в настройках клиента логин и пароль передаются ему автоматически. Если этого не произошло или при аутентификации возникла ошибка, вместо рабочего стола появится интерактивное окно для входа в систему.


Автоматический запуск менеджера сессий прописан в файле /etc/default/xrdp, а конфигурация хранится в /etc/xrdp/sesman.ini. По умолчанию выглядит она примерно так:


Здесь можно ничего не менять, стоит только запретить вход с правами root (AllowRootLogin=false). Для каждого авторизовавшегося в системе пользователя запускается отдельный процесс xrdp: если отсоединиться не завершив сеанс, пользовательские процессы по умолчанию продолжат работать, а к сеансу можно будет подключиться заново. Настройки можно изменить в файле /etc/xrdp/sesman.ini (секция [Sessions]).

Переключение раскладок клавиатуры

С двухсторонним буфером обмена проблем обычно не возникает, а вот с русской раскладкой клавиатуры придется немного пошаманить (русская локаль должна быть уже установлена). Отредактируем клавиатурные настройки сервера Xrdp:


В конец конфигурационного файла нужно добавить следующие строки:


Остается сохранить файл и перезапустить Xrdp:


Как видите, поднять сервер RDP на линуксовом VPS несложно, а в предыдущей статье мы уже разобрали настройку VNC. Помимо этих технологий, есть еще один интересный вариант: использующая модифицированный протокол NX 3 система X2Go. С ней мы разберемся в следующей публикации.

Читайте также: