Linux CentOS: Nastavení VNC serveru pro více uživatelů

07.07.2017 napsal Hanz (update: 11.01.2019)
32

Linux CentOS: Nastavení VNC serveru pro více uživatelů


Na GNU/Linux je jednou z možností připojení uživatele k VNC serveru, aby mohl pracovat ve svém X rozhraní (X Window System, X11 desktop), použití balíčku x11vnc (článek). Pokud je však na daném Linux stroji více uživatelů, kteří chtějí pracovat souběžně na svých profilech, tak x11vnc již nevyhovuje a je potřeba sáhnout po jiném řešení. Jednou z možností je balíček tigervnc-server.


V tomto článku nastavíme VNC přístupy pro tři uživatele user1, user2 a user3. Jako první provedeme instalaci balíčku tigervnc-server na CentOS - yum install tigervnc-server a poté se hned vrhneme na jednotlivá nastavení VNC profilů/služeb pro dané uživatele. Ta jsou pro všechny uživatele stejná, jen se mění názvy uživatelů a hesla + číslo VNC portu viz dále.

VNC přístup pro user1



cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
vim /etc/systemd/system/vncserver@:1.service

ExecStart=/sbin/runuser -l user1 -c "/usr/bin/vncserver %i"
PIDFile=/home/user1/.vnc/%H%i.pid

su - user1
vncserver
su
systemctl daemon-reload
systemctl enable vncserver@:1.service

#############################
# Na VNC server se připojíme jako user1 k serveru na portu 5901
#############################



VNC přístup pro user2



cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
vim /etc/systemd/system/vncserver@:2.service

ExecStart=/sbin/runuser -l user2 -c "/usr/bin/vncserver %i"
PIDFile=/home/user2/.vnc/%H%i.pid

su - user2
vncserver
su
systemctl daemon-reload
systemctl enable vncserver@:2.service

#############################
# Na VNC server se připojíme jako user2 k serveru na portu 5902
#############################




VNC přístup pro user3



cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:3.service
vim /etc/systemd/system/vncserver@:3.service

ExecStart=/sbin/runuser -l user3 -c "/usr/bin/vncserver %i"
PIDFile=/home/user3/.vnc/%H%i.pid

su - user3
vncserver
su
systemctl daemon-reload
systemctl enable vncserver@:3.service

#############################
# Na VNC server se připojíme jako user3 k serveru na portu 5903
#############################



Dodatek:


Povolit např. port 5901 ve firewalld
firewall-cmd --zone=public --permanent --add-port=5901/tcp
firewall-cmd --reload

vncpasswd - změna aktuálního hesla pro VNC server

PS: Uvedené je otestováno na Linux Cent0S 7


Možné problémy po smazání uživatelů


Pokud časem dojde k vymazání některých uživatelů, kteří mají nastavenou vnc službu, tak může nastat problém se spuštěním vnc služby s chybou: "PID file /home/user10/.vnc/system:10.pid not readable (yet?) after start".


[root@system ~]# systemctl status vncserver@:10.service
● vncserver@:10.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:10.service; enabled; vendor preset: disabled)
Active: failed (Result: resources) since Pá 2019-01-11 08:01:37 CET; 25min ago
Process: 4827 ExecStart=/usr/sbin/runuser -l user10 -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)
Process: 4691 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)

led 11 08:01:33 system systemd[1]: Starting Remote desktop service (VNC)...
led 11 08:01:37 system systemd[1]: PID file /home/user10/.vnc/system:10.pid not readable (yet?) after start.
led 11 08:01:37 system systemd[1]: Failed to start Remote desktop service (VNC).
led 11 08:01:37 system systemd[1]: Unit vncserver@:10.service entered failed state.
led 11 08:01:37 system systemd[1]: vncserver@:10.service failed.


Služby vncserver@:XX.service v systemd bude třeba zrevidovat a ty již nepoužívané smazat:


[root@system]# ls -al /etc/systemd/system/vncserver*
-rw-r--r--. 1 root root 1689 10. dub 2018 /etc/systemd/system/vncserver@:11.service
-rw-r--r--. 1 root root 1689 2. bře 2018 /etc/systemd/system/vncserver@:12.service
-rw-r--r--. 1 root root 1876 8. čen 2017 /etc/systemd/system/vncserver@:1.service
-rw-r--r--. 1 root root 1876 8. čen 2017 /etc/systemd/system/vncserver@:2.service
-rw-r--r--. 1 root root 1882 29. čen 2017 /etc/systemd/system/vncserver@:3.service
-rw-r--r--. 1 root root 1884 18. čec 2017 /etc/systemd/system/vncserver@:4.service
-rw-r--r--. 1 root root 1878 23. říj 2017 /etc/systemd/system/vncserver@:5.service
-rw-r--r--. 1 root root 1880 8. zář 2017 /etc/systemd/system/vncserver@:6.service
-rw-r--r--. 1 root root 1878 8. zář 2017 /etc/systemd/system/vncserver@:7.service


A nakonec je poskládat pěkně za sebe (prostým mv vncserver@:11.service vncserver@:8.service atd):

[root@system ~]# ls -al /etc/systemd/system/vncserver*
-rw-r--r--. 1 root root 1876 8. čen 2017 /etc/systemd/system/vncserver@:1.service
-rw-r--r--. 1 root root 1876 8. čen 2017 /etc/systemd/system/vncserver@:2.service
-rw-r--r--. 1 root root 1882 29. čen 2017 /etc/systemd/system/vncserver@:3.service
-rw-r--r--. 1 root root 1884 18. čec 2017 /etc/systemd/system/vncserver@:4.service
-rw-r--r--. 1 root root 1878 23. říj 2017 /etc/systemd/system/vncserver@:5.service
-rw-r--r--. 1 root root 1880 8. zář 2017 /etc/systemd/system/vncserver@:6.service
-rw-r--r--. 1 root root 1878 8. zář 2017 /etc/systemd/system/vncserver@:7.service
-rw-r--r--. 1 root root 1689 10. dub 2018 /etc/systemd/system/vncserver@:8.service
-rw-r--r--. 1 root root 1689 2. bře 2018 /etc/systemd/system/vncserver@:9.service
Vaše reakce na článek Linux CentOS: Nastavení VNC serveru pro více uživatelů

Napsat komentář k článku

Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace