Linux

Slik installerer og konfigurerer du VNC på Ubuntu 20.04

Slik installerer og konfigurerer du VNC på Ubuntu 20.04

Virtual Network Computing (VNC) er et grafisk skrivebordsdelingssystem som lar deg bruke tastatur og mus til å kontrollere en annen datamaskin eksternt. Det er et åpen kildekodealternativ til Microsoft Remote Desktop Protocol (RDP).

Denne artikkelen forklarer hvordan du installerer og konfigurerer en VNC-server på Ubuntu 20.04. Vi viser deg også hvordan du sikkert kobler til VNC-serveren gjennom en SSH-tunnel.

Installere skrivebordsmiljø #

Ubuntu-servere administreres fra kommandolinjen og har ikke et skrivebordsmiljø installert som standard. Hvis du kjører desktopversjonen av Ubuntu, hopper du over dette trinnet.

Det er forskjellige skrivebordsmiljøer tilgjengelig i Ubuntu-arkiver. Et alternativ er å installere Gnome, som er standard skrivebordsmiljø i Ubuntu 20.04. Et annet alternativ er å installere Xfce . Det er et raskt, stabilt og lett skrivebordsmiljø, noe som gjør det ideelt for bruk på en ekstern server.

I denne guiden installerer vi Xfce. Skriv inn følgende kommandoer som en bruker med sudo-rettigheter:

sudo apt oppdateringsudo apt installere xfce4 xfce4-godbiter

Avhengig av systemet kan det ta litt tid å laste ned og installere Xfce-pakker.

Installere VNC Server #

Det er flere forskjellige VNC-servere tilgjengelig i Ubuntu-arkiver, for eksempel TightVNC, TigerVNC og x11vnc . Hver VNC-server har forskjellige styrker og svakheter når det gjelder hastighet og sikkerhet.

Vi installerer TigerVNC. Det er en aktivt vedlikeholdt VNC-server med høy ytelse. Skriv inn følgende kommando for å installere pakken:

sudo apt installer tigervnc-frittstående server

Konfigurere VNC Access #

Når VNC-serveren er installert, er neste trinn å opprette den første brukerkonfigurasjonen og sette opp passordet.

Angi brukerpassordet ved hjelp av vncpasswd kommando. Ikke bruk sudo når du kjører kommandoen nedenfor:

vncpasswd

Du blir bedt om å angi og bekrefte passordet, og om du skal angi det som et passord bare for visning. Hvis du velger å sette opp et visningspassord, vil ikke brukeren kunne samhandle med VNC-forekomsten med musen og tastaturet.

Passord: Bekreft: Vil du skrive inn et passord som bare kan vises (j / n)? n 

Passordfilen er lagret i ~ /.vnc katalog, som opprettes hvis den ikke er til stede.

Deretter må vi konfigurere TigerVNC til å bruke Xfce. For å gjøre det, opprett følgende fil:

~ /.vnc / xstartup
nano ~ /.vnc / xstartup
#!/ bin / sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4 

Lagre og lukk filen. Kommandoene ovenfor blir automatisk utført hver gang du starter eller starter TigerVNC-serveren på nytt.

De ~ /.vnc / xstartup filen må også utføre tillatelser. Bruke chmod kommando for å angi filtillatelser:

chmod u + x ~ /.vnc / xstartup

Hvis du trenger å gi flere alternativer til VNC-serveren, oppretter du en fil med navnet config og legg til ett alternativ per linje. Her er et eksempel:

~ /.vnc / config
geometri = 1920x1080 dpi = 96 

Du kan nå starte VNC-serveren ved hjelp av vncserver kommando:

vncserver
Ny server2.linuxize.com: 1 (linuxize) 'desktop på: 1 på maskinserver2.linuxize.com Starte applikasjoner spesifisert i / home / linuxize /.vnc / xstartup-loggfilen er / home / linuxize /.vnc / server2.linuxize.com: 1.logg Bruk xtigervncviewer -SecurityTypes VncAuth -passwd / home / linuxize /.vnc / passwd: 1 for å koble til VNC-serveren. 

Legg merke til :1 etter vertsnavnet i utgangen ovenfor. Dette indikerer nummeret på skjermporten som vnc-serveren kjører på. I dette eksemplet kjører serveren på TCP-port 5901 (5900 + 1). Hvis du oppretter en ny forekomst med vncserver den vil kjøre på neste gratis port i.e : 2, som betyr at serveren kjører på port 5902 (5900 + 2).

Det som er viktig å huske er at når du arbeider med VNC-servere, : X er en skjermport som refererer til 5900 + X.

Du kan få en liste over alle nåværende VNC-økter ved å skrive:

vncserver -liste
TigerVNC-serverøkter: X DISPLAY # RFB PORT # PROSESS ID: 1 5901 5710 

Før du fortsetter med neste trinn, må du stoppe VNC-forekomsten med vncserver kommando med en -drepe alternativet og servernummeret som argument. I dette eksemplet kjører serveren i port 5901 (:1), så vi stopper det med:

vncserver -kill: 1
Drap Xtigervnc prosess ID 5710 ... suksess! 

Opprette en Systemd-enhetsfil #

I stedet for å starte VNC-sesjonen manuelt, la oss lage en systemd-enhetsfil slik at du starter, stopper og starter VNC-tjenesten etter behov.

Åpne teksteditoren din og kopier og lim inn følgende konfigurasjon i den. Sørg for å endre brukernavnet på linje 7 for å matche brukernavnet ditt.

sudo nano / etc / systemd / system / vncserver @.service
/ etc / systemd / system / vncserver @.service
[Enhet] Beskrivelse = Remote Desktop Service (VNC) After = syslog.målnettverk.target [Service] Type = enkel bruker = 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 -alltid delt -fg ExecStop = / usr / bin / vncserver -drep:% i [Install] WantedBy = flerbruker.mål

Lagre og lukk filen.

Meld systemd at en ny enhetsfil er opprettet:

sudo systemctl daemon-reload

Aktiver tjenesten for å starte ved oppstart:

sudo systemctl aktiver vncserver @ 1.service

Antallet 1 etter @ tegn definerer skjermporten som VNC-tjenesten skal kjøre på. Dette betyr at VNC-serveren vil lytte på port 5901, som vi diskuterte i forrige avsnitt.

Start VNC-tjenesten ved å utføre:

sudo systemctl start vncserver @ 1.service

Bekreft at tjenesten er startet med:

sudo systemctl status vncserver @ 1.service
● vncserver @ 1.service - Remote Desktop service (VNC) Lastet: lastet (/ etc / systemd / system / vncserver @.service; aktivert; leverandør forhåndsinnstilling: aktivert) Aktiv: aktiv (kjører) siden fre 2021-03-26 20:00:59 UTC; For 3 sekunder siden .. 

Koble til VNC-server #

VNC er ikke en kryptert protokoll og kan være utsatt for pakksnusing. Den anbefalte tilnærmingen er å lage en SSH-tunnel og videresende trafikk fra din lokale maskin på port 5901 til serveren på samme port.

Konfigurer SSH Tunneling på Linux og macOS #

Hvis du kjører Linux, macOS eller andre Unix-baserte operativsystemer på maskinen din, kan du enkelt opprette en SSH-tunnel med følgende kommando:

ssh -L 5901: 127.0.0.1: 5901 -N -f -l vagrant 192.168.33.10

Du blir bedt om å oppgi brukerpassordet.

Sørg for å bytte ut brukernavn og server_ip_adresse med brukernavnet og IP-adressen til serveren din.

Konfigurer SSH Tunneling på Windows #

Hvis du kjører Windows, kan du konfigurere SSH Tunneling ved hjelp av PuTTY SSH-klienten .

Åpne Putty og skriv inn serverens IP-adresse i Vertsnavn eller IP-adresse felt.

Under Forbindelse meny, boks, utvid SSH, og velg Tunneler. Angi VNC-serverporten (5901) i Kildehavn felt og skriv inn server_ip_address: 5901 i Mål og klikk på Legge til som vist på bildet nedenfor:

Gå tilbake til Økt siden for å lagre innstillingene, slik at du ikke trenger å angi dem hver gang. Velg den lagrede økten til den eksterne serveren og klikk på Åpen knapp.

Koble til med Vncviewer #

Nå som SSH-tunnelen er opprettet, er det på tide å åpne Vncviewer og koble til VNC-serveren på lokal vert: 5901.

Du kan bruke hvilken som helst VNC-seer som TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre og VNC Viewer for Google Chrome .

Vi bruker TigerVNC. Åpne visningen, gå inn lokal vert: 5901, og klikk på Koble knapp.

Skriv inn brukerpassordet ditt når du blir bedt om det, og du skal se standard Xfce-skrivebordet. Det vil se ut slik:

Du kan begynne å samhandle med det eksterne XFCE-skrivebordet fra din lokale maskin ved hjelp av tastatur og mus.

Konklusjon #

Vi har vist deg hvordan du installerer og konfigurerer en VNC-server på Ubuntu 20.04.

For å konfigurere VNC-serveren din til å starte en skjerm for mer enn én bruker, oppretter du den første konfigurasjonen og konfigurerer passordet ved hjelp av vncpasswd kommando. Du må også opprette en ny tjenestefil ved hjelp av en annen port.

Legg gjerne igjen en kommentar hvis du har spørsmål.

Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...
Beste kommandolinjespill for Linux
Kommandolinjen er ikke bare din største allierte når du bruker Linux, den kan også være kilden til underholdning fordi du kan bruke den til å spille m...