Wéi installéiere a konfiguréieren VNC Server op Ubuntu


Virtual Network Computing (VNC) ass e wäit benotzte grafeschen Desktop-Sharing System deen Benotzerkonten erlaabt d'Desktop-Interface vun engem Computer vun engem anere Computer oder mobilen Apparat op afstand ze verbannen an ze kontrolléieren.

An dësem Artikel erkläre mir wéi Dir e VNC Server op enger Ubuntu 18.04 Desktop Editioun iwwer Tigervnc-Server Programm installéiere an konfiguréieren.

VNC Server: 192.168.56.108
VNC Client: 192.168.56.2

Installéiert eng Desktop-Ëmfeld an Ubuntu

Wéi gesot, VNC ass en Desktop-Sharing System, also musst Dir en Desktop-Ëmfeld op Ärem Ubuntu-Server installéieren. Dir kënnt den DE vun Ärer Wiel installéieren andeems Dir déi entspriechend Kommandoen hei drënner leeft. Fir den Zweck vun dësem Artikel installéiere mir Ubuntu Gnome (Offiziellen Aroma).

$ sudo apt-get install ubuntu-desktop		#Default Ubuntu desktop
$ sudo apt install ubuntu-gnome-desktop	        #Ubuntu Gnome (Official flavor)
$ sudo apt-get install xfce4			#LXDE
$ sudo apt-get install lxde			#LXDE
$ sudo apt-get install kubuntu-desktop		#KDE

Installéiert a konfiguréiert e VNC an Ubuntu

Tigervnc-Server ass e High-Speed, Multi-Plattform VNC Programm deen en Xvnc Server leeft an parallel Sessiounen vu Gnome oder aner Desktop-Ëmfeld op dem VNC Desktop starten.

Fir den TigerVNC Server an aner assoziéiert Packagen an Ubuntu z'installéieren, fuert de folgende Kommando.

$ sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

Elo starten de VNC Server andeems Dir de vncserver Kommando als normale Benotzer ausféiert. Dës Aktioun erstellt déi initial Konfiguratioun déi am $HOME/.vnc Verzeechnes gespäichert ass an et freet Iech och e Login-Passwuert opzestellen.

Gitt e Passwuert un (dat muss mindestens sechs Zeechen Längt sinn) a bestätegen/bestätegen et. Setzt dann e View-only Passwuert wann Dir wëllt, wéi follegt.

$ vncserver
$ ls -l ~/.vnc 

Als nächst musse mir den DE konfiguréieren fir mam VNC Server ze schaffen. Also stoppt de VNC Server mat dem folgenden Kommando, fir e puer Konfiguratiounen auszeféieren.

$ vncserver -kill :1

Fir GNOME ze konfiguréieren oder egal wéi en Desktop Dir installéiert hutt, erstellt eng Datei mam Numm xstartup ënner dem Konfiguratiounsverzeechnes mat Ärem Liiblingstexteditor.

$ vi ~/.vnc/xstartup

Füügt déi folgend Zeilen an der Datei. Dës Befehle ginn automatesch ausgefouert wann Dir den TigerVNC Server start oder nei start. Bedenkt datt d'Befehle variéiere kënnen ofhängeg vum DE deen Dir installéiert hutt.

#!/bin/sh
exec /etc/vnc/xstartup
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

Späichert d'Datei a setzt déi entspriechend Erlaabnis op d'Datei sou datt se ausgefouert ka ginn.

$ chmod 700 ~/.vnc/xstartup

Als nächst fänkt de VNC Server un andeems Dir de folgende Kommando als normale Benotzer leeft. Setzt Är eege Wäerter fir d'Displaygeometrie. Zousätzlech benotzt de -localhost Fändel fir Verbindunge vum localhost nëmmen an duerch Analogie z'erméiglechen, nëmme vu Benotzer déi um Server authentifizéiert sinn.

Zousätzlech benotzt VNC als Standard den TCP Port 5900+N, wou N d'Displaynummer ass. An dësem Fall heescht de :1 datt de VNC Server op Displayport Nummer 5901 leeft.

$ vncserver :1 -localhost -geometry 1024x768 -depth 32

Fir VNC Server Sessiounen op Ärem System ze lëschten, fuert de folgende Kommando.

$ vncserver -list

Wann de VNC Server gestart ass, kontrolléiert den Hafen op deem et mam Netstat Kommando leeft.

$ netstat -tlnp

Verbindung mat VNC Server iwwer VNC Client

An dëser Sektioun wäerte mir weisen wéi Dir mat dem VNC Server verbënnt, awer ier mer an dat goen, musst Dir wëssen datt Standard VNC net als Standard sécher ass (et ass keen verschlësselte Protokoll a kann ënner Paketschnuffen ënnerleien) . Dëse Problem kann fixéiert ginn andeems en Tunnel vum Client op Serververbindung duerch SSH erstallt gëtt.

Mat SSH Tunneling kënnt Dir sécher Traffic vun Ärer lokaler Maschinn um Hafen 5901 op de VNC Server um selwechten Hafen weiderginn.

Op Linux Client Maschinn, öffnen eng nei Terminalfenster a lafen de folgende Kommando fir en SSH Tunnel op VNC Server ze kreéieren.

$ ssh -i ~/.ssh/ubuntu18.04 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.108

Nächst installéiere vncviewer Client wéi TigerVNC Viewer wéi follegt (Dir kënnt all anere Client vun Ärer Wiel installéieren).

$ sudo apt install tigervnc-viewer		#Ubuntu/Debian
$ sudo yum install tigervnc-viewer		#CnetOS/RHEL
$ sudo yum install tigervnc-viewer		#Fedora 22+
$ sudo zypper install tigervnc-viewer	        #OpenSUSE
$ sudo pacman -S tigervnc			#Arch Linux

Wann d'Installatioun fäerdeg ass, lafen Äre VNC Client, spezifizéiert d'Adress localhost:5901 fir mat dem Display 1 ze verbannen wéi follegt.

$ vncviewer localhost:5901

Alternativ, öffnen et aus dem Systemmenü, gitt d'Adress hei uewen a klickt dann op Connect.

Dir wäert gefuerdert ginn d'VNC Login Passwuert anzeginn, déi virdru erstallt gouf, gitt et a klickt OK fir weiderzemaachen.

Wann d'Passwuert richteg ass, wäert Dir an der Login Interface vun Ärem Desktop landen. Gitt Äert Passwuert fir Zougang zum Desktop.

Opgepasst: Wann Dir Sécherheetsbewosst sidd, hutt Dir vläicht gemierkt datt de VNC Viewer Verbindung net verschlësselt weist, och wa mir SSH Tunneling aktivéiert hunn.

Dëst ass well et entwéckelt ass fir spezifesch Sécherheetsschemaen ausser SSH Tunneling ze benotzen wann Dir probéiert mam Server ze authentifizéieren. Wéi och ëmmer, d'Verbindung ass sécher wann Dir SSH Tunneling aktivéiert hutt.

Erstellt eng Systemd Eenheetsdatei fir TigerVNC Server

Fir de VNC-Server ënner systemd ze verwalten, dh Start, Stop, a Restart de VNC Service wéi néideg, musse mir eng Eenheetsdatei dofir erstellen ënner dem /etc/systemd/system/ Verzeichnis, mat Root Privilegien.

$ sudo vim /etc/systemd/system/[email 

Füügt dann déi folgend Zeilen an der Datei derbäi:

[Unit] 
Description=Remote desktop service (VNC) 
After=syslog.target network.target 

[Service] 
Type=simple 
User=tecmint 
PAMName=login 
PIDFile=/home/%u/.vnc/%H%i.pid 
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1024x768 
ExecStop=/usr/bin/vncserver -kill :%i 

[Install] 
WantedBy=multi-user.target

Späichert d'Datei a maach se zou.

Als nächst lued d'Systemd Manager Konfiguratioun nei fir déi nei erstallt Eenheetsdatei ze liesen, wéi follegt.

$ sudo systemctl daemon-reload

Start dann de VNC Service, aktivéiert et fir automatesch beim Systemboot ze starten a kontrolléiert säi Status wéi gewisen.

$ sudo systemctl start [email 
$ sudo systemctl enable [email 
$ sudo systemctl status [email 

Dat ass alles! An dësem Artikel hu mir erkläert wéi Dir VNC Server op Ubuntu Linux Verdeelung installéiere an konfiguréieren. Deelt Är Ufroen oder Gedanken mat eis iwwer de Feedbackformular hei ënnen.