Установка xrdp

Thank you for reading this post, don't forget to subscribe!

сна­ча­ла нам нуж­но уста­но­вить ком­по­нен­ты рабо­че­го сто­ла — а имен­но GNOME. Сде­лать это мож­но сле­ду­ю­щим образом.

Полу­чим спи­сок групп доступ­но­го для уста­нов­ки про­грамм­но­го обеспечения

yum grouplist

или так

yum groups list

Сре­ди тек­ста выво­да команд мы уви­дим стро­ку «GNOME Desktop»
Она то нам и нужна.
Запу­стить уста­нов­ку мы можем одной из сле­ду­ю­щих команд

yum groupinstall "GNOME Desktop"

или

yum groups install "GNOME Desktop"

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

yum groupinstall "Server with GUI"

или

yum groups install "Server with GUI"

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

systemctl set-default graphical.target

Для того, что­бы акти­ви­ро­вать его без перезагрузки

systemctl start graphical.target

xrdp

Теперь перей­дем к xrdp.
Сна­ча­ла доба­вим нуж­ный нам репо­зи­то­рий. А пона­до­бит­ся нам EPEL — Extra Packages for Enterprise Linux. Най­ти ссыл­ку на его теку­щую вер­сию мы можем, загля­нув по адре­су http://download.fedoraproject.org/pub/epel.

В моем слу­чае коман­ды будут выгля­деть сле­ду­ю­щим образом

wget http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
rpm -ivh epel-release-7-6.noarch.rpm

Еще одним вари­ан­том, и соот­вет­ствен­но, с тем же резуль­та­том, будет сле­ду­ю­щая коман­да, кото­рая пред­став­ля­ет из себя объ­еди­не­ние двух преды­ду­щих строк

rpm -ivh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm

Теперь, если мы вве­дем команду

yum repolist

в спис­ке выво­да мы долж­ны уви­деть нечто подобное

epel/x86_64   Extra Packages for Enterprise Linux 7 - x86_64   10,042

Далее нам нуж­но уста­но­вить xrdp.

yum install xrdp

Если после это­го мы попы­та­ем­ся запу­стить xrdp, то это у нас ско­рее все­го не полу­чит­ся, а в логах (коман­да journalctl -xe) мы уви­дим сооб­ще­ния «Failed at step EXEC spawning /usr/sbin/xrdp-sesman: Permission denied» и «Failed at step EXEC spawning /usr/sbin/xrdp: Permission denied».
Что­бы все-таки их запу­стить, нам нуж­но изме­нить кон­текст без­опас­но­сти SELinux для этих двух файлов.

chcon -t bin_t /usr/sbin/xrdp
chcon -t bin_t /usr/sbin/xrdp-sesman
или так
chcon -h system_u:object_r:bin_t:s0 /usr/sbin/xrdp
chcon -h system_u:object_r:bin_t:s0 /usr/sbin/xrdp-sesman

Запу­стить xrdp мож­но командой

systemctl start xrdp

а про­ве­рить, запу­стил­ся ли он

systemctl status xrdp

Что­бы xrdp запус­кал­ся каж­дый раз при стар­те системы

systemctl enable xrdp

Для под­твер­жде­ния того, что он ожи­да­ет под­клю­че­ний на пола­га­ю­щем­ся ему пор­ту 3389 мож­но вве­сти сле­ду­ю­щую команду

netstat -antup | grep xrdp

Firewall

Если на вашей систе­ме акти­вен меж­се­те­вой экран, потре­бу­ет­ся раз­ре­шить про­хож­де­ние тра­фи­ка на порт 3389. Сде­лать это мож­но сле­ду­ю­щи­ми командами

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

Теперь мож­но попро­бо­вать под­клю­чить­ся к систе­ме при помо­щи rdp-кли­ен­та, напри­мер, Microsoft Remote Desktop Connection.