VNC nám umožňuje otevřít vzdálenou relaci GUI na serveru a tím nám poskytuje plně grafické rozhraní dostupné z libovolného vzdáleného umístění.
VNC server je bezplatný a open source software, který je navržen tak, aby umožňoval vzdálený přístup k desktopovému prostředí serveru prostřednictvím VNC klienta (VNC viewer).
V tomto tutoriálu se naučíme, co je VNC a jak nainstalovat nebo nakonfigurovat VNC Server na CentOS 7.
Některé výhody serveru VNC jsou uvedeny níže:
- Vzdálená správa GUI usnadňuje a usnadňuje práci.
- Sdílení schránky mezi hostitelským serverem CentOS a klientským počítačem VNC.
- Na hostitelský server CentOS lze nainstalovat nástroje GUI, aby byla správa výkonnější
- Server Host CentOS lze spravovat prostřednictvím libovolného operačního systému s nainstalovaným klientem VNC.
- Spolehlivější přes grafiku ssh a připojení RDP.
Nejprve budeme potřebovat pracovní prostředí pro pracovní plochu (X-Windows), pokud nemáme spuštěné pracovní prostředí s grafickým uživatelským rozhraním (X Windows), budeme jej muset nejprve nainstalovat.
Poznámka:Níže uvedené příkazy musí být spuštěny pod rootem nebo uživatelem s oprávněním sudo.
1. Instalace X-Windows
Nejprve ze všeho k instalaci X-Windows budeme muset provést níže uvedené příkazy v shellu nebo terminálu. Instalace jeho balíčků zabere několik minut.
$sudo yum check-update
$sudo yum groupinstall "X Window System"
$sudo yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
$sudo unlink /etc/systemd/system/default.target
$sudo ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
$sudo reboot
Po restartování našeho počítače získáme funkční plochu CentOS 7.
2. Instalace balíčku VNC Server na CentOS
Nyní nainstalujeme balíček VNC Server do našeho stroje CentOS 7. Chcete-li nainstalovat VNC Server, budeme muset provést následující příkaz k instalaci serveru tigervnc.
$sudo yum install tigervnc-server -y
3. Konfigurace VNC
Poté budeme muset vytvořit konfigurační soubor v adresáři '/etc/systemd/system/'. Můžeme zkopírovat soubor 'vncserver@:1.service' z ukázkového souboru z '/lib/systemd/system/[email protected]'.
$sudo cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
Nyní otevřeme '/etc/systemd/system/vncserver@:1.service' v textovém editoru. Poté v tomto souboru najděte níže uvedené řádky textu a nahraďte '
Zde je v mém případě linoxid, takže nahrazuji '
ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
do
ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i"
PIDFile=/home/linoxide/.vnc/%H%i.pid
Pokud vytváříte pro uživatele root, pak:
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
Nyní budeme muset znovu načíst náš systemd.
$ sudo systemctl daemon-reload
Nakonec pro uživatele vytvoříme heslo VNC. Chcete-li tak učinit, musíte se nejprve ujistit, že máte k uživateli přístup sudo, zde se přihlásím k uživateli „linoxide“, poté proveďte následující. Pro přihlášení spustíme 'su linoxide' bez uvozovek.
# su linoxide
$ sudo vncpasswd
Ujistěte se, že zadáváte hesla delší než 6 znaků.
4. Povolení a spuštění služby
Chcete-li povolit službu při spuštění ( Permanent ), proveďte níže uvedené příkazy.
$ sudo systemctl enable vncserver@:1.service
Poté spusťte službu.
$ sudo systemctl start vncserver@:1.service
5. Povolení brány firewall
Nyní musíme povolit služby VNC ve firewallu.
$ sudo firewall-cmd --permanent --add-service vnc-server
$ sudo systemctl restart firewalld.service
Nyní můžete připojit VNC server pomocí IP a portu (např.:ip-address:1).
6. Připojení stroje s klientem VNC
Nakonec jsme dokončili instalaci VNC Serveru. Ne, budeme chtít připojit server a vzdáleně k němu přistupovat. K tomu budeme potřebovat klienta VNC nainstalovaného v našem počítači, který nám umožní pouze vzdálený přístup k serveru.
K připojení k serveru můžete použít klienta VNC, jako je prohlížeč Tightvnc a prohlížeč Realvnc.
Chcete-li se spojit s dalšími uživateli, vytvořte soubory s různými porty, přejděte ke kroku 3 a nakonfigurujte a přidejte nového uživatele a port. Budete muset vytvořit 'vncserver@:2.service' a nahradit uživatelské jméno v konfiguračním souboru a pokračovat v kroky nahrazením názvu služby pro různé porty. Ujistěte se, že jste se přihlásili jako konkrétní uživatel pro vytvoření hesla vnc.
VNC samo o sobě běží na portu 5900. Protože každý uživatel bude provozovat svůj vlastní VNC server, každý uživatel se bude muset připojit přes samostatný port. Přidání čísla do názvu souboru říká VNC, aby tuto službu spustilo jako subport z 5900
. V našem případě tedy služba 'aruns' VNC poběží na portu 5901 (5900 + 1) a dále poběží na 5900 + x. Kde x označuje port určený při vytváření konfiguračního souboru 'vncserver@:x.service' pro další uživatele.
Abychom se mohli spojit s klientem, potřebujeme znát IP adresu a port serveru. IP adresy jsou jedinečné identifikační číslo stroje. Zde je moje IP adresa 96.126.120.92 a port pro tohoto uživatele je 1. Veřejnou IP adresu můžeme získat provedením níže uvedeného příkazu v shellu nebo terminálu počítače, kde je nainstalován VNC Server.
$sudo curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
Jak odinstalovat VNC Server
Vnc server můžete snadno odinstalovat pomocí příkazu yum.
Spusťte následující příkaz k odstranění tigervnc ze serveru centos:
$sudo yum remove tigervnc-server
Závěr
Nakonec jsme nainstalovali a nakonfigurovali VNC Server na stroji se systémem CentOS 7/RHEL 7 (Red Hat Enterprises Linux). VNC je nejjednodušší nástroj FOSS pro vzdálený přístup a také dobrá alternativa k nástroji vzdáleného přístupu TeamViewer. VNC umožňuje uživateli s nainstalovaným VNC klientem ovládat stroj s nainstalovaným VNC Serverem.
Zde je několik dalších příkazů, které mohou být užitečné při práci s vnc.
$sudo systemctl stop vncserver@:1.service
Zakázání služby VNC při spuštění:
$sudo systemctl disable vncserver@:1.service