GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat VNC na Ubuntu 20.04

Virtual Network Computing (VNC) je grafický systém pro sdílení pracovní plochy, který vám umožňuje používat klávesnici a myš k dálkovému ovládání jiného počítače. Je to open source alternativa k Microsoft remote desktopprotocol (RDP).

Tento článek vysvětluje, jak nainstalovat a nakonfigurovat server VNC na Ubuntu 20.04. Ukážeme vám také, jak se bezpečně připojit k serveru VNC prostřednictvím tunelu SSH.

Instalace desktopového prostředí #

Servery Ubuntu jsou spravovány z příkazového řádku a ve výchozím nastavení nemají nainstalované desktopové prostředí. Pokud používáte desktopovou verzi Ubuntu, tento krok přeskočte.

V repozitářích Ubuntu jsou k dispozici různá desktopová prostředí. Jednou z možností je nainstalovat Gnome, což je výchozí desktopové prostředí v Ubuntu 20.04. Další možností je nainstalovat Xfce. Jedná se o rychlé, stabilní a lehké desktopové prostředí, díky kterému je ideální pro použití na vzdáleném serveru.

V této příručce nainstalujeme Xfce. Zadejte následující příkazy jako uživatel s právy sudo:

sudo apt updatesudo apt install xfce4 xfce4-goodies

V závislosti na vašem systému může stahování a instalace balíčků Xfce nějakou dobu trvat.

Instalace serveru VNC #

V úložištích Ubuntu je k dispozici několik různých serverů VNC, jako jsou TightVNC, TigerVNC a x11vnc. Každý server VNC má různé silné a slabé stránky, pokud jde o rychlost a zabezpečení.

Nainstalujeme TigerVNC. Jedná se o aktivně udržovaný vysoce výkonný VNC server. Pro instalaci balíčku zadejte následující příkaz:

sudo apt install tigervnc-standalone-server

Konfigurace přístupu VNC #

Jakmile je server VNC nainstalován, dalším krokem je vytvoření počáteční uživatelské konfigurace a nastavení hesla.

Nastavte uživatelské heslo pomocí vncpasswd příkaz. Při spouštění níže uvedeného příkazu nepoužívejte sudo:

vncpasswd

Budete vyzváni k zadání a potvrzení hesla a zda jej chcete nastavit jako heslo pouze pro prohlížení. Pokud se rozhodnete nastavit heslo pouze pro zobrazení, uživatel nebude moci komunikovat s instancí VNC pomocí myši a klávesnice.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n

Soubor s hesly je uložen v ~/.vnc adresář, který se vytvoří, pokud není přítomen.

Dále musíme nakonfigurovat TigerVNC pro použití Xfce. Chcete-li tak učinit, vytvořte následující soubor:

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

Uložte a zavřete soubor. Výše uvedené příkazy se automaticky provádějí při každém spuštění nebo restartu serveru TigerVNC.

~/.vnc/xstartup soubor také musí mít oprávnění ke spuštění. Použijte chmod příkaz pro nastavení oprávnění k souboru:

chmod u+x ~/.vnc/xstartup

Pokud potřebujete předat serveru VNC další možnosti, vytvořte soubor s názvem config a přidejte jednu možnost na řádek. Zde je příklad:

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

Nyní můžete spustit VNC server pomocí vncserver příkaz:

vncserver
New 'server2.linuxize.com:1 (linuxize)' desktop at :1 on machine server2.linuxize.com

Starting applications specified in /home/linuxize/.vnc/xstartup
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.

Všimněte si :1 za názvem hostitele ve výstupu výše. Toto označuje číslo portu zobrazení, na kterém běží server vnc. V tomto příkladu server běží na portu TCP 5901 (5900+1). Pokud vytvoříte druhou instanci pomocí vncserver poběží na dalším volném portu, tj. :2 , což znamená, že server běží na portu 5902 (5900+2).

Je důležité si pamatovat, že při práci se servery VNC :X je zobrazovací port, který odkazuje na 5900+X .

Seznam všech aktuálně spuštěných relací VNC získáte zadáním:

vncserver -list
TigerVNC server sessions:

X DISPLAY #	RFB PORT #	PROCESS ID
:1		      5901		    5710

Než budete pokračovat dalším krokem, zastavte instanci VNC pomocí vncserver příkaz s -kill volba a číslo serveru jako argument. V tomto příkladu server běží na portu 5901 (:1 ), takže to zastavíme pomocí:

vncserver -kill :1
Killing Xtigervnc process ID 5710... success!

Vytvoření souboru jednotky Systemd #

Namísto ručního spouštění relace VNC vytvořte soubor systemd unit, abyste mohli spouštět, zastavovat a restartovat službu VNC podle potřeby.

Otevřete textový editor a zkopírujte a vložte do něj následující konfiguraci. Nezapomeňte změnit uživatelské jméno na řádku 7 tak, aby odpovídalo vašemu uživatelskému jménu.

sudo nano /etc/systemd/system/[email protected]
/etc/systemd/system/[email protected]
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
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

[Install]
WantedBy=multi-user.target

Uložte a zavřete soubor.

Informujte systemd, že je vytvořen nový soubor jednotky:

sudo systemctl daemon-reload

Povolte spuštění služby při spuštění:

sudo systemctl enable [email protected]

Číslo 1 za @ znak definuje zobrazovací port, na kterém poběží služba VNC. To znamená, že VNC server bude naslouchat na portu 5901 , jak jsme diskutovali v předchozí části.

Spusťte službu VNC spuštěním:

sudo systemctl start [email protected]

Ověřte, zda je služba úspěšně spuštěna pomocí:

sudo systemctl status [email protected]
[email protected] - Remote desktop service (VNC)
     Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-03-26 20:00:59 UTC; 3s ago
...

Připojování k serveru VNC #

VNC není šifrovaný protokol a může být předmětem sniffování paketů. Doporučený přístup je vytvořit tunel SSH a bezpečně přesměrovat provoz z vašeho místního počítače na portu 5901 na server na stejném portu.

Nastavit tunelování SSH v systémech Linux a macOS #

Pokud na svém počítači používáte Linux, macOS nebo jakýkoli jiný operační systém založený na Unixu, můžete snadno vytvořit tunel SSH pomocí následujícího příkazu:

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

Budete vyzváni k zadání uživatelského hesla.

Nezapomeňte nahradit username a server_ip_address s vaším uživatelským jménem a IP adresou vašeho serveru.

Nastavit tunelování SSH v systému Windows #

Pokud používáte Windows, můžete nastavit SSH Tunneling pomocí klienta PuTTY SSH.

Otevřete Putty a zadejte IP adresu vašeho serveru do Host name or IP address pole.

V části Connection nabídka, pole, rozbalte SSH a vyberte Tunnels . Zadejte port serveru VNC (5901 ) v Source Port a zadejte server_ip_address:5901 v Destination a klikněte na Add tlačítko, jak je znázorněno na obrázku níže:

Vraťte se do Session pro uložení nastavení, takže je nemusíte pokaždé zadávat. Na vzdálený server vyberte uloženou relaci a klikněte na Open tlačítko.

Připojování pomocí Vncviewer #

Nyní, když je vytvořen SSH tunel, je čas otevřít váš Vncviewer a připojit se k VNC serveru na localhost:5901 .

Pro Google Chrome můžete použít jakýkoli prohlížeč VNC, jako je TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre a VNC Viewer.

Budeme používat TigerVNC. Otevřete prohlížeč, zadejte localhost:5901 a klikněte na Connect tlačítko.

Po výzvě zadejte své uživatelské heslo a měli byste vidět výchozí plochu Xfce. Bude to vypadat nějak takto:

Můžete začít komunikovat se vzdálenou plochou XFCE z místního počítače pomocí klávesnice a myši.


Ubuntu
  1. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat server DHCP na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat server Redis v Ubuntu

  1. Jak nainstalovat a nakonfigurovat VNC na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat VNC na CentOS 7

  1. Jak nainstalovat a nakonfigurovat VNC na CentOS 8

  2. Jak nainstalovat VNC Server na Ubuntu 14.04

  3. Nainstalujte a nakonfigurujte VNC Server na Ubuntu 16.04