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

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.

Článek níže platí pro starší verzi TigerVNC, pro novou verzi čtěte nový postup uvedený v poradně:
TigerVNC - vncserver has been replaced by a systemd unit


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

Komentáře

Vaše reakce na Linux CentOS: Nastavení VNC serveru pro více uživatelů

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.