RDP-сервер из Centos 7

Это вторая статья из цикла статей про установку и настройку 1С Сервера на ОС Linux Centos 7.

Первую статью можно найти по этой ссылке.

В этой же статье мы будем из Centos 7 делать RDP-сервер.

Итак…

Шаг 1.

Открываем терминал.

И подключим репозиторий epel.

yum install -y epel-release

Шаг 2.

Отключаем selinux. Конечно, лучше его не отключать, а настраивать, но при желании мы всегда можем это сделать позже.

cp  /etc/selinux/config /etc/selinux/config.old
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

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

Шаг 3.

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

yum -y install mc screen atop

Шаг 4.

Установим рабочую среду МАТЕ, т.к. она почему-то пользователям нравится больше, чем GNOME.

yum -y groupinstall "Рабочая среда MATE" "MATE"

Шаг 5.

Теперь установим и запустим RDP-сервер.

yum install -y xrdp xorgxrdp
systemctl enable xrdp
systemctl start xrdp

Шаг 6.

Для того, чтобы можно было подключаться к серверу, откроем в сетевом экране порт 3389/tcp.

firewall-cmd --add-port=3389/tcp --permanent
firewall-cmd --reload

Шаг 7.

А теперь немного магии. 🙂

Если во время работы RDP-клиента сессия будет случайно или специально прервана, то при новом подключении откроется НОВАЯ сессия, а СТАРАЯ сессия со всеми открытыми программами так и останется висеть в памяти сервера, что, возможно, будет мешать работе. Чтобы при повторном подключении попадать в свой прежний сеанс нужно немного изменить настройки XRDP, для этого в файле /etc/xrdp/xrdp.ini меняем fork=true на fork=false

cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.old
sed -i 's/fork=true/fork=false/' /etc/xrdp/xrdp.ini

Шаг 8.

Настроим, чтобы пользователи root и mihanik при подключении по RDP использовали рабочую среду MATE.

echo "mate-session"> ~/.Xclients
chmod a+x ~/.Xclients
su mihanik
echo "mate-session"> ~/.Xclients
chmod a+x ~/.Xclients
exit

Шаг 9.

Перезагружаемся

reboot

Шаг 10.

Подключаемся любым RDP-клиентом к нашему серверу.

Замечание!

Если при подключении к удалённому рабочему столу использовать «удачную» глубину цвета, например, в 15 бит, то установить сессию не получиться. Я обычно использую глубину цвета в 16 бит.

Ура? Всё работает?

Тогда вам повезло!!!

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

Что я сделал? 😉

Перешёл к следующему шагу. 🙂

Шаг 11.

Доустанавливаем недостающее

yum -y groupinstall "Окружение GNOME"

Далее в файле /etc/xrdp/xrdp.ini комментируем секцию [Xvnc] , а секцию [Xorg] наоборот, — раскомментируем.

cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.old2
mcedit /etc/xrdp/xrdp.ini

При помощи редактора приведите всё примерно к такому виду:

;
; 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
; Disable requested encodings to support buggy VNC servers
; (1 = ExtendedDesktopSize)
#disabled_encodings_mask=0

И перезапускаем xrdp

systemctl restart xrdp

Вот теперь должно быть «Ура! Работает!» 😉

PS. Решение проблемы с переключением языка клавиатуры при подключении из Windows

Если всё ещё будут проблемы с переключением раскладки, откройте файл /etc/xrdp/xrdp_keyboard.ini :

cp /etc/xrdp/xrdp_keyboard.ini /etc/xrdp/xrdp_keyboard.ini.old
mcedit /etc/xrdp/xrdp_keyboard.ini

И добавьте в конец файла:

[layouts_map_ru]
rdp_layout_us=ru,us
rdp_layout_ru=ru,us

[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru

В данной конфигурации раскладка переключается сочетанием клавиш Alt+Shift.

Для применения настроек перезагрузите сервер xrdp:

systemctl restart xrdp

Если и это не поможет, то google | yandex вам в помощь.

<< Предыдущая статья          Следующая статья >>