How to Install and Configure VNC on Ubuntu 18.04
Innehållsförteckning:
- förutsättningar
- Installera skrivbordsmiljö
- Installera VNC-server
- Konfigurera VNC-server
- Skapa en systemd-enhetsfil
- Ansluter till VNC-server
- Ställ in SSH-tunnel på Linux och macOS
- Ställ in SSH-tunnel på Windows
- Slutsats
Den här guiden behandlar de steg som krävs för att installera och konfigurera VNC-server på ett Ubuntu 18.04-system. Vi kommer också att visa dig hur du säkert kan ansluta till VNC-servern via en SSH-tunnel.
Virtual Network Computing (VNC) är ett grafiskt system för delning av skrivbord som gör att du kan använda ditt tangentbord och mus för att fjärrstyra en annan dator. Det är ett alternativ med öppen källkod till Microsoft Remote Desktop Protocol (RDP).
förutsättningar
Innan du fortsätter med självstudien, se till att du är inloggad som användare med sudo-behörigheter.
Installera skrivbordsmiljö
De flesta servrar har inte en skrivbordsmiljö installerad, så vi börjar med att installera en lätt skrivbordsmiljö.
Det finns flera skrivbordsmiljöer (DE) tillgängliga i Ubuntu-förvar. I denna handledning installerar vi Xfce. Det är en snabb, stabil och lätt skrivbordsmiljö, vilket gör den idealisk för användning på en fjärrserver.
Uppdatera ditt system först med:
sudo apt update
sudo apt upgrade
Skriv sedan följande kommando för att installera Xfce på din server:
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Beroende på ditt system kan det ta lite tid att ladda ner och installera Xfce-paketen.
Installera VNC-server
Det finns också flera olika VNC-servrar tillgängliga i Ubuntu-lagrar som TightVNC, TigerVNC och x11vnc. Varje VNC-server har olika styrkor och svagheter vad gäller hastighet och säkerhet.
Vi kommer att installera TigerVNC, som aktivt upprätthålls högpresterande VNC-server.
Skriv följande kommando för att installera TigerVNC på din Ubuntu-server:
sudo apt install tigervnc-standalone-server tigervnc-common
Nu när VNC-servern är installerad är nästa steg att köra
vncserver
kommandot som skapar den initiala konfigurationen och konfigurerar lösenordet. Använd inte sudo när du kör följande kommando:
vncserver
Du blir ombedd att ange och bekräfta lösenordet och om du vill ställa in det som visningslösenord. Om du väljer att ställa in ett lösenord som bara är synligt kan användaren inte interagera med VNC-instansen med musen och tangentbordet.
You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n /usr/bin/xauth: file /home/linuxize/.Xauthority does not exist New 'server2.linuxize.com:1 (linuxize)' desktop at:1 on machine server2.linuxize.com Starting applications specified in /etc/X11/Xvnc-session Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd:1 to connect to the VNC server.
Första gången
vncserver
kommandot körs kommer det att skapa och lagra lösenordsfilen i katalogen
~/.vnc
som skapas om den inte finns.
Notera
:1
efter värdnamnet i utgången ovan. Detta indikerar visningsportnumret som vnc-servern körs på. I vårt fall kör servern på TCP-port
5901
(5900 + 1). Om du skapar en andra instans med
vncserver
kommer den att köras på nästa gratisport, dvs
:2
vilket betyder att servern körs på port
5902
(5900 + 2).
Vad som är viktigt att komma ihåg är att när du arbetar med VNC-servrar
:X
är en visningsport som refererar till
5900+X
Innan du fortsätter med nästa steg, stoppa först VNC-instansen med kommandot
vncserver
med ett
-kill
alternativ och
-kill
som ett argument. I vårt fall kör servern i port 5901 (
:1
), så vi stoppar den med:
vncserver -kill:1
Killing Xtigervnc process ID 7264… success!
Konfigurera VNC-server
Nu när vi har både Xfce och TigerVNC installerat på vår server måste vi konfigurera TigerVNC för att använda Xfce. Så här skapar du följande fil:
nano ~/.vnc/xstartup
#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4
Spara och stäng filen. Kommandona ovan körs automatiskt när du startar eller startar om TigerVNC-servern.
~/.vnc/xstartup
filen måste också ha exekverande behörigheter. Kör följande
chmod
kommando för att se till att rättigheterna är korrekta:
chmod u+x ~/.vnc/xstartup
~ /.Vnc / config
Skapa en systemd-enhetsfil
Vi skapar en systemd-enhetsfil som gör att vi enkelt kan starta, stoppa och starta om VNC-tjänsten efter behov, samma som alla andra systemd-tjänster.
Öppna din textredigerare och kopiera och klistra in följande konfiguration i den. Se till att ändra användarnamnet i rad 7 för att matcha ditt användarnamn.
sudo nano /etc/systemd/system/[email protected]
/etc/systemd/system/[email protected]
Description=Remote desktop service (VNC) After=syslog.target network.target Type=simple User=linuxize PAMName=login PIDFile=/home/%u/.vnc/%H%i.pid ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill:%i > /dev/null 2>&1 ||:' ExecStart=/usr/bin/vncserver:%i -geometry 1440x900 -alwaysshared -fg ExecStop=/usr/bin/vncserver -kill:%i WantedBy=multi-user.target
Spara och stäng filen.
Meddela systemd att vi skapade en ny enhetsfil med:
sudo systemctl daemon-reload
Nästa steg är att aktivera enhetsfilen med följande kommando:
sudo systemctl enable [email protected]
Siffran
1
efter
@
-tecknet definierar visningsporten som VNC-tjänsten ska köras på. Detta betyder att VNC-servern lyssnar på port
5901
, som vi diskuterade i föregående avsnitt.
Starta VNC-tjänsten genom att köra:
sudo systemctl start [email protected]
Kontrollera att tjänsten har startats med:
sudo systemctl status [email protected]
● [email protected] - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/[email protected]; indirect; vendor preset: enabled) Active: active (running) since Thu 2018-08-16 19:05:54 UTC; 4s ago Process: 9893 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill:1 > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS) Main PID: 9900 (vncserver) Tasks: 0 (limit: 507) CGroup: /system.slice/system-vncserver.slice/[email protected] ‣ 9900 /usr/bin/perl /usr/bin/vncserver:1 -geometry 1440x900 -alwaysshared -fg
Ansluter till VNC-server
VNC är inte ett krypterat protokoll och kan bli föremål för paket snifning. Det rekommenderade tillvägagångssättet är att skapa en SSH-tunnel som säkert kommer att vidarebefordra trafik från din lokala maskin på port 5901 till servern i samma port.
Ställ in SSH-tunnel på Linux och macOS
ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address
Du blir ombedd att ange användarlösenordet.
Glöm inte att byta ut
username
och
server_ip_address
med ditt användarnamn och din serverns IP-adress.
Ställ in SSH-tunnel på Windows
Öppna Kitt och ange din server IP-adress i fältet
Host name or IP address
.




Du kan börja interagera med fjärrskrivbordet XFCE från din lokala maskin med ditt tangentbord och mus.
Slutsats
Nu bör du ha en VNC-server igång och du kan enkelt hantera din Ubuntu 18.04-server från din lokala skrivbordsmaskin med ett lättanvänt grafiskt gränssnitt.
För att konfigurera din VNC-server så att den startar en skärm för mer än en användare, skapar du den initiala konfigurationen och konfigurerar lösenordet med kommandot
vncserver
. Du måste också skapa en ny tjänstefil med en annan port.
Lämna gärna en kommentar om du har några frågor.
ubuntu vncHur man installerar och konfigurerar en nfs-server på ubuntu 18.04
Network File System (NFS) är ett distribuerat filsystemprotokoll som låter dig dela fjärrkataloger över ett nätverk. I den här tutorialen går vi igenom hur man ställer in en NFSv4-server på Ubuntu 18.04.
Hur du installerar och konfigurerar vnc på centos 7
I den här tutorialen kommer vi att leda dig genom stegen för att installera och konfigurera en VNC-server på ett CentOS 7-system. Vi kommer också att visa dig hur du säkert kan ansluta till VNC-servern via en SSH-tunnel.
Hur man installerar och konfigurerar vnc på debian 9
Denna handledning beskriver hur du installerar och konfigurerar VNC-server på ett Debian 9-system. Virtual Network Computing (VNC) är ett grafiskt system för delning av skrivbord som gör att du kan använda tangentbordet och musen för att fjärrstyra en annan dator.







