GNU/Linux >> Znalost Linux >  >> Ubuntu

Nainstalujte a nakonfigurujte VNC Server na Ubuntu 16.04

Tradiční způsob správy serveru je přes ssh a příkazový řádek. Někdy ale potřebujete spustit nějakou aplikaci s GUI na serveru, a protože obvykle nesedáte vedle serveru, a i když ano, server nemusí mít monitor a klávesnici, potřebujete nějaký druh vzdálené plochy.

VNC je pro to dobré řešení, které je široce používané a je docela snadné jej nastavit. Ubuntu má TightVNC v repozitářích a v tomto tutoriálu nastavíme server TightVNC pro více uživatelů na Ubuntu Server 16.04.

Pro GUI použijeme XFCE, což je lehčí alternativa ke GNOME a Unity.

Nainstalujte VNC Server (Tight VNC) a Desktop (XFCE)

Nejprve začneme instalací serveru TightVNC a desktopového prostředí XFCE.

sudo apt install gnome-core xfce4 firefox xfce4-goodies tightvncserver

Poté musíme nakonfigurovat VNC server s heslem pro přihlášení jako uživatel 'miki'

vncserver

Také vás vyzve k zadání hesla pouze pro zobrazení, které potřebujete, pokud chcete, aby se někdo připojil k vaší relaci VNC bez ovládání kurzoru a klávesnice, pouze jako divák. Toto heslo se musí lišit od vašeho hlavního hesla. Pokud neplánujete mít diváky, můžete se rozhodnout nezadávat heslo pouze pro prohlížení. Po dokončení tohoto procesu bude instance VNC spuštěna na portu 5901 a VNCserver započítá tento port jako:1. Pokud spustíte více instancí VNC, budete mít více zobrazovacích portů a obě čísla se zvýší o 1, na :2 a 5902 a tak dále pro každou instanci. Abychom mohli pokračovat v konfiguraci, musíme ve skutečnosti zabít všechny instance serveru VNC. To provedeme následujícím příkazem:

vncserver -kill :1

Poté je možné upravit konfigurační soubor pro VNC server a vybrat, které desktopové prostředí se spustí po připojení k VNC serveru. Soubor, o kterém mluvím, se nazývá xstartup a nachází se ve skrytém adresáři .vnc v ~/ dir. Nejprve zálohujte tento soubor

mv ~/.vnc/xstartup ~/.vnc/xstartup.backup

A poté vytvořte nový soubor z čistého listu

nano ~/.vnc/xstartup

Do tohoto prázdného souboru vložte těchto několik řádků:

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

Přidejte spustitelný bit do souboru tihs

sudo chmod +x ~/.vnc/xstartup

Dále můžeme znovu spustit VNC server

vncserver

Připojování k serveru VNC

Dále se musíme připojit k serveru VNC, abychom zjistili, zda naše nastavení funguje. Můžeme použít libovolného klienta VNC, jako je například Vinagre nebo Remote Desktop Viewer, jak se mu také říká. Nejprve jej nainstalujte a spusťte

sudo apt install vinagre

Zadejte název vašeho serveru, port 5901 a klikněte na připojit. Měli byste být vyzváni k zadání hesla a poté byste se měli dostat do XFCE

K této relaci se můžete připojit z neomezeného počtu počítačů, ale pak byste všichni ovládali jeden kurzor myši a měli stejnou relaci. Pokud někteří uživatelé zadají heslo pouze pro zobrazení (za předpokladu, že jste je vytvořili), nebudou mít kontrolu nad kurzorem, ale budou stále v jedné relaci a budou sledovat jednu stejnou obrazovku.

Více uživatelů

Je možné mít více relací VNC, které se navzájem neruší. To se provádí vytvořením libovolného počtu uživatelů a každý uživatel bude mít svůj vlastní zobrazovací port a svou vlastní instanci serveru VNC. A na oplátku bude provozovat svou vlastní instanci desktopového prostředí, nebo to může být zcela samostatné DE. Začněme nejprve přidáním nového uživatele

sudo adduser newuser

Dále se přihlásíme jako tento uživatel

su newuser

A pojďme vytvořit heslo pro nového uživatele

vncserver

Kromě hesla to také vytvořilo nový proces, který naslouchá na portu 5902. Abychom mohli upravovat konfigurační soubor, musíme tento proces ukončit.

vncserver -kill :2

A musíme vlastně zopakovat proces z dřívějška. Nejprve zálohujte soubor xstartup

mv ~/.vnc/xstartup ~/.vnc/xstartup.backup

Poté vytvořte nový od začátku

nano ~/.vnc/xstartup

Poslední tři řádky níže

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

A udělejte jej spustitelným:

sudo chmod +x ~/.vnc/xstartup

Nyní spusťte vncserver pro spuštění procesu

vncserver :2

A nyní se můžete připojit na portu 5902 a mít samostatnou relaci.

Jak nastavit tunelování SSH

Zatím se nám podařilo navázat spojení přímo na display porty, v našem případě 5901 a 5902. Ale co když jsou ty porty uzavřeny firewallem a je z nějakého důvodu nepraktické je otevírat. V takovém případě existuje řešení, můžeme použít tunelování SSH. Port 22 nebo jakýkoli jiný port, který používáte pro přístup SSH na serveru, lze použít k oklamání prohlížeče VNC, že server VNC běží na localhost na portu 5901 nebo 5902. Pomocí tohoto příkazu vytvoříte tunel SSH:

ssh -L 5902:127.0.0.1:5902 [email protected]

Nezapomeňte změnit zvýrazněnou část na vaši IP adresu a uživatelské jméno.

Poté můžete spustit Vinagre nebo Remmina a jako svou adresu zadat localhot:5902. Bude si myslet, že vzdálená plocha je na localhost a bude směrovat provoz přes ssh port na váš server, pokud je aktivní SSH připojení.

Vytváření systémových jednotek

To vše je dobré, když ručně nastavíte uživatele a server přes SSH, ale musíte to opakovat při každém restartu serveru. Abychom tomu zabránili, udělejme soubor systemd unit. To je nový vymyšlený název skriptu pro spuštění staré školy. Ve skutečnosti budeme muset vytvořit dva pro dva uživatele, nejprve vytvořte jednoho

sudo nano /etc/systemd/system/[email protected]

Tam jo vložte tuto konfiguraci

[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=miki
PAMName=login
PIDFile=/home/miki/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Pak uděláte další:

sudo nano /etc/systemd/system/[email protected]

A vložte stejné věci, jen v obou případech změňte uživatelské jméno pro své vlastní uživatele. Nyní musíme zabít staré procesy, pokud stále běží, a znovu načíst soubory jednotky

vncserver -kill :2
vncserver -kill :1

sudo systemctl daemon-reload

A začněte používat soubory jednotek

sudo systemctl start vncserver@1

sudo systemctl start vncserver@2

A pokud chcete vnc server při každém spouštění, uděláte totéž jako výše ještě jednou, místo spuštění povolíte.

Závěr

V tomto tutoriálu jsme se naučili, jak nainstalovat a nakonfigurovat server VNC se dvěma uživateli na Ubuntu 16.04. Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.


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

  2. Jak nainstalovat a nakonfigurovat server Redis v Ubuntu

  3. Nainstalujte vnc server a klienta na Ubuntu

  1. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat VNC na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat VNC na Ubuntu 18.04

  1. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 18.04

  2. Jak nainstalovat VNC Server na Ubuntu 14.04

  3. Nainstalujte a nakonfigurujte Git na Ubuntu 16.04