A Virtual Network Computing (VNC) egy képernyőmegosztó rendszer, amelyet a grafikus felhasználói felületek távoli elérésére használnak. A távoli keretpuffer (RFB) protokollt használja, amely lehetővé teszi az egyik szerver (felhasználói oldal) csatlakozását a másik oldalhoz (kliens). A VNC biztonságos, védett, és minden operációs rendszeren működik.
RealVNC, UltraVNC, Xfce, TightVNC, hogy csak néhányat említsünk, a ma használt legnépszerűbb VNC-kliensek. Az elérhető alternatívák listájából szabadon választhat bármilyen VNC-t az Ön kényelme szerint. Ebben az útmutatóban végigvezetjük Önt a VNC telepítésének és konfigurálásának lépésein Ubuntu 20.04-en. A(z) Xfce programot fogjuk telepíteni annak sebessége, kis mérete és kiváló teljesítménye miatt.
Egy VNC szerver beállításával kezdünk egy Ubuntu szerveren, és biztonságos kapcsolatot hozunk létre az SSH-alagúton keresztül. Végül egy VNC-kliens programot fogunk használni a helyi gépünkön, hogy egy grafikus asztali környezeten keresztül kommunikáljunk a szerverrel.
Előfeltételek
Az útmutató követéséhez a következőkre lesz szüksége:
-
Egy Ubuntu 20.04 szerver nem-root felhasználóval és egy egyszerű tűzfallal (UFW).
-
Egy helyi számítógép, amelyre telepítve van egy VNC-kliens. Emellett az általunk használt VNC-kliens SSH-n keresztül csatlakozik alagutakhoz.
1. lépés — Az asztali környezet és a VNC szerver telepítése
A korábbi Ubuntu verziókkal ellentétben az Ubuntu 20.04 nem tartalmaz előre telepített VNC-t. Első lépésként telepítjük a szükséges csomagokat a hivatalos Ubuntu tárolóból. Mielőtt továbblépnénk, frissítsük a meglévő csomagokat:
|
1 |
sudo apt update |
Most telepíteni fogjuk a(z) Xfce és a xfce4-goodies csomagot a következő paranccsal:
|
1 |
sudo apt install xfce4 xfce4-goodies |
A csomag telepítése közben egy képernyő jelenik meg, amely arra kéri, hogy válasszon alapértelmezett megjelenítés-kezelőt az Xfce-hez. Hagyja figyelmen kívül az üzenetet, vagy állítsa be alapértelmezettként, majd nyomja meg az ENTER.
gombot. A megjelenítés-kezelő egy olyan program, amely lehetővé teszi a felhasználók számára, hogy grafikus felületen keresztül jelentkezzenek be egy asztali környezetbe. Ebben az útmutatóban az Xfce-t fogjuk használni, amikor egy olyan VNC-klienssel csatlakozunk, ahol nem-root Ubuntu felhasználóként vagyunk bejelentkezve. Ezért a megjelenítés-kezelő kiválasztása nem lesz hatással a telepítésünkre.
Az Xfce telepítése után telepítjük a TightVNC szervert:
|
1 |
sudo apt install tightvncserver |
A következő lépésben használja a vncserver parancsot a VNC hozzáférési jelszó beállításához és a kezdeti konfigurációs fájlok létrehozásához. Írja be a következőt a VNC szerver példány elindításához:
|
1 |
vncserver |
Ezután állítson be egy 6-8 karakter hosszú jelszót, és nyomja meg az ENTER gombot. Egy felugró üzenetet fog látni:
|
1 2 3 4 5 |
Kimenet Önnek szüksége lesz egy jelszóra a saját asztalai eléréséhez. Jelszó: Ellenőrzés: |
A jövőben, ha meg szeretné változtatni a jelszavát, vagy csak megtekinthető jelszót szeretne hozzáadni, használja a következő parancsot:
|
1 |
vncpasswd |
Mostanra már létrejöttek a szerver alapértelmezett konfigurációi, és egy kijelzőport 5901 elindult mint :1. A VNC több példányt is elindíthat más kijelzőportokon, mint például a :2, :3, és a :4 a 5902, 5903 portra utalva, és a 5904 portra utalva:
|
1 2 3 4 5 6 7 8 9 |
Kimenet Szeretne megadni egy csak megtekinthető jelszót (y/n)? -only password (y/n)? n xauth: a /home/cloudsigma/.Xauthority fájl nem létezik Az új 'X' asztal a your_hostname:1 Alapértelmezett indító parancsfájl létrehozása /home/cloudsigma/.vnc/xstartup Indítás: alkalmazások megadva itt: /home/cloudsigma/.vnc/xstartup Naplófájl fájl itt található: /home/cloudsigma/.vnc/your_hostname:1.log |
A VNC-szerver sikeresen telepítve lett és fut. A következő lépésben konfiguráljuk a szervert az Xfce elindítására, hogy hozzáférjünk a grafikus felületen keresztül.
2. lépés — A VNC-szerver konfigurálása
A home könyvtár alatt megtalálja a .vnc mappát, amely tartalmazza az összes konfigurációs fájlt, amelyek neve startup. Kezdetben a futó startup fájlt fogja találni, amely automatikusan létrejött, amikor futtattuk a vncserver parancsot a 1. lépésben. Az indító szkript akkor jött létre, amikor futtatta a vncserver parancsot az előző lépésben. Most azonban létre kell hoznia a sajátját az Xfce asztal elindításához. Saját szervert is létre kell hoznunk az Xfce asztal elindításához, mert a VNC konfigurációja megváltozik.
Mielőtt továbblépnénk, le kell állítanunk a VNC-szerver példányt, amely a következő porton fut: 5901:
|
1 |
vncserver -kill :1 |
A következő kimenetet fogja látni:
|
1 2 |
Kimenet Leállítás: Xtightvnc folyamat ID 17648 nano ~/.vnc/xstartup |
A helyett17648, egy másik számot kaphat, és ez teljesen rendben van. Ezután módosítani fogjuk a xstartup fájlt. Mielőtt bármilyen módosítást végeznénk a fájlon, készítsünk biztonsági mentést az eredeti fájlról:
|
1 |
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak |
Ezután hozzon létre egy új xstartup fájlt, és nyissa meg egy tetszőleges szövegszerkesztőben. Ebben az útmutatóban a nano:
|
1 |
nano ~/.vnc/xstartup |
Ha kész, adja hozzá a következő sorokat a fájlhoz:
|
1 2 3 |
#!/bin/bash xrdb $HOME/.Xresources startxfce4 & |
Amikor elindítja vagy újraindítja a VNC-szervert, ezek a parancsok automatikusan végrehajtódnak. Az első sor a Shebang, amely tájékoztatja a rendszert az értelmező (interpreter) adatairól, hogy átadja a ~/.vnc/xstartup fájlt végrehajtásra. A következő sor, a xrdb $HOME/. Xresources, arra utasítja a VNC grafikus felületének keretrendszerét, hogy olvassa be a szerver felhasználójának Xresources fájlját. Végül az utolsó sor arra kéri a szervert, hogy indítsa el az Xfce-t. A sorok hozzáadása után mentse el és zárja be a fájlt.
Futtathatóvá kell tennünk a fájlt, hogy a VNC-szerver használni tudja az új indítófájlt:
|
1 |
chmod +x ~/.vnc/xstartup |
Ezután indítsa újra a VNC-szervert:
|
1 |
vncserver -localhost |
Most már hozzá lesz adva a -localhost opció. A localhost a VNC-szervert a szerver loopback interfészéhez köti, így csak a telepített szerverekről engedélyezi a kapcsolatokat. Ezután létrehozunk egy SSH-alagutat a helyi gépünk és a szerver között. A cél az, hogy egy extra biztonsági réteget adjunk a VNC köré. Miért? Mert így csak azok a felhasználók férhetnek hozzá, akik már rendelkeznek SSH-hozzáféréssel a szerverhez.
A következő kimenetet fogja látni:
|
1 2 3 4 |
Új 'X' asztal a következő: your_hostname:1 Indítás: alkalmazások megadva itt: /home/sammy/.vnc/xstartup Napló fájl itt található: /home/cloudsigma/.vnc/your_hostname:1.log |
A konfiguráció beállítása után készen állunk arra, hogy csatlakozzunk a VNC-szerverhez a helyi gépünkről.
3. lépés — Biztonságos csatlakozás a VNC asztalhoz
A szerverhez való csatlakozáskor a VNC nem használ biztonságos protokollokat. Ezért létre kell hoznunk egy SSH-alagutat, és arra kell kérnünk a VNC-klienst, hogy az alagút használatával csatlakozzon, ahelyett, hogy közvetlen kapcsolatot létesítene.
Létrehozunk egy SSH-kapcsolatot a helyi számítógépünkön a ssh paranccsal, amely továbbítja a localhost kapcsolathoz. Használja a terminálban lévő parancsot az SSH-kapcsolat létrehozásához:
|
1 |
ssh -L 59000:localhost:5901 -C -N -l cloudsigma your_server_ip |
Fejtsük meg a fenti kódot:
-
-L 59000:localhost:5901: Az -L kapcsoló megadja, hogy a helyi számítógép adott portja ( 59000) a célszerver megadott állomására és portjára irányul ( localhost:5901). Ez azt jelenti, hogy a port5901 a célszerveren a következőképpen lesz meghatározva: your_server_ip). A megadott helyi port tetszőleges. Mindaddig, amíg a port nincs már egy másik szolgáltatáshoz kötve, szabadon használhatja az alagút továbbítási portjaként.
-
-C: Engedélyezi a tömörítést, ami tovább segít az erőforrás-fogyasztás minimalizálásában és a teljesítmény felgyorsításában.
-
-N: Hasznos portok továbbításához. Ez tájékoztatja a(z) ssh programot, hogy ne hajtson végre semmilyen távoli parancsot.
-
-l cloudsigma your_server_ip: A(z) -l kapcsoló lehetővé teszi annak a felhasználónak a megadását, akiként be szeretne jelentkezni a szerverre való csatlakozás után.
A fenti parancs biztonságosabb módja a biztonságos kapcsolat létrehozásának, mint a szerver tűzfalának egyszerű megnyitása, hogy engedélyezze a csatlakozást a(z) 5901 porthoz bárhonnan. Miután létrehozta a kapcsolatot, az SSH-alagút továbbítja a tartalmat a(z) 5901 portról a VNC-n a(z) 59000 portra a helyi gépen az alapértelmezett SSH-porton keresztül; ez a(z) 22.
Használhatja a(z) PuTTY programot is a szerverhez való csatlakozáshoz. Nyissa meg a PuTTY-t, lépjen a PuTTY terminál bal oldalára, és keresse meg a Connection ágat a csatlakozáshoz. Ezután bontsa ki az SSH ágat, és kattintson a Tunnels lehetőségre. Az Options controlling SSH port forwarding képernyőn, adja meg a 59000 értéket mint Source Port és a localhost:5901 értéket mint Destination:

Hagyja változatlanul az összes többi opciót, kattintson az Add gombra, majd az Apply gombra az alagút létrehozásához. Miután az alagút elindult, használjon egy VNC-klienst a localhost: 59000 címhez való csatlakozáshoz. Alapértelmezés szerint a rendszer kérni fogja a hitelesítést a(z) Step-1 lépésben létrehozott jelszóval. Miután csatlakozott, látni fogja az alapértelmezett Xfce asztalt:

Hozzáférhet a fájlokhoz és kezelheti őket a saját (home) könyvtárban. Ezenkívül konfigurálja a VNC-szervert, hogy systemd szolgáltatásként.
4. lépés — A VNC futtatása Systemd szolgáltatásként
A VNC-szerver beállítása systemd szolgáltatásként való futtatásra lehetővé teszi a szerver kezelését. Elindíthatja, leállíthatja, újraindíthatja vagy leállíthatja a szolgáltatást a kényelmének és igényeinek megfelelően. Minden alkalommal, amikor a szerver elindul, a systemd felügyeleti parancsokkal ellenőrizheti, hogy a szerver BE vagy KI.
Először egy új unit fájlt hozunk létre, hogy megadjuk a szolgáltatások kezelésekor használni kívánt VNC kijelzőportot. Definiáljon egy unit fájlt:
|
1 |
sudo nano /etc/systemd/system/vncserver@.service |
A fájlnév végén találja a(z) @ szimbólumot, amely lehetővé teszi egy argumentum átadását a szolgáltatás konfigurációjának használatához.
Ezután adja hozzá a sorokat az egységfájlhoz. Nevezze át a User, Group, WorkingDirectory, paramétereket és a felhasználónevet a PIDFILE:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[Unit] Description=Start TightVNC server at startup After=syslog.target network.target [Service] Type=forking User=cloudsigma Group=cloudsigma WorkingDirectory=/home/cloudsigma PIDFile=/home/cloudsigma/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target |
Ha a VNC már fut, az ExecStartPre parancs leállítja azt. Az ExecStart parancs elindítja a VNC-t, és a színmélységet 24 bites színre állítja 1280×800-as felbontás mellett. Ezeket az indítási beállításokat igény szerint módosíthatja. Vegye figyelembe azt is, hogy az ExecStart parancs ismét tartalmazza a(z) -localhost opciót. Ha végzett, mentse és zárja be az egységfájlt.
Ezután mutassa be az új egységfájlt a rendszerének:
|
1 |
sudo sudo systemctl daemon-reload |
Kapcsolja BE az egységfájlt:
|
1 |
sudo systemctl enable vncserver@1.service |
A 1 a(z) után@ jel jelzi, hogy a szolgáltatásnak melyik kijelzőszám felett kell megjelennie. A mi esetünkben ez az alapértelmezett :1 ahogy arról szó volt a 2. lépésben. Ha a VNC még fut, leállíthatja a VNC szerver aktuális példányát a kill paranccsal:
|
1 |
vncserver -kill :1 |
Ezután indítsa el úgy, mint bármely más systemd szolgáltatást:
|
1 |
sudo systemctl start vncserver@1 |
Ezzel a paranccsal ellenőrizheti, hogy elindult-e:
|
1 |
sudo systemctl status vncserver@1 |
A következő kimenetet fogja látni:
|
1 2 3 4 5 6 7 8 |
Kimenet vncserver@1.service - Start TightVNC szerver at rendszerindításkor Betöltve: betöltve (/etc/systemd/system/vncserver@.service; engedélyezve; gyártói alapbeállítás: engedélyezve) Aktív: aktív (fut) óta Csüt 2020-05-07 17:23:50 UTC; 6 mp ezelőtt Folyamat: 39768 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2) Folyamat: 39772 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :1 (code=exited, status=0/SUCCESS) Fő PID: 39795 (Xtightvnc) ... |
A VNC szerver most már készen áll a használatra, amikor a szerver elindul, és a systemctl parancsokkal kezelheti, mint bármely más systemd szolgáltatást. Azonban a kliens oldalon nem fog változást tapasztalni. Az újbóli csatlakozáshoz indítsa el az SSH alagutat a következővel:
|
1 |
ssh -L 59000:localhost:5901 -C -N -l cloudsigma your_server_ip |
Ezután ismét csatlakozhat a VNC kliensével a localhost:59000 címhez a szerverén.
Összegzés
Kezdetben a VNC szerver beállítása nehéznek tűnhet, különösen akkor, ha új számítógéppel próbál csatlakozni. Miután megbízható kapcsolatot hozott létre, a távoli számítógéppel való munka szórakoztató és izgalmas lesz. Az Ubuntu 20.04 szerverén futó biztonságos VNC szerverrel könnyedén kezelheti erőforrásait, fájljait, szoftvereit és beállításait egy felhasználóbarát grafikus felületen keresztül. A túlzott sávszélesség-használat talán a VNC használatának egyik hátránya. Ezt leküzdheti alacsony felbontású és szürkeárnyalatos képernyők használatával a gyorsabb átvitel érdekében.
Kellemes számítógéphasználatot!
Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.