Linux mint xrdp настройка

Linux mint xrdp настройка

Рассмотрим процес установки и настройки rdp сервера (xrdp, x11rdp) на ОС linux Mint, Debian, Ubuntu, для удаленного доступа из ОС Windows стандартными средствами, через удаленный рабочий стол windows. Добавление русской раскладки клавиатуры.

RDP (Remote Desktop Protocol) — Протокол удалённого рабочего стола, ипользуется для удаленного подключения и управления к рабочим столам ОС Windows. Получил большое распространение в связи с тем, что по умолчанию присуствует во всех системах Windows, причем как серверная так и клиентская часть.

Для того чтобы подключиться из window стандартным клиентом к рабочему столу linux, необходимо чтобы на linux был запущен rdp сервер.

Установка RDP-сервера xrdp

Я установил xrdp через Центр Приложений Ubuntu, набрав в поиске xrdp и нажав кнопку установить.

Можно установить и из терминала следующей командой.

Впринципе после установки доступ к Linux машине из windows, используя стандартный клиент rdp я получил.

Надо сказать, что все работало не так, как хотелось. Подключиться через модуль sesman-X11rdp неполучилось, после авторизации клиент rdp закрывался. Зато заработало через sesman-Xvnc, правдо с переодическими тормазами, также отсуствовал в раскладке клавиатуры русский язык и доставить его было невозможно.

Выход из сложившейся ситуации был найден. Пришлось собрать x11rdp.

Установка x11rdp

Установим отдельно x11rdp (RDP сервера для Linux) следующими командами.

1.Установим следующие пакеты:

sudo apt-get install subversion gcc libice-dev pkg-config zlib1g-dev cvs autoconf libtool libssl-dev libpam0g-dev libx11-dev libxfixes-dev xfonts-base

2.Извлекаем repos/main в директорию с названием x11rdp_xorg71 в текущей директории.

sudo svn co svn://server1.xrdp.org/srv/svn/repos/main/x11rdp_xorg71

3.Создаем директорию X11rdp.

sudo mkdir /usr/local/X11rdp

4.Переходим в директорию с извлеченными компанентами x11rdp.

sudo sh buildx.sh /usr/local/X11rdp

Процедура компиляции занимает довольно много времени, у меня этот процесс длился минут 20.

6.Сделаем символьные ссылки.

sudo ln -s /usr/local/X11rdp/bin/X11rdp /usr/local/bin sudo ln -s /usr/share/fonts/X11 /usr/local/X11rdp/lib/X11/fonts

7.Устанавливаем по умолчанию подключение через модуль sesman-X11rdp в окне «login to xrdp».

Для этого правим файл /etc/xrdp/xrdp.ini и ставим на первое место секцию «[xrdp0]» с sesman-X11rdp.

[globals] bitmap_cache=yes bitmap_compression=yes port=3389 crypt_level=low channel_code=1 max_bpp=24 [xrdp0] name=sesman-X11rdp lib=libxup.so username=ask password=ask ip=127.0.0.1 port=-1 xserverbpp=24 [xrdp1] name=sesman-Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=-1 .

Теперь можно пробывать подключаться по rdp. Я завел себе отдельного пользователя специально для работы по rdp. При первом входе отсуствовал русский язык. Его нужно было добавить в настройках клавиатуры. Ниже рассмотрим как это сделать на примере xUbuntu.

Читайте также:  Linux livecd восстановление данных

Добавление русской раскладки клавиатуры в xUbuntu

Открываем «Диспечер Настроек», выбираем «Клавиатура», переходим на вкладку «Раскладка».

1.»Использовать стандартные системные параметры»: снимаем галочку.

2.»Изменить параметры раскладки» выбираем: Alt+Shift.

3.»Раскладка клавиатуры»: нажимаем «добавить», выбираем раскладку: Русская.

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

Открываем «Диспечер Настроек», выбираем «Панель», переходим на вкладку «Элементы», нажимаем «плюсик», выбираем «Раскладки Клавиатуры» и «Добавить»

На этом все, rdp сервер установлен и отлично работает под ОС Linux. Комментируем, подписываемся ну и всем пока:)

Источник

exec startlxde

Универсальный файл ~/.xinitrc для любых рабочих столов можно найти на stackoverflow (необходима установка slim).

Диагностика

Перезагружаем ПК, который выполняет роль сервера.

Проверяем с него же, что сервер Xorg запускается без ошибок:

sudo Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp

На этом этапе экран может погаснуть, если вы проверяете XRDP с того же ПК, на котором запущена начальная сессия Xorg. Нужно нажать Ctrl+Alt+F1 ввести имя и пароль, при помощи команды ps -aux | grep xrdp найти номер процесса » sudo xrdp » и завершить его командой » sudo kill «.

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

Если же сообщение «(EE) Cannot establish any listening sockets — Make sure an X server isn’t already running(EE)»,
нужно перезагрузить ПК и повторить диагностику.

Второй вариант проверки — перед первым подключением к серверу XRDP, завершаем текущий сеанс «Пуск» — «Выйти» — «Выйти из системы». Так как клиент RDP не сможет создать второй сеанс такого же пользователя (с ошибкой в файле ~/.xorgxrdp.10.log: «(EE) Caught signal 11 (Segmentation fault). Server aborting»).

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

sudo useradd -m ivanov-rdp passwd ivanov-rdp

Ошибки xRDP сервера в Linux и их решения

Настройка брандмауэра

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

sudo apt install nmap sudo nmap 192.168.55.100 -p 3389

где вместо 192.168.55.100 укажите IP-адрес сервера в локальной сети.
Не забываем открыть локальный порт 3389 в firewall:

Если порт открыт, то вывод:
PORT STATE SERVICE
3389/tcp open ms-wbt-server

Проблема «При подключении с клиента по RDP виден чёрный пустой экран»

На сервере не установлен пакет xorgxrdp — программная «прослойка» между xorg и rdp сервером, который отображает графику — Рабочий стол, указатель мыши и иконки.

Решение — установить на сервер пакет xorgxrdp :

sudo apt-get install xorgxrdp sudo service xrdp restart

Сеанс xRDP теперь должен работать. Пробуем подключиться!

Читайте также:  Проверка оперативной памяти линукс

Примечание: Пакет «xorgxrdp — Remote Desktop Protocol (RDP) modules for X.org» входит в большинство дистрибутивов Debian, а также Ubuntu 18.04 «bionic», 20.04 LTS «focal», 21.04 «hirsute», 21.10 «impish», 22.04 LTS «jammy» (вышла 21.04.2022), и производных ОС на основе DEB-пакетной базы Ubuntu (таких как Runtu, Lubuntu, Xubuntu, Kubuntu и др.), а также дистрибутивы на основе RPM: Fedora, Arch и др.. Поэтому данная инструкция должна работать с множеством версий Linux.

Remmina RDP Client — подключение к серверу

sudo apt-get install remmina remmina-plugin-rdp remmina-plugin-secret sudo reboot remmina

remmina

Добавляем подключение — тип RDP.

Если VPN не используется, то в IP адрес вводим «белый» IP-адрес домашнего роутера.
При работе через VPN IP адрес относится к внутренней (локальной, домашней) сети.
Имя и пароль — такие же как при входе «с клавиатуры» на сервере.

Нижние кнопки окна Remmina на нетбуках с разрешением экрана 1024×600 пикселей могут быть обрезаны и видны частично.
«Отменить» — «Сохранить как значения по умолчанию» — «Сохранить» — «Подключиться» — «Сохранить и подключиться»

Нажимаем крайнюю правую кнопку «Сохранить и подключиться».

Различные проблемы

Журналы ошибок в системной каталоге /var/log/:

Журналы ошибок в каталоге пользователя ~:

Просмотреть их можно командами:

sudo cat /var/log/xrdp.log sudo cat /var/log/xrdp-sesman.log sudo cat /var/log/Xorg.0.log sudo cat /var/log/Xorg.10.log sudo cat ~/.xorgxrdp.log

Если при подключении с ПК под управлением Windows к ПК под управлением Linux после ввода имени пользователя пароля виден сине-зелёный однотонный фон без текста и иконок,
или в файле XRDP.LOG многочисленные ошибки, значит подключение произошло, но не запустилась графика Xorg — скорее всего из-за старой версии OpenGL, либо прав, см. выше.

blue

Пример ошибки на стороне клиента при попытке подключения с помощью программы MSTSC.EXE:

error19

Сообщения об ошибка в журнале XRDP.LOG на стороне сервера:

или аналогичная [DEBUG] Closed socket 17 (AF_UNIX)

Решение — диагностика командой с рабочего стола машины-сервера:

sudo Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp

Нужно добиться отсутствия ошибок Xorg в файле /var/log/Xorg.10.log.

Если при подключении с ПК под управлением Windows виден на мгновение чёрный экран, который тут же закрывается, один из вариантов:

  • неправильной имя/пароль пользователя
  • неправильный скрипт ~/.xinitrc (не запустилась сессия рабочего стола). Проверьте файл ~/.xinitrc на наличие команды exec .
  • пользователь, которым вы подключаетесь к ПК удалённо, имеет открытую сессию в операционной системе локально (использует компьютер в данный момент).

Безопасность

Теперь любой ПК в локальной сети сможет подключаться к вашему компьютеру по протоколу RDP. Следует установить для учётной записи пользователя сложный пароль. Если подключение к ПК из Интернет — можно дополнительно использовать VPN с шифрованием трафика.

Читайте также:  Http port forwarding on linux

Дата последнего редактирования 25.04.2022

Источник

RDP на Debian/Ubuntu/Mint с помощью XRDP

Надоело использовать консоль? Вы не знаете как пользоваться консолью и Вам проще использовать графическую оболочку? Выход есть и сейчас я покажу как я это делал у себя на сервере. Хочу рассказать в своей статье «RDP на Debian/Ubuntu/Mint с помощью XRDP» как я настроил RDP на Debian.

Желательно выполнить обновление всего:

# sudo apt-get update && sudo apt-get upgrade

Установим сначала дополнительное программное обеспечение:

# sudo apt-get install ubuntu-desktop

Можно ознакомиться с другими графическими оболочками в моей теме:

После того как установится xRDP, мы его запустим:

Теперь создадим пользователя под управление нашего соединения, у меня это будет пользователь XRDP:

Может такая команды и не выполниться, то нужно сделать «финт ушами», а именно запустить с параметром:

# adduser XRDP --force-badname

Даем нашему пользователю ( у меня — XRDP) права полного доступа ( рута):

Так же, зададим пароль для пользователя:

Теперь запустите «Remote Desktop Connection,» на вашей локальной машине. Можно ввести «MSTSC» перешел в Пуск -> Выполнить или вы можете найти программу в вашем меню.

запускаем службу с RDP

В открывшееся окно вводим IP адрес нашего сервера (если кто не знает какой ИП, то выполните ifconfig), вводим пользователя и нажимаем «подключить».

У меня открылось окно, вроде бы все хорошо, а вот нет! Почитал логи, все чисто было. Оказалось нужно еще кое что добавить и немного установить. Сейчас мы этим займемся.

Была проблема в том, что если вы используете только консоль ( это же логично, зачем на серверах ставить GUI), то на машине не установлены графические оболочки.

Устанавливаем xfce4 на сервер, но перед этим всем обновимся:

# sudo apt-get update # sudo apt-get install xfce4

После установки графической среды, пропишем параметр входа в систему:

# echo xfce4-session >~/.xsession

Но т.к я юзаю пользователя XRDP, то нужно и для него это сделать:

# echo xfce4-session > /home/XRDP/.xsession

Перезапускаем саму службу:

# sudo service xrdp restart

После чего можно пробовать подключатся! Должно все работать.

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

# vim /etc/xrdp/start_xRDP.sh #!/bin/sh if [ -r /etc/default/locale ]; then . /etc/default/locale export LANG LANGUAGE fi #. /etc/X11/Xsession startxfce4 # or startlxde, startlubuntu, gnome-session, startkde
# chmod +x /etc/xrdp/start_xRDP.sh

PS: можно так же установить Gnome, KDE, LXDE, но это кто к чему привык. Но не забывайте прописать в файл с сессией строки запуска X. Но как по мне, Это извращение ставить графическую оболочку! Юзайте консоль, люди!

Источник

Оцените статью
Adblock
detector