Android

Hur du installerar och konfigurerar vnc på centos 7

AB Tutorials - VNC Server Configuration On Centos 7

AB Tutorials - VNC Server Configuration On Centos 7

Innehållsförteckning:

Anonim

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.

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.

förutsättningar

Innan du fortsätter med självstudien, se till att du är inloggad som användare med sudo-behörigheter. Vi antar att du är inloggad som användare som heter linuxize .

Installera Xfce Desktop miljö

CentOS-serverinstallationer kommer ofta inte med en skrivbordsmiljö installerad, så vi börjar med att installera en lätt skrivbordsmiljö.

I den här guiden installerar vi Xfce. Det är en snabb, stabil och låg på systemresurser, vilket gör den idealisk för användning på fjärrservrar.

Xfce-paket finns tillgängliga i EPEL-lagringarna. Om du inte har EPEL-arkiv aktiverat på din server kan du göra det genom att skriva:

sudo yum install epel-release

När förvaret har lagts till installerar du Xfce på ditt CentOS med:

sudo yum groupinstall xfce

Beroende på ditt system kan nedladdning och installation av Xfce-paket och beroenden ta lite tid.

Installera VNC-server

Vi kommer att använda TigerVNC som vår valde VNC-server. TigerVNC är en aktivt underhållen högpresterande open source VNC-server.

Skriv följande kommando för att installera TigerVNC på din CentOS-server:

yum install tigervnc-server

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

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 Xvnc process ID 2432

Konfigurera VNC-server

Nu när både Xfce och TigerVNC är installerade på vår CentOS-server är nästa steg att konfigurera TigerVNC att använda Xfce. För att göra det öppnar du följande fil:

nano ~/.vnc/xstartup

Och ändra den sista raden från exec /etc/X11/xinit/xinitrc till exec startxfce4 :

~ /.Vnc / Xstartup

#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4

Spara och stäng filen. Skriptet ovan kommer att köras automatiskt när du startar eller startar om TigerVNC-servern.

Här är ett exempel:

~ /.Vnc / config

# securitytypes=vncauth, tlsvnc # desktop=sandbox geometry=1920x1080 # localhost # alwaysshared dpi=96

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.

Kopiera vncserver-enhetsfilen med cp kommandot:

sudo cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

Öppna filen med din textredigerare och ersätt den med ditt faktiska användarnamn.

sudo nano /etc/systemd/system/vncserver@\:1.service /etc/systemd/system/vncserver@:1.service

Description=Remote desktop service (VNC) After=syslog.target network.target Type=forking # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' ExecStart=/usr/sbin/runuser -l linuxize -c "/usr/bin/vncserver %i" PIDFile=/home/linuxize/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' 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 vncserver@:1.service

Siffran 1 efter @ -tecknet definierar visningsporten som VNC-tjänsten ska köras på, i vårt fall är det standard 1 och 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 vncserver@:1.service

Kontrollera att tjänsten har startats med:

sudo systemctl status vncserver@:1.service

● vncserver@:1.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2018-09-16 09:59:53 UTC; 4s ago Process: 6391 ExecStart=/usr/sbin/runuser -l linuxize -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS) Process: 6389 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS) Main PID: 6413 (Xvnc) CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service ‣ 6413 /usr/bin/Xvnc:1 -auth /home/linuxize/.Xauthority -desktop server2.linuxize.com:1 (linuxize) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /home/linuxize/.vnc/passwd -rfbport…

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 nu 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 CentOS 7-server med ett 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 ursprungliga konfigurationen och konfigurerar lösenordet med vncserver kommandot och skapar en ny servicefil med en annan port.

Lämna gärna en kommentar om du har några frågor.

centos vnc