Подключение linux к терминальному серверу windows

Наконец мы добрались до новой статьи из серии «Будни техпода», где мы просим кого-то из специалистов поддержки рассказать о наиболее популярных кейсах, а также...

Наконец мы добрались до новой статьи из серии «Будни техпода», где мы просим кого-то из специалистов поддержки рассказать о наиболее популярных кейсах, а также предложить то или иное решение для реализации поставленной задачи. В первой части мы рассмотрели вопрос проброса USB-накопителя на VDS-сервер. Во второй части мы попробовали развернуть чистый Android на виртуальном сервере Hyper-V. В этой статье мы поговорим о терминальном Linux, попробуем поднять на нём графическую оболочку, настроить RDP-соединение и установить базовое ПО, необходимое для комфортного взаимодействия с VDS. Не будем больше тянуть и передаём слово нашему специалисту поддержки.

Несмотря на популярность первых двух вопросов, они и рядом не стоят с вопросами про графический интерфейс на Linux. Очень много клиентов просто-напросто незнакомы с данной операционной системой и при заказе думают, что получат что-то аналогичное рабочему столу на Windows. Практически ежедневно встречаются вопросы вроде «Почему я не могу подключиться к серверу по RDP?», «Почему мой сервер не работает, а в аварийном режиме я вижу лишь чёрный экран?». Некоторые пользователи, кто знаком с этой системой, привыкли работать с её графической версией, и интересуются, предоставляем ли мы такие. Поэтому в данной статье хотелось бы рассмотреть установку графической оболочки и настройку системы для начала работы.

▍ Установка графической оболочки

Все основные настройки мы будем производить, подключившись к серверу по SSH. Для этого открываем командную строку (cmd) или терминал (в зависимости от вашей ОС) и вводим следующую команду:

  • ssh root@IP-адрес вашего сервера
  • пароль от сервера (во время ввода символы могут не отображаться — просто продолжаем вводить и жмём Enter).

В нашем случае root — это имя пользователя, по которому мы будем подключаться. Если вы заказываете сервер в нашей компании, то учётные данные для подключения вы сможете посмотреть во вкладке «Мои серверы» после авторизации на сайте.

После успешного подключения через SSH мы увидим примерно следующее:

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

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

Для установки самой оболочки нам необходимо поочерёдно выполнить следующие команды:

  • sudo apt update
  • sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils (в момент выполнения команды может потребоваться ввести «Y» для подтверждения установки).

Далее в открывшемся окне выбираем вариант gdm3, предложенный нам по умолчанию.

Процесс установки может занять длительное время (в нашем случае это около 10 минут).

Теперь нам необходимо настроить RDP-подключение к серверу. Для этого мы будем использовать Xrdp. Поочерёдно вводим следующие команды:

  • sudo apt install xrdp xorgxrdp
  • sudo adduser xrdp ssl-cert
  • cd /etc/xrdp
  • sudo mv startwm.sh startwm.sh.bak
  • sudo nano startwm.sh

У нас открылся файл startwn.sh, в который необходимо внести сценарий для запуска XFCE. Вносим следующие изменения, сохраняем и выходим из файла:

#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4

Далее выполняем следующие команды:

  • sudo chmod 755 startwm.sh
  • sudo systemctl restart xrdp
  • sudo ufw allow 3389

Теперь нам необходимо создать специальную учётную запись, через которую мы будем осуществлять подключение по RDP. В нашем случае эта учётная запись будет под именем rdp-user. Выполняем следующие команды:

  • sudo adduser rdp-user(система запросит новый пароль для этого пользователя, а также информацию о нём. Всё, кроме пароля, можно пропустить, нажав Enter. Заполняем и переходим далее)
  • sudo usermod -aG sudo rdp-user

Готово. Графический интерфейс успешно настроен, и мы уже можем подключиться к серверу по RDP, но этого всё ещё недостаточно для полноценной работы. К сожалению, встроенные браузер и терминал не работают при подключении через RDP. Поэтому, прежде чем подключиться к серверу, мы произведём установку некоторого дополнительного ПО, а также некоторые настройки сервера (Устанавливать представленное ниже ПО вы можете по желанию, но я настоятельно рекомендую установить браузер и терминал).

▍ Настройка ПО на сервере

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

  • su - имя нового пользователя

▍ Установка браузера на сервер

Первым делом скачаем и установим браузер. Здесь я приведу примеры установки браузеров Chrome и Firefox. Для установки Firefox вводим следующую команду:

  • sudo apt install firefox

В отличие от Firefox, для установки Chrome сначала нужно скачать установочный файл, а после запустить его. Для этого вводим следующие команды:

  • wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  • sudo dpkg -i --force-depends google-chrome-stable_current_amd64.deb

▍ Установка альтернативного терминала

По какой-то причине при подключении к серверу по RDP встроенный терминал не работает. Не уверен, особенность ли это конкретно нашего образа системы, или xrdp, но, посоветовавшись со специалистом, я пришёл к варианту установки альтернативной версии терминала. Мой выбор пал на терминал Guake. Для его установки вводим следующие команды:

  • sudo apt-get update
  • sudo apt-get install guake

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

  • sudo apt update --fix-missing
  • sudo apt install -f

После их выполнения возвращаемся к предыдущему шагу и производим установку терминала.

▍ Установка офисного ПО

Также помимо браузера и терминала для полноценной работы с документами на сервере необходимо офисное ПО. Наиболее популярным решением является Microsoft Office, но его лицензионная версия требует оплаты. Поэтому мы установим бесплатный аналог: WPS Office. Мы, конечно, можем использовать бесплатные облачные решения (например, Google Docs), но иногда это может быть не совсем удобным из-за необходимости выгрузки своих файлов в облако. Установка WPS Office потребует скачивание deb-пакета с официального сайта программы. Поэтому все последующие действия мы будем производить на сервере через RDP-соединение. Отключаемся от SSH-соединения и входим на сервер по RDP, указав в качестве пользователя rdp-user.

После подключения к серверу нам необходимо найти ранее установленные браузеры и терминал. Жмём на кнопку с изображением лупы (Application Finder) и с помощью поиска находим Firefox / Chrome и Guake. Для удобства можем перетянуть их на рабочий стол.

Открываем браузер, переходим по ссылке www.wps.com/ru-RU и скачиваем deb-пакет.

Далее открываем ранее скачанный терминал (первый запуск может занять некоторое время — после запуска иконка терминала будет отображаться в правом верхнем углу) и вводим следующие команды:

  • cd Downloads/
  • $ sudo dpkg -i wps-office_11.1.0.11664.XA_amd64.deb

Имя файла может отличаться и, как правило, зависит от версии, которую вы скачиваете с сайта.

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

▍ Установка терминала МТ4

Кроме базового ПО, очень часто клиенты интересуются о возможности установки МТ4 на сервер с ОС Linux. Поэтому сразу хотелось бы сказать — да, это возможно, и делается это также в пару кликов. Для установки терминала вводим команду:

  • wget https://download.mql5.com/cdn/web/metaquotes.software.corp/mt4/mt4ubuntu.sh ; chmod +x mt4ubuntu.sh ; ./mt4ubuntu.sh

▍ Смена языка системы

Некоторым пользователям может быть некомфортно работать с системой на английском языке. Для включения русского языка необходимо подключиться через SSH к пользователю root и выполнить следующие команды:

  • apt-get install locales
  • dpkg-reconfigure locales

В открывшемся окне находим ru_RU.UTF-8 UTF-8, жмём пробел для выбора и Enter.

Далее выбираем ru_RU.UTF-8.

Затем перезагружаем сервер.

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

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

Играй в нашу новую игру прямо в Telegram!

Для подключения с терминальному серверу по протоколу RDP используется клиент из проекта rdesktop.

Работа клиента rdesktop основана на протоколе RDP (Remote Desktop Protocol) — проприетарном протоколе Microsoft, используемом для удаленного доступа к рабочему столу Windows. 

Установка Rdesktop

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

rdesktop

Подключение к серверу терминалов rhinstuff из Linux

Если вы получили сообщение о том, что команда не найдена, то это означает. что по умолчанию у вас не установлена эта утилита и вам придется ее установить. Для Debian-based дистрибутивов (Ubuntu, Linux Mint) команда установки rdesktop будет выглядеть так:

Переключаемся с правами root и вводим команду

apt-get install rdesktop    

Подключение к серверу терминалов rhinstuff из Linux

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

rdesktop -z -P -g 1280x900 -u USERNAME -p PASSWORD SERVER_IP

Поясним:

  • -z включает сжатие потока
  • -P кэширование
  • -g задает геометрию окна. Вместо -g можно использовать ключ -f, тогда удаленный рабочий стол будет работать в полноэкранном режиме
  • -u имя пользователя на сервере
  • -p пароль

Следует оговориться — задание пароля в явном виде в качестве опции для rdesktop не является безопасным, так как он может быть просмотрен другими пользователями с помощью команды ps. Поэтому, если компьютер может быть доступен другим пользователям (локальным или удаленным), эту опцию лучше не указывать, тогда пароль нужно будет вводить после установления сессии.

Подключение к серверу терминалов rhinstuff из Linux

Не редко требуется настроить возможность обмена файлами между локальным и удаленным компьютером, так как стандартная функция Drag and Drop не поддерживается. В этом случае можно при помощи опции «-r disk:<sharename>=<path>» подключить любую локальную папку как диск Windows, который можно будет увидеть в проводнике Windows. Например:

rdesktop -r disk:share=/home/documents -z -P -g 1280x900 -u USERNAME -p PASSWORD SERVER_IP

В результате, после успешного соединения, вам будет подключена папка /home/documents в качестве диска «share» на стороне Windows. Вы сможете читать и записывать файлы.

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

Если это произошло, воспользуйтесь командой chown для смены владельца и группы:

chown -R /home/documents USERNAME:USERGROUP

Создание простой кнопки запуска

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

Для этого нужно поместить команду целиком в текстовый файл в нужном месте (на Рабочий Стол, или любую другую папку), добавить одну строчку до нее и сделать файл исполняемым. Так, используя пример из первой части делаем такой текстовый файл такого содержания:

#!/bin/bash
rdesktop -z -P -g 1280x900 -u USERNAME -p PASSWORD SERVER_IP

И делаем его исполняемым (из консоли):

chmod +x PATH_TO_MY_TEXT_FILE

Список всех опций rdesktop с их описанием вы можете посмотреть здесь.

Приложение для работы с RDP

Если вы не хотите подключаться с использованием консоли, то вы можете воспользоваться готовыми решениями, например Thincast RDP client

Linux RDP клиент thincast

ThincastRemote Desktop Client — позволяет работать не только в режиме рабочего стола, но и в режиме бесшовных окон. 

Терминальные решения на Linux - Linux в качестве терминального клиента и десктопной машины

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

В качестве примера мы будем использовать операционную систему Xubuntu 12.04, терминальный клиент rdesktop и Microsoft Windows Server 2003.

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

Статья ориентирована на новичков в среде Linux. В статье будет присутствовать излишняя разжеванность для беспроблемной инсталляции RDP клиента rdesktop обычному пользователю.

Установка клиента rdesktop на Ubuntu, Linux

Установка клиента rdesktop на Ubuntu, Linux

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

Перейдем непосредственно к установке нашего клиента на десктопный компьютер. Мы будем производить установку RDP клиента непосредственно из стандартных репозиториев ubuntu. Данный метод позволит быстро и без лишних хлопот установить наш клиент.

Вводим в терминале команду с правами суперпользователя:

sudo apt-get install rdesktop

 Далее строится ветка зависимостей пакетов и происходит установка недостающих пакетов и самого клиента rdesktop. Примерно так:

Чтение списков пакетов… Готово
Построение дерева зависимостей 
Чтение информации о состоянии… Готово
Предлагаемые пакеты:
pcscd
НОВЫЕ пакеты, которые будут установлены:
rdesktop
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 18 пакетов не обновлено.
Необходимо скачать 139 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 427 kB.
Получено:1 http://ru.archive.ubuntu.com/ubuntu/ trusty/universe rdesktop amd64 1.7.1-1ubuntu2 [139 kB]
Получено 139 kБ за 0с (570 kБ/c) 
Выбор ранее не выбранного пакета rdesktop.
(Чтение базы данных … на данный момент установлено 216647 файлов и каталогов.)
Preparing to unpack …/rdesktop_1.7.1-1ubuntu2_amd64.deb ...
Unpacking rdesktop (1.7.1-1ubuntu2) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Настраивается пакет rdesktop (1.7.1-1ubuntu2) …

 Собственно на данном этапе инсталляцию RDP клиента rdesktop можно считать завершенной. Поздравлямба =)

Настройка терминального клиента rdesktop

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

Интересующие нас файлы находятся в директории:

/usr/share/rdesktop/keymaps/

 Для конфигурации нам потребуются 2 файла ru и en-us. Для конфигурирования данных файлов достаточно открыть их в любом текстовом файле с правами суперпользователя:

sudo gedit /usr/share/rdesktop/keymaps/ru
sudo gedit /usr/share/rdesktop/keymaps/en-us

 И заменить все содержимое файлов на следующее:

# generated from XKB map ru
include common
map 0x419
grave 0x29
asciitilde 0x29 shift
asciicircum 0x07 shift
backslash 0x2b
bar 0x2b shift
apostrophe 0x28
greater 0x34 shift
less 0x33 shift

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

Конфигурация и подключение терминального клиента rdesktop к серверу

И вот мы подошли к самому интересному и завершающему этапу нашей сегодняшней темы статьи — конфигурация и подключение терминального клиента RDP rdesktop к терминальному серверу Windows.

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

Применение: rdesktop [опция] сервер[:порт]
 
-u: имя пользователя терминального сервера
-d: доменная зона сети
-s: запуск оболочки для пользователя — запускается определенное приложение вместо рабочего стола(explorer)
-c: первоначальный рабочий каталог для пользователя. Часто используется в комбинации с
-s для создания фиксированного входа в окружающую среду.
-p: пароль пользователя терминального клиента
-n: имя хоста клиента
-k: раскладка клавиатуры терминального сервера (EN-US, DE, SV и т.д.)
-g: разрешения окна терминального клиента rdesktop(WxH)
-f: полноэкранный режим терминального клиента rdesktop. Переключение между режимами по сочетанию клавиш Ctrl + Alt + Enter
-b: битность обновления растрового изображения rdesktop
-L: локальная кодировка
-A: Включите режим SeamlessRDP
-B: использование BackingStore от X-сервера
-e: отключить шифрование
-E: Отключение шифрования от клиента к серверу
-m: не отправлять на терминальный сервер события передвижения мыши
-C: использование собственной цветовой схемы
-D: спрятать декорации окон
-K: не переопределять комбинации клавиш оконного менеджера. По умолчанию rdesktop пытается определить все имеющиеся комбинации клавиш.
-S: включить режим одного приложения. Эта опция может быть использована при запуске одного приложения с раскрытием на весь экран (используя -s). Когда нажимается кнопка «свернуть», сворачивается окно удаленного рабочего стола, а не приложения, в нем работающего. Кнопки «Развернуть/Восстановить» неактивны. Для корректной работы, Вы должны указать правильный размер кнопок в пикселях. Слово «standart» — соответствует 18 пикселям.
-T: установить заголовок окна терминального клиента
-N: позволить numlock синхронизации
-X: вставлять в другое окно с заданным идентификатором.
-a: подключение глубина цвета
-z: включить сжатие RDP
-x: RDP5 experience (m[odem 28.8], b[roadband], l[an] or hex nr.)
-P: постоянное кеширование точечных изображений терминального сервера
-r: включить указанное устройство редирект (этот флаг может повторяться)
-0: Присоединиться к консоли
-4: Использование RDP версии 4
-5: Использование RDP версии 5 (по умолчанию)
-y: использование raw клавиатуры

Небольшая ремарка к параметру полноэкранной инициализации терминального клиента — для возврата в оконный режим необходимо нажать сочетание клавиш Ctrl+Alt+Enter

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

Минимальным набором параметров при инициализации терминальной сессии средствами терминального клиента rdesktop следует считать:

rdesktop ip_rdp_server

Присутствует всего один параметр — ip_rdp_server. Параметр ip терминального сервера может иметь 2 вида: с явным указанием порта подключения к терминальному серверу(адрес:порт) и портом по умолчания(адрес).

Пример инициализации терминальной сессии по нестандартному порту терминального сервера:

rdesktop ip_rdp_server:port

Приведем пример базовой конфигурации запуска терминального клиента rdesktop:

rdesktop ip_rdp_server -k en-us -f -u user1

Т.е. по факту инициализации RDP клиента rdesktop мы получаем терминальную сессию, терминальное окно которого развернута на весь экран, нормальной работой кодировок русского и английского языка и с базовым пользователем user1. Терминальная сессия имеет минимум параметров инициализации: ip терминального сервера, раскладка клавиатуры для терминальной сессии, параметр открытия терминального окна на весь экрана и пользователя для авторизации. Для переходов между режимами и перехода в оконный режим используйте сочетания клавиш Ctrl + Alt + Enter.

Пример инициализации терминальной сессии без авторизации(параметры авторизации передаются в момент инициализации и прописаны в команде инициализации сессии):

rdesktop ip_rdp_server -k en-us -f -u user1 -p 123321

Мы думаем комментарии к данной инициализации излишни, т.к. добавился всего один параметр -p — пароль пользователя при инициализации.

Пример проброса принтера в терминальную сессию rdesktop:

rdesktop ip_rdp_server -k en-us -f -u user1 -r printer:Hewlett-Packard-HP-LaserJet-P2055dn

Параметр проброса принтера в терминальную сессию может быть представлен в двух видах: с неявным указанием драйвера принтера( -r printer:Имя_принетра_в_локальной_системе) и явным указанием драйвера принтера( -r printer:Имя_принетра_в_локальной_системе = «Дравер_для_терминально_сервера»). В большинстве случаев терминальный сервер корректно определяем необходимый драйвер для принтера и не требует явного указания драйвера в терминальной сессии на сервере.

Пример проброса COM портов в терминальную сессию rdesktop:

rdesktop ip_rdp_server -k en-us -f -u user1 -r comport:COM1=/dev/ttyS0,COM2=...

Мы думаем данный пример не нуждается в излишних комментариях. В примере используется явное указание устройств подключенных по COM портам. Параметр проброса COM портов на сервер имеет вид — имя_инициализации_порта_на_сервере = путь_в_локальной_системе_к_COM_порту.

Пример проброса файловых директорий в терминальную сессию rdesktop:

rdesktop ip_rdp_server -k en-us -f -u user1 -r disk:name_disk=/home/user/

Из данного примера мы видим параметр монтирования локальных файловых ресурсов средствами терминальной сессии. Параметр имеет следующую структуру — имя_устройства_при_инициализации_на_сервере = имя_директории_на_локальной_машине

Собственно на данном этапе мы и подытожим с примерами инициализации терминальных сессий средствами терминального клиента rdesktop и добавим к вышесказанному о возможности проброса таких устройств как:

  • Клавиатур.
  • Аудио устройств.
  • LPT
  • Scard — ключей цифровой подписи eToken и прочее.

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

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

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

Я установил Linux в качестве легкого клиента для совместной работы с открытым программным пакетом удаленного настольного клиента rdesktop. Минимальная инсталляция Linux + X Window после загрузки подключается к Windows Terminal Server. Рабочая станция Linux в данном случае выступает в роли простого терминала, предоставляющего соединение с корпоративной сетью. Через него пользователь получает доступ к центральному серверу или нескольким серверам и может запускать все необходимые приложения.

Преимущества данной конфигурации следующие.

  • Контролируемое окружение — пользователям не позволено менять настройки своей рабочей станции. Все нарушения возможны только на аппаратном уровне.
  • Переустановка рабочей станции Linux практически не зависит от аппаратной части и проходит очень быстро — оборудование должно присутствовать в списке совместимостей Linux (Hardware Compatibility List), и размер образа инсталляции занимает всего 300 Мбайт.
  • За клиентскую операционную систему не придется платить — Linux распространяется бесплатно.
  • Одно централизованное хранилище для модернизации приложений и служб — терминальный сервер содержит все приложения и службы.
  • Рабочие станции функционируют гораздо быстрее.

И самое главное — везде используется Linux. Подробности во врезке «Лицензирование и полная стоимость владения».

УСТАНОВКА LINUX

Для установки я взял Linux Red Hat 7.1 и остался очень доволен. Ниже описано, как осуществлялась конфигурация системы.

Для начала я произвел установку с корневым разделом размером в 500 Мбайт и разделом подкачки на 64 Мбайт. Размер установки можно уменьшить, например, если объем жесткого диска не превышает 540 Мбайт. Мне удалось сократить размер установки до 260 Мбайт с разделом подкачки объемом 32 Мбайт.

ОБОРУДОВАНИЕ

Оборудование можно использовать любое, если оно совместимо с Linux, но я бы предложил следующее:

  • оперативная память объемом 32 Мбайт;
  • видеоадаптер с памятью свыше 4Мбайт;
  • жесткий диск на 500 Мбайт;
  • сетевая карта на 10/100 Мбит/с.

А вот такой может быть минимальная конфигурация программного обеспечения:

  • классический оконный интерфейс X Window (например, twm);
  • поддержка сети;
  • инструменты для разработки;
  • пакет kudzu;
  • пакет ssh.

Я рекомендую воспользоваться опцией выбора индивидуальных пакетов (Select Individual Packages), чтобы не устанавливать ненужные приложения — sendmail и т. д. Таким образом, мы создадим легкую клиентскую ОС с оптимальным набором утилит, хотя можно добавить и другие утилиты (например, ssh) для удаленного доступа администратора к клиентской рабочей станции. Какого-то специального списка требований не существует. Если у вас установлена сетевая поддержка и twm — этого уже должно быть достаточно для работы. Я сократил размер установочных программ так, что все они поместились на компакт-диск.

RDESKTOP

Утилита с открытыми кодами rdesktop обеспечивает взаимодействие системы UNIX/Linux с Windows Terminal Server. Она написана Мэттом Чапменом и распространяется на условиях лицензии GPL.

Для этой статьи я использовал rdesktop версии RDP 5.0. Запуск rdesktop в полноэкранном режиме производится в соответствии со следующим синтаксисом: rdesktop -f <терминальный сервер>. Возможен запуск rdesktop в окне с помощью rdesktop -g 800×600 <терминальный сервер>, хотя я настоятельно рекомендую выбрать rdesktop -f <терминальный сервер> в случае, когда терминальный сервер — единственный рабочий стол в системе. Таким образом, пользователи даже не узнают, что они, к примеру, пользуются не Windows 2000. Для начала загрузите исходный текст программы и запустите make для компиляции исполняемого файла, либо скомпилируйте программу на другом компьютере и перенесите на рабочий компьютер в случае, если на последнем не установлены пакеты для разработки. Поместите rdesktop в переменную пути. После установки rdesktop можно попробовать запустить ее:

rdesktop <терминальный сервер>

где <терминальный сервер> — это доменное имя либо

IP-адрес компьютера с установленным Windows Terminal Server. Возможности тонкой конфигурации у rdesktop отсутствуют, она является лишь простым терминальным клиентом, работающим по протоколу удаленного рабочего стола (Remote Desktop Protocol, RDP).

AUTOLOGIN

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

Кроме того, благодаря Autologin администратору достаточно одного инсталляционного пакета для всех пользователей. Если с одной из станций возникает проблема, то ему не надо беспокоиться о восстановлении паролей пользователя, потому что не нужны и сами пароли. С применением Autologin любой компьютер может быть предоставлен любому сотруднику без дополнительного вмешательства администратора. После того как компьютер загружается и выводит приглашение к авторизации, у пользователя появляется вполне работоспособный рабочий стол. Подобная авторизация позволяет крупным компаниям предоставлять рабочие станции нескольким служащим, при этом не беспокоясь о профилях пользователей, загружаемых из Internet программах и т. п. Пропускаемая с помощью Autоlogin часть процесса авторизации — это авторизация непосредственно в Linux. Безопасность системы не уменьшается, поскольку сама рабочая станция задействована в процессе наименьшим образом. Зона ответственности начинается с приглашения к авторизации Windows Terminal Server.

Ниже представлен способ установки Autologin в систему. Загрузите файл ftp://ftp.linux-easy.com/pub/linux-easy/i386/autologin-1.0.0-1.i386.rpm и установите его с помощью команды rpm -i autologin-1.0.0-1.i386.rpm. Создайте пользователя, для которого вы хотите реализовать автоматический вход в систему, и назначьте ему пароль. Это может быть как реальный пользователь, так и шаблонный, например с именем username.

Ниже приведен файл README из пакета Autologin:

Как настроить Autologin
==========================
Создайте файл /etc/sysconfig/autologin,
 содержащий следующие установки:
USER=[username]
Начать сеанс пользователя username
Эта обязательная установка. При ее отсутствии
 Autologin не будет работать.
Если Autologin скомпилирован с опцией
 -enable-paranoid, он не будет запускаться,
 когда у пользователя username идентификатор
 UID или GID равен 0 (суперпользователь).
EXEC=[сценарий или программа]
Указанный здесь сценарий, или программа,
 будет исполнен после авторизации пользователя
 username. Если эта опция пропущена,
 то использоваться будет
 команда /usr/X11R6/bin/startx.
AUTOLOGIN={yes, no}
Указанной опцией можно пользоваться, чтобы
 отключать автоматический вход в систему,
 даже при настроенном Autologin, когда
 конфигурационный файл существует и не поврежден.
 При ее отсутствии по умолчанию
 принимается AUTOLOGIN=yes.
Файл /etc/sysconfig/autologin не должен быть
 доступен для записи ни для кого, кроме root.
 Если же в него произвел запись другой
 пользователь, то Autologin обнаружит
 это и не будет запускаться, выдав сообщение
 о возможной попытке взлома.
Потребуется ли мне еще что-нибудь?
==============================
Да. Автоматический старт Autologin нужно
 настроить на уровень выполнения 5. Начиная
 с версии пакета initscripts 5.15, Red Hat
 Linux делает это автоматически. Если у вас
 установлена более ранняя версия или другая
 ОС, то просто замените вызов kdm, xdm или
 gdm на вызов autologin либо, что еще лучше,
 на сценарий, который вызывает аutologin,
 а в случае неудачного выполнения возвращается
 к запуску [kxg]dm.
Мой файл /etc/sysconfig/autologin выглядит
 следующим образом:
USER=username
AUTOLOGIN=yes

Имя пользователя, которое вы вводите, появится в рамке User в приглашении терминального сервера.

ДОМАШНИЙ КАТАЛОГ ПОЛЬЗОВАТЕЛЯ ПРИ AUTOLOGIN

Для запуска twm после регистрации пользователя я использую файл .xinitrc. В том же файле записан запуск rdesktop. Server — это псевдоним имени узла в /etc/hosts.

.xinitrc
/usr/local/bin/rdesktop -f server &
twm

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

.twmrc
menu "defops"
{
"Menu" f.title
""	f.nop
"Reconnect"	f.exec "/usr/local/bin/rdesktop
 -f server &"
""	f.nop
}

Мне удалось удачно запустить удаленный рабочий стол при разрешениях от 640×400 до 1024×768, но я добился вывода только 16-разрядной цветовой палитры. Я предложил выше использовать графические адаптеры с памятью 4 Мбайт, чтобы картинка не плавала и не мигала.

НАСТРАИВАЕМ КЛИЕНТСКИЙ КОМПЬЮТЕР

Вряд ли абсолютно все компьютеры, на которые вы будете устанавливать образ, окажутся одинаковыми по аппаратной конфигурации. Поэтому я и разработал конфигурационный сценарий, призванный помочь в настройке индивидуальной конфигурации. Сценарий размещается в домашнем каталоге пользователя root и называется configure. Сделайте его исполняемым командой chmod 755 configure, затем запустите (./configure). Сценарий написан в предположении, что вы пользуетесь дистрибутивом Red Hat Linux, но для любого другого дистрибутива его необходимо модифицировать.

#!/bin/sh
echo "Установить сервер, с которым будет
производиться соединение?"
read YN
if [ $YN = "y" ] || [ $YN = "Y" ]
then
echo "Введите IP-адрес сервера, с которым будет
работать этот клиент?"
read IPADDR
echo "$IPADDR server" >> /etc/hosts
echo " " >> /etc/hosts
fi
echo "Запустить программу kudzu?"
read YN
if [ $YN = "y" ] || [ $YN = "Y" ]
then
kudzu
fi
echo "Запустить программу netconfig?"
read YN
if [ $YN = "y" ] || [ $YN = "Y" ]
then
netconfig
fi
echo "Запустить программу Xconfigurator?"
read YN
if [ $YN = "y" ] || [ $YN = "Y" ]
then
Xconfigurator
else
echo "Все готово!"
fi

При первой загрузке после произведенной установки, вы можете столкнуться с тем, что интерфейс X Window несколько раз мигнет, потом завершится сообщением наподобие ?respawning too fast, will attempt again in 5 minutes? («слишком быстрое возобновление, новая попытка будет предпринята через 5 мин»). Это значит, что в файл /etc/hosts занесена запись терминального сервера, который еще не существует, либо некорректно указан его IP-адрес.

Нажмите Ctrl-Alt-F2 для вызова консоли, пройдите авторизацию и исправьте настройки. Затем выполните команду kill -HUP (идентификатор процесса twm), и после этого появится окно авторизации терминального сервера с заполненной строкой ввода имени пользователя.

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

БУДУЩЕЕ

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

Кеннет Хесс — генеральный директор консалтинговой компании AHCC. С ним можно связаться по адресу: khess@ahcctulsa.com.


? CMP Media LLC


Лицензирование и полная стоимость владения

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

Обращение к терминальным сервисам требует наличия собственной специальной лицензии на каждого пользователя вдобавок и CAL на каждого клиента сервера Microsoft. Экономия денежных средств заключается не в лицензировании (если не учитывать, что вам не понадобится приобретать операционную систему для клиентских компьютеров) — вы сможете использовать устаревшее оборудование без потери производительности.

Кроме того, службе поддержки удастся сэкономить сотни долларов и часов на поиски новых драйверов для заменяемых компонентов на клиентских машинах. До тех пор пока ваше оборудование числится в Linux Hardware Compatibility List, просто запустите kudzu, и все будет в порядке.


Ресурсы Internet

Домашняя страница проекта rdesktop расположена по адресу: http://www.rdesktop.org/.

Исходные тексты rdesktop можно загрузить с сайта Source Forge по адресу: http://prdownloads.sourceforge.net/rdesktop/rdeskop-1.1.0.tar.gz.

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

Сегодня поговорим об удаленном подключении к Ubuntu из ОС Windows. 

Зачем удаленно подключаться из Windows к Ubuntu

Не так важно, где находится удаленный компьютер – в соседней комнате или в другом регионе. Интернет убирает подобные ограничения, главное – чтобы связь оставалась стабильной на все время настройки. Это одинаково относится к машинам, работающим хоть на операционной системе Windows, хоть на Ubuntu. Последние используются, например, для развертывания сервера CS или Minecraft.

Причины, по которым требуется удаленное подключение:

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

Пользователю доступно три варианта коннекта с компьютеров, работающих на ОС Windows. Выбор зависит от удобства и предпочтений: SSH через приложение PuTTY, встроенная поддержка RDP и виртуальная сеть VNC (понадобится предварительная настройка клиента). В любом случае перед работами понадобится выяснить IP-адрес компьютера, к которому предстоит подключаться.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Как выяснить IP-адрес компьютера с установленной ОС Ubuntu

Если есть физический доступ к компьютеру с установленной Ubuntu, на нем открывается терминал (комбинация клавиш Ctrl+Alt+T) и вводится команда ifconfig. В отображенном перечне данных имеет значение строка, начинающаяся с inet addr. Если используется подключение через Wi-Fi, то рядом будет его маркер в виде «wlan0». При проводном соединении фраза будет заменена на «eth0». Рядом отображается актуальный IP-адрес машины.

Второй способ заключается в применении функций графического интерфейса. Последовательность действий: найти значок подключения на панели, кликнуть правой кнопкой мышки, выбрать пункт «Сведения о подключении». Там и указан постоянный IP-адрес компьютера. Если доступа к нему нет, то можно выяснить данные через маршрутизатор. В панели управления отображаются активные пользователи вместе с их «контактами».

Подключение к Linux через SSH

Перед подключением на компьютер с Windows устанавливается приложение PuTTY. Это популярный инструмент для организации SSH-соединения, которое предоставит удаленный доступ к командной строке Ubuntu. Важно понимать, что этот режим требует определенного опыта в управлении, ведь здесь нет привычной мыши и «окошек», а все команды передаются в текстовом виде. Отчеты предоставляются в таком же виде.

Putty

По умолчанию возможность коннекта через SSH в Ubuntu отключена. Так что предварительно эту систему требуется настроить. Активация функции выполняется вводом команды sudo apt install openssh-server (в той же консоли, где ранее был взят IP-адрес). Логин и пароль подключения будут те же, что используются при входе в операционную систему.

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

Подключение из Windows через RDP

Способ подключения через службу Remote Desktop Protocol (RDP) распространен при работе с машинами на платформе Windows. Популярность инструмента объясняется просто – его поддержка встроена во все виды и версии операционных систем. Все, что понадобится для подключения, уже известно: это IP-адрес, логин и пароль от Ubuntu. Запускается утилита через поиск, называется она «Подключение к рабочему столу».

RDP

На компьютере-клиенте требуется установка приложения xrdp.

  1. Необходимо открыть окно термина нажатием комбинации клавиш Ctrl+Alt+T.
  2. Ввести текстовую команду sudo apt install xrdp и нажать «Ввод».
  3. Провести активацию программы командой sudo systemctl enable xrdp.

После установки надо ввести на компьютере-сервере данные доступа и нажать кнопку «Подключить». Если поставить галочку «Разрешить мне сохранять учетные данные», последующие входы будут выполняться без дополнительных вопросов. Но в первый раз пароль всегда вводится вручную. При желании создается отдельный конфигурационный файл (востребовано, когда много компьютеров с удаленным управлением).

После подключения пользователь видит рабочий стол компьютера на Ubuntu. Работа с его окнами не отличается от локального управления – функционируют все настроенные горячие клавиши, перетаскивание мышью. В некоторых версиях Ubuntu, например, 18.04 LTS, RDP не работает, пока не выйдешь из текущего пользователя. Подобные фишки обычно известны системным администраторам.

Подключение через VNC

Есть другой вариант удаленного рабочего стола – сеть Virtual Network Computing (VNC). Она тоже требует предварительной настройки обеих машин. Так, на компьютер с Ubuntu инсталлируется ПО, открывающее доступ к управлению.

Последовательность действий:

  1. Открыть окно терминала.
  2. Ввести команду sudo apt update.
  3. Установить сервер: sudo apt install tightvncserver.
  4. Активировать его: sudo tightvncserver.

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

На этом все! TightVNC Server готов к работе, остается следом настроить компьютер на Windows. Программа доступна на официальном сайте разработчика в двух версиях: 32 и 64-бит.

VNC

После инсталляции и запуска достаточно ввести IP-адрес хоста и пароль доступа, введенный после активации сервера на Ubuntu. Схема работы VNC аналогична предыдущему примеру: пользователь видит перед собой удаленный рабочий стол и управляет функциями операционной системы, как будто сидит за компьютером локально.

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

Проприетарный RDP — не единственный протокол удаленного доступа. Есть, например, открытый протокол VNC или защищенный протокол SSH. Все протоколы поддерживаются большинством операционных систем, включая различные дистрибутивы Linux, а иногда и мобильные ОС.

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

Популярные Linux RDP клиенты

Remmina

Remmina идет под лицензией GNU GPL и имеет открытый исходный код.

Установка Remmina

Remmina устанавливается через терминал:

sudo apt install remmina

В дистрибутивах Ubuntu, как правило, уже имеется клиент Remmina, однако, версия обычно устаревшая поэтому рекомендуется ее обновить.

Обновление Remmina

В терминале нужно ввести команду:

sudo apt-add-repository ppa:remmina-ppa-team/remmina-next

Затем запросите обновление списка системных хранилищ:

sudo apt-get update

Следующий шаг — установка или обновление плагина протокола RDP:

sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard

Чтобы завершить установку Remmina Linux RDP client, закройте активные сеансы приложения из терминала: sudo killall remmina. Затем откройте обновленный клиент заново и перейдите к конфигурации соединения.

Настройка Remmina

Если нужны настройки Remmina Remote Desktop Client, откройте меню Preferences (параметры) нажатием на иконку в правой верхней части окна.

Подключение по RDP к удаленной машине

Давайте рассмотрим как работает подключение по RDP к удаленной машине на примере Remmina.

Нажмите кнопку Add a new connection profile (Добавить новый профиль соединения), чтобы создать новое соединение.

Откроется окно.

Поддерживаются соединения с Linux, Windows или macOS. Главное, что вам нужно знать — это IP-адрес машины, с которой устанавливается подключение, имя пользователя и пароль.

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

Также есть возможность управлять соединениями, копируя, редактируя и удаляя их прямо из основного окна.

Помимо RDP, клиент Remmina также обладает поддержкой других протоколов удаленного соединения, включая безопасный SSH и открытый VNC.

Apache Guacamole

Еще один интересный RDP клиент для Linux — Apache Guacamole. Этот RDP клиент с открытым исходным кодом, распространяется по лицензии Apache v. 2.0. У Apache Guacamole есть интересная особенность — разработчики называют его «шлюз для удаленного рабочего стола без клиента» (clientless remote desktop gateway). Все благодаря тому, что Apache Guacamole работает напрямую из браузера, необходимости устанавливать дополнительное ПО или плагины нет.

Установка Apache Guacamole

Apache Guacamole может быть предустановлен в некоторых Linux Debian и Debian-based дистрибутивах. Ручная установка Apache Guacamole из терминала производится командой:

sudo apt-get install guacamole-tomcat

Поскольку Apache Guacamole — серверный клиент, требуется установить Tomcat Server на вашу машину, после чего программа установки попросит его перезапустить.

По умолчанию Apache Guacamole устанавливается с поддержкой только протокола VNC. Чтобы иметь возможность подключаться по SSH или RDP, необходимо установить дополнительно клиент для желаемого протокола. Сделать это можно следующей командой:

apt-get install libguac-client-ssh0 libguac-client-rdp0

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

Настройка Apache Guacamole

После установки Apache Guacamole автоматически применяет минимально необходимые для запуска настройки. Основным файлом конфигурации Apache Guacamole является guacamole.properties.

Все подробности об установке, настройке и управлении Apache Guacamole детально описаны в руководстве на официальном сайте.

Клиент Apache Guacamole максимально прост в использовании. Для запуска шлюза доступа к удаленному рабочему столу без клиента требуется иметь только браузер с поддержкой HTML5. Сама работа показана в коротком видео.

FreeRDP

Еще один бесплатный RDP клиент для Linux — FreeRDP. FreeRDP имеет лицензию Apache и открытый исходный код. Его можно встретить включенным в некоторые дистрибутивы Linux.

Установка FreeRDP

Актуальную на момент написания статьи версию FreeRDP можно установить командой из терминала:

sudo apt install freerdp2-x11

Настройка FreeRDP

FreeRDP — терминальный клиент, поэтому все настройки для подключения вводятся одной командой:

xfreerdp -u username -p password -g 1280×1024 XXX.XXX.XXX.XXX

Синтаксис команды:

  • -u username — имя удаленного компьютера, к которому хотите подключиться;
  • -p password — пароль учетной записи;
  • -g 1280×1024 — разрешение экрана;
  • XXX.XXX.XXX.XXX — IP удаленного компьютера.

Полный синтаксис можно найти в интернете.

Чтобы не вводить команду заново каждый раз, вы можете создать ярлык подключения со всеми необходимыми параметрами. Для этого, после установки FreeRDP, откройте окно терминала, запустите редактор nano: sudo nano ~/rdp.sh. В появившемся окне введите следующие строки и сохраните файл:

#!/bin/bash
xfreerdp -u username -p password -g 1280×1024 XXX.XXX.XXX.XXX

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

TigerVNC

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

Установка TigerVNC

Для работы TigerVNC требуется окружение рабочего стола. Мы выбрали окружение Gnome, установили его следующими командами:

sudo apt install ubuntu-gnome-desktop
sudo systemctl enable gdm
sudo systemctl start gdm

Затем, чтобы установить компоненты TigerVNC, введите в окне терминала:

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

Если установка прошла успешно, запустите VNC-сервер: vncserver. Создастся дефолтная конфигурация, а от вас потребуется задать пароль для TigerVNC длиной от 6 до 8 символов.

Настройка TigerVNC

Следующим шагом вы должны будете настроить рабочее окружение для работы с TigerVNC. Чтобы избежать конфликтов, следует приостановить активный VNC-сервер командой в терминале: vncserver -kill :1.

Затем введите команду vi ~/.vnc/xstartup, чтобы добавить файл xstartup в каталог конфигурации рабочего стола, откроется редактор.

В редакторе пропишите пять строк:

#!/bin/sh
exec /etc/vnc/xstartup
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

Эти строки будут выполняться при каждом запуске TigerVNC сервера. Сохраните файл, задайте ему разрешения:

chmod 700 ~/.vnc/xstartup

Возобновите работу сервера, введя в терминале:

vncserver :1 -localhost -geometry 1280x1024 -depth 12

Синтаксис следующий:

  • :1 — номер дисплея;
  • -localhost — разрешить соединения только с локального хоста;
  • -geometry — разрешение экрана;
  • -depth — глубина цвета.

TigerVNC — быстрый клиент удаленного доступа к компьютеру, однако, его функционал ограничивается VNC протоколом, и его установка чуть более требовательна, чем у аналогов.

rdesktop

Следующий клиент — rdesktop — поддерживается на платформах Linux, Microsoft Windows, имеет открытый исходный код. Выгодно отличает rdesktop от других клиентов поддержка протокола RDP 4.0, используемого в версиях Windows NT 4.0 Terminal Server Edition и Windows 2000 Server.

Установка rdesktop

Рекомендуем сперва проверить наличие rdesktop в дистрибутиве. Если rdesktop уже включен в систему, то он запустится командой rdesktop. Если rdesktop в дистрибутиве отсутствует, то установить его можно командой:

sudo apt-get install rdesktop

Настройка rdesktop

Подключение к удаленному рабочему столу производится из терминала командой:

rdesktop -z -P (-g/-f) 1280x1024 -u USER -p PASSWORD SERVER-ADDRESS

Команда использует следующий синтаксис:

  • -z — использовать сжатие потока;
  • -P — использовать кэширование;
  • -g/-f — оконный/полноэкранный режим;
  • -u — имя пользователя удаленной машины;
  • -p — пароль.для входа в учетную запись удаленного компьютера.

Это только некоторые из доступных команд, полный список легко находится в интернете.

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

Vinagre

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

Установка Vinagre

Если по какой-то причине клиент Vinagre отсутствует у вас в системе, вы можете его инсталлировать, введя в консоли:

sudo apt-get install vinagre

Преимущества Vinagre это:

  • Возможность подключить несколько удаленных рабочих столов одновременно. Каждый из них будет отображаться на отдельных вкладках.
  • Поиск потенциальных подключений в локальной сети. Vinagre позволяет отслеживать доступные подключения.
  • Поддержка VNC и SSH.
  • Добавление подключений в избранное, наличие истории.
  • Поддержка Gnome Keyring.

Если вы работаете с Gnome, то вам стоит обратить внимание на Vinagre, ознакомиться с этим клиентом поближе.

NoMachine NX Client

Утилита NX Client, разрабатывается компанией NoMachine. Программа работает по проприетарному протоколу NX, который разработан компанией NoMachine. NoMachine NX Client доступен для Windows, Linux, macOS, Android, iOS, Raspberry Pi, а также из браузера.

Установка NoMachine NX Client

Вам потребуется скачать установщик в любом формате (RPM, DEB, TAR.GZ) открыть и установить его на обе машины — локальную и удаленную. То же можно сделать и командой из терминала, но иметь копию пакета установки все равно потребуется.

NoMachine NX Client обладает впечатляющим набором функций, который расширяется с каждым обновлением.

Но, во-первых, для корпоративных клиентов NoMachine продает свои продукты по подписке (44,50 долларов в год за сервер или пакет 10 пользователей, подробнее). Это совсем не выгодно отличает NX Client от рассмотренных ранее полностью бесплатных клиентов. Во-вторых, большое число функций и вкладок с различными настройками и параметрами может помешать сосредоточиться на работе. Кроме того, NoMachine NX Client не поддерживает открытие нескольких сеансов во вкладках — каждый новый сеанс нужно открыть в новом окно программы. Зато вся документация и справка на официальном сайте NoMachine переведена на русский.

NoMachine NX Client — хороший выбор, если ваши основные требования это:

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

Krdc

Krdc — бесплатный RDP клиент с открытым исходным кодом, идущий под лицензией GPL v.3. Krdc может работать по VNC и по RDP, клиент является официальным проектом окружения KDE для удаленного доступа.

Установка Krdc

Установить Krdc на дистрибутив Linux можно, введя в терминале:

sudo apt-get install krdc

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

Если у вас есть потребность в простом клиенте удаленного доступа, то Krdc отлично подойдет. Дополнительным плюсом будет возможность выбора протокола подключения: RDP или VNC, по умолчанию поддержка SSH в Krdc отсутствует.

TeamViewer

TeamViewer — широко известный клиент для удаленного доступа, он является бесплатным только для частного использования. Стоимость корпоративного решения от 2 до 7 тысяч рублей в месяц за одно рабочее место, подробности можно узнать на сайте TeamViewer.

Одно из преимуществ TeamViewer — кроссплатформенность. После установки приложение позволяет подключаться к удаленному рабочему столу с Linux, Windows, macOS, Android, iOS, Blackberry и даже ChromeOS.

Установка TeamViewer

Для установки TeamViewer разработчики рекомендуют скачать пакет установки с официального сайта, после чего установить его через графический интерфейс на обе машины — локальную и удаленную. Установить TeamViewer через терминал можно соответствующими командами для соответствующего пакета, например DEB:

apt install teamviewer_12.0.xxxxx_i386.deb

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

Заключение

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

27 сентября, 2022 12:06 пп
1 349 views
| Комментариев нет

Ubuntu, VPS

Remote Desktop Protocol (RDP) — это сетевой протокол от Microsoft, с помощью которого вы можете установить соединение с удаленным компьютером и управлять его операционной системой, используя графический интерфейс.

Также можно получить доступ и взаимодействовать с графическим пользовательским интерфейсом удаленного сервера Linux с помощью инструмента xrdp.

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

Вам понадобятся:

  • Сервер Ubuntu 22.04 с пользователем без root прав с привилегиями sudo, не менее 1 ГБ ОЗУ и брандмауэром. Настроить их можно по этому мануалу.
  • Локальный компьютер с установленным клиентом RDP. Список RDP-клиентов для  ОС представлен ниже:
    • В Windows вы можете использовать приложение для подключения к удаленному рабочему столу без сторонних программ.
    • В macOS вы можете использовать приложение Microsoft Remote Desktop application.
    • В Linux вы можете использовать FreeRDP или Remmina

1: Установка окружения рабочего стола

На этом этапе вы установите и настроите среду рабочего стола на своем сервере. По умолчанию сервер Ubuntu доступен только через терминал. Для доступа к пользовательскому интерфейсу необходимо установить среду рабочего стола.

Например, Xfce предлагает удобную среду рабочего стола для систем на базе Linux.

Подключитесь к своему серверу с помощью SSH и обновите системные пакеты с помощью команды:

sudo apt update

Затем установите пакеты xfce и xfce-goodies на свой сервер:

sudo apt install xfce4 xfce4-goodies -y

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

После установки среды рабочего стола установите xrdp на свой сервер.

2: Установка xrdp

xrdp — это служба удаленного рабочего стола для серверов Linux. Она позволяет нам подключать удаленные настольные системы Linux через Microsoft RDP.

Чтобы установить xrdp, выполните в терминале следующую команду:

sudo apt install xrdp -y

Команда покажет статус active (running):

 xrdp.service - xrdp daemon
     Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
     Active: **active (running)** since Sun 2022-08-07 13:00:44 UTC; 26s ago
       Docs: man:xrdp(8)
             man:xrdp.ini(5)
   Main PID: 17904 (xrdp)
      Tasks: 1 (limit: 1131)
     Memory: 1016.0K
     CGroup: /system.slice/xrdp.service
             └─17904 /usr/sbin/xrdp

Если статус xrdp не running, скорее всего, вам придется запустить службу вручную с помощью этой команды:

sudo systemctl start xrdp

После этого снова проверьте статус, чтобы убедиться, что xrdp running.

Вы успешно установили xrdp на свой сервер. Далее мы покажем конфигурацию xrdp для приема удаленных подключений.

3: Настройка xrdp и обновление брандмауэра

На этом шаге мы рассмотрим конфигурацию xrdp по умолчанию, которая хранится в /etc/xrdp/xrdp.ini, и добавим конфигурацию для подключения RDP. Также нужно обновить настройки брандмауэра.

xrdp.ini — это файл конфигурации по умолчанию для настройки подключений RDP к серверу xrdp. Файл конфигурации можно изменить и настроить в соответствии с требованиями к RDP-подключению.

Откройте файл в текстовом редакторе nano или в редакторе на ваш выбор:

sudo nano /etc/xrdp/xrdp.ini

Файл конфигурации содержит различные разделы:

  • Globals определяет некоторые глобальные параметры конфигурации для xrdp.
  • Logging определяет параметры подсистемы логирования.
  • Channels определяет несколько параметров канала, которые поддерживает RDP.
  • Session types определяет поддерживаемые xrdp типы сеансов. Конфигурация каждого типа сеанса определяется как отдельный раздел по имени типа сеанса, заключенному в квадратные скобки, например [Xorg] и [XVnc]. В файле нет заголовка[Sessions types]; вместо этого он записывается как комментарий.

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

...

;
; Session types
;

; Some session types such as Xorg, X11rdp, and Xvnc start a display server.
; Startup command-line parameters for the display server are configured
; in sesman.ini. See and configure also sesman.ini.
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20

[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
#xserverbpp=24
#delay_ms=2000

[vnc-any]
...

[neutrinordp-any]
...

...

По умолчанию параметры username  и password настроены на ask, что означает, что пользователю будет предложено ввести свое name, username и password для подключения через RDP. Эти данные можно будет изменить, если у вас будет такая необходимость. Для первого RDP-подключения к серверу достаточно конфигурации по умолчанию.

Сохраните и закройте файл, когда закончите.

Теперь перейдите в домашний каталог вашего пользователя:

cd ~

Затем создайте файл.xsession в папке /home/sammy и добавите xfce4-session в качестве менеджера сеансов для использования при входе в систему:

echo "xfce4-session" | tee .xsession

tee записывает строку “xfce4-session” в файл .xsession. Приведенная выше конфигурация гарантирует, что xfce4-session используется в качестве диспетчера сеансов при запросе входа в систему. В результате установки xfce в качестве среды рабочего стола xfce4-session служит его менеджером сеансов. Если вы не включите эту информацию в файл .xsession, менеджер сеансов не будет выбран, и сеанс RDP не сможет подключиться к графическому дисплею.

Перезапустите сервер xrdp:

sudo systemctl restart xrdp

Затем нужно настроить брандмауэр, чтобы разрешить удаленные подключения с вашего внешнего IP-адреса через порт 3389. Соединение RDP обслуживается через порт TCP/IP 3389. Чтобы получить доступ к удаленному серверу через RDP, вы должны открыть порт 3389 в своем брандмауэре.

Сначала найдите внутренний IP-адрес вашего компьютера:

curl ifconfig.me

В Windows используйте командную строку для запуска этой команды.

curl отправляет запрос на ifconfig.me, который возвращает ваш внешний IP-адрес в качестве вывода:

...
your_local_ip

Затем разрешите доступ к порту RDP 3389 на вашем удаленном сервере, заменив your_local_ip результатом последней команды:

sudo ufw allow from your_local_ip/32 to any port 3389

Проверьте статус вашего брандмауэра UFW:

sudo ufw status

Результат будет такой:

Status: Active
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
3389                       ALLOW       your_local_ip                 
OpenSSH (v6)               ALLOW       Anywhere (v6)  
...

Вы включили порт 3389 для приема соединений с вашего внешнего IP-адреса. Теперь проверьте RDP-соединение вашего локального компьютера с удаленным сервером.

4: Тестирование RDP-соединения

Сейчас мы протестируем соединение RDP с вашего локального компьютера. В следующих пунктах показаны действия по тестированию соединения на компьютерах с Windows, macOS и Linux.

Тестирование RDP-подключения в Windows

Запустите приложение подключения к удаленному рабочему столу.

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

Нажмите кнопку Connect. Если вы получаете предупреждениеRemote Desktop can’t connect to the remote computer”, убедитесь, что вы включили опцию Remote Desktop в настройках системы.

Отметьте опцию «Рабочий стол» в настройках вашей системы.

Нажмите Yes, если появится всплывающее окно подтверждения:

Затем введите имя пользователя вашего удаленного сервера (sammy) и пароль, который вы создали для него во время первоначальной настройки сервера. Нажмите Ок.

После входа в систему вы сможете получить доступ к среде рабочего стола Ubuntu:

Используя RDP, вы успешно подключились к удаленному серверу Ubuntu с вашего локального компьютера. Можно закрыть его, когда закончите работу с графическим рабочим столом.

Тестирование подключения RDP в macOS

Чтобы проверить подключение через клиент удаленного рабочего стола в macOS, сначала запустите приложение Microsoft Remote Desktop Connection.

Нажмите «Add PC», затем введите внешний IP-адрес вашего удаленного сервера:

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

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

Нажмите Yes, чтобы пропустить всплывающее окно подтверждения:

После входа в систему вы можете получить доступ к удаленному рабочему столу Ubuntu. Можно закрыть его, когда закончите работу.

Тестирование RDP-подключения в Linux

Вам понадобится RDP-клиент для проверки RDP-соединения на локальном компьютере с Linux. Сначала установите RDP-клиент remmina для Ubuntu:

sudo apt install remmina

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

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

Затем введите имя пользователя удаленного сервера (напоминаем, что для этого руководства имя пользователя — sammy) и пароль, который вы создали для него во время первоначальной настройки сервера. Нажмите Ок.

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

После входа в систему вы сможете получить доступ к среде рабочего стола Ubuntu.

Используя RDP, вы успешно подключились к удаленному серверу Ubuntu с вашего локального компьютера. Можно его закрыть, когда закончите работу с графическим рабочим столом.

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

Итоги

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

Tags: RDP, xrdp

Первоначальная настройка сервера XRDP на сервере

  • Установить пакет xrdp:
  • Включить и добавить в автозапуск сервисы:
    # systemctl enable --now xrdp xrdp-sesman
    

Права доступа пользователя:

  • Для доступа к терминальному сеансу — включить в группу tsusers:
    # gpasswd -a user tsusers
    
  • Для проброса папки — включить в группу fuse:

Настройки

Настройки сервера хранятся в файле /etc/xrdp/sesman.ini. Некоторые настройки сервера установленные по умолчанию:

  • AllowRootLogin=true — авторизация Root;
  • MaxLoginRetry=4 — максимальное количество попыток подключения;
  • TerminalServerUsers=tsusers — группа, в которую необходимо добавить пользователей для организации доступа к серверу;
  • MaxSessions=50 — максимальное количество подключений к серверу;
  • KillDisconnected=false — разрыв сеанса при отключении пользователя;
  • FuseMountName=Mount_FOLDER — название монтируемой папки.

Примечание: Для поиска параметра можно воспользоваться поиском в текстовом редакторе.

По умолчанию для подключения по RDP используется порт 3389. Номер порта можно изменить в файле /etc/xrdp/xrdp.ini.

Подключение

Для подключения можно использовать FreeRDP — клиент для подключения к удаленному рабочему столу по протоколу RDP.

Установить пакет xfreerdp:

# apt-get install xfreerdp

Синтаксис:

xfreerdp [файл] [параметры] [/v:<сервер>[:порт]]

Описание некоторых параметров:

  • /v:<сервер>[:порт] — IP-адрес или имя сервера;
  • /u:<пользователь> — имя пользователя;
  • /p:<пароль> — пароль пользователя;
  • /w:<ширина> — ширина окна;
  • /h:<высота> — высота окна;
  • /f — полноэкранный режим;
  • /size:<ширина>x<высота> — размер окна;
  • /drive:<название>,<путь> — подключение каталога.

Пример:

$ xfreerdp /drive:Epson,/home/cas/epson /v:10.4.129.129 /u:user /p:123

где:

  • Epson — название папки, которая будет показываться в каталоге thinclient_drives в домашней папке терминального пользователя, у локального пользователя пробрасывается папка /home/cas/epson;
  • 10.4.129.129 — адрес терминального сервера;
  • user — имя терминального пользователя;
  • 123 — пароль терминального пользователя.

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

Экран входа

Внимание! Избегайте одновременный сеансов RDP и обычных для одного и того же пользователя. Systemd не позволит полноценно работать в сеансе RDP.

Также для подключения можно использовать клиент Remmina или Connector.

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

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

Дополнительно (MATE)

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

  1. Установите пакет mate-session.
    # apt-get install mate-session
    
  2. Убедитесь, что по умолчанию будет запускаться mate-session:
    $ runwm --print default
    /usr/bin/mate-session
    

Проброс звука

Для прослушивания звука из терминального сеанса локально установите на терминальный сервер пакет pulseaudio-module-xrdp:

# apt-get install pulseaudio-module-xrdp

При использовании в качестве клиента xfreerdp добавьте параметр /sound:sys:pulse:

xfreerdp /v:10.4.4.17 /u:user /p:123 /sound:sys:pulse

Проброс USB-устройств

Для проброса USB-устройств на сервере необходимо установить пакет xrdp-usb:

# apt-get install xrdp-usb

Данный компонент пробрасывает широкий спектр устройств, начиная от USB-веб-камер, до USB-токенов и смарт-карт. Инструкция по использованию: Xrdp-usb

Внимание! Проброс будет работать только в рамках локальной сети, так как требует доступность клиентского компьютера с сервера

Доступ доменных пользователей

В раздел домена в файле /etc/sssd/sssd.conf необходимо указать ad_gpo_map_service = +xrdp-sesman:

[domain/TEST.ALT]
...
ad_gpo_map_service = +xrdp-sesman
...

Иначе будет возникать ошибка:

pam_acct_mgmt failed: Permission denied

Локальные группы для доменных пользователей

Вариант с локальной группой для доменных пользователей не работает, поэтому для них работает отключение группы (или указание любой нелокальной, даже несуществующей):

В файле /etc/xrdp/sesman.ini

TerminalServerUsers=

После исправления файла запустите

# systemctl restart xrdp-sesman

Журнал для sesman (сеансов пользователей) находится в файле /var/log/xrdp-sesman.log.

Данная ситуация возникла потому, что в больших доменах показ всех членов группы нагружает систему, поэтому в /etc/sssd/sssd.conf по умолчанию используется значение enumerate = false.

Если в разделе домена в файле /etc/sssd/sssd.conf явно указать enumerate=true:

[domain/TEST.ALT]
id_provider = ad
auth_provider = ad
chpass_provider = ad
default_shell = /bin/bash
fallback_homedir = /home/%d/%u
debug_level = 0
enumerate = true

то в /etc/xrdp/sesman.ini можно указать 

TerminalServerUsers=domain users

Примечание: Доменные группы под Линуксом видны в нижнем регистре.

Не забудьте перезапустить службы sssd и xrdp-sesman.

Повышение привилегий

  • consolehelper, beesu — ограничений нет;
  • polkit — требует создание дополнительных правил для удалённых пользователей. Подробнее описано на https://github.com/neutrinolabs/xrdp/issues/1568#issuecomment-624727037

Производительность

Рекомендуется отключить эффекты рабочего стола. Можно установить пакеты:

Среда Пакет
MATE mate-reduced-resource
XFCE xfce-reduced-resource

См. также: https://askubuntu.com/questions/1283709/xrdp-and-xfce4-ubuntu-18-04-unusable#tab-top

Решение проблем

Общий подход

Первым делом обратите внимание на логи как сервера, так и сессии:

  • /var/log/xrdp.log и /var/log/xrdp-sesman.log
  • ~/.xorgxrdp.*.log в домашнем каталоге пользователя

Например, такие строчки в последнем свидетельствуют о необходимости запроса пересборки xrdp с текущим xorg-server:

(EE) xorgxrdp: module ABI major version (23) doesn't match the server's version (24)
(EE) Failed to load module "xorgxrdp" (module requirement mismatch, 0)

Проблемы соединения с мобильным rdp-клиентом

В некоторых мобильных rdp-клиентах, особенно предназначенных для работы на старых версиях Android, если выбрать режим «Воспроизведение звука на стороне клиента» (или аналогичный) возникает ошибка соединения.

Решается запретом воспроизведения звука в настройках клиента или изменением в /etc/xrdp/xrdp.ini в строке rdpsnd=true, значения true на false. При этом клиент лишается возможности воспроизводить звук, однако в остальном соединение работает.

Проблема подключения с Windows XP

Для подключения рабочих станций с Windows XP необходимо в файле /etc/xrdp/xrdp.ini добавить поддержку протокола TLSv1.1:

ssl_protocols=TLSv1.1, TLSv1.2, TLSv1.3

Эта поддержка была исключена из конфигурации по умолчанию в версии 0.9.8 (https://github.com/neutrinolabs/xrdp/releases/tag/v0.9.8).

Проблемы соединения с тонким клиентом Dell Wyse 3040

Для подключения тонких клиентов Dell Wyse 3040 в /etc/xrdp/xrdp.ini необходимо выключить звуковую поддержку:

rdpsnd=false

Проблемы одновременного запуска локального и удалённого сеанса

С версии 0.9.14-alt5 файл /etc/pam.d/xrdp-sesman стал основан на правилах common-login. Второй сеанс systemd для одного и того же пользователя не удаётся запустить. Если это действительно надо, замените строку

session         include         common-login

на

session         substack        system-auth
session         required        pam_loginuid.so
session         substack        system-policy

Процесс gvfsd-trash занимает 100% процессора

Создайте раздел или файл подкачки. Например, по статье: Swap

Рабочий стол Mate в сеансе не показывает значки

Вариант 1.

Создайте файл /etc/xdg/autostart/caja-restart.desktop:

[Desktop Entry]
Type=Application
Name=Restart Caja in remote session
Exec=dbus-launch caja --force-desktop

Вариант 2.

Замените строку в файле /usr/share/applications/caja.desktop

Exec=/usr/bin/caja 

на

Exec=/usr/bin/caja --force-desktop

Чтобы избежать сообщение об ошибке получения имени сессии, в файл /etc/xrdp/startwm.sh добавьте следующие строки

unset DBUS_SESSION_BUS_ADDRESS
exec mate-session

Если пользователь ранее не регистрировал локальный сеанс, то при подключении новым пользователем xrdp не создаёт окружение пользователя в /home

Данная ситуация характеризуется следующей ошибкой при попытке подключения новым пользователем по xrdp:

[ERROR] another Xserver might already be active on display 9 - see log
[DEBUG] aborting connection...

Для решения этой проблемы необходимо добавить в конец файла /etc/pam.d/xrdp-sesman строки:

session required pam_env.so readenv=1 user_readenv=0
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077

Понравилась статья? Поделить с друзьями:
  • Подключение linux к windows server 2003
  • Подключение iphone к windows 10 без itunes
  • Подключение ip камеры к компьютеру напрямую windows 10
  • Подключение hdd на горячую sata windows 7
  • Подключение gamepad xbox one к windows 10