Jak nastavit VNC na Ubuntu: Kompletní průvodce s GUI, japonským vstupem a bezpečným SSH tunelováním

目次

1. Úvod

Proč používat VNC na Ubuntu?

Mezi distribucemi Linuxu je Ubuntu jednou z nejoblíbenějších a široce se používá pro vývoj, provoz serverů i mnoho dalších účelů. Obvykle jsou servery Ubuntu ovládány přes příkazovou řádku, ale existuje mnoho situací, kdy je žádoucí použít GUI (grafické uživatelské rozhraní).

Právě zde přichází na řadu VNC (Virtual Network Computing). Pomocí VNC se můžete přes síť vzdáleně připojit k Ubuntu stroji a pracovat, jako byste ovládali lokální desktop. Tento vizuální, intuitivní způsob práce výrazně snižuje bariéru pro začátečníky v Linuxu i uživatele Windows, protože eliminuje nutnost spoléhat se výhradně na složité operace v příkazové řádce.

Rostoucí potřeba vzdálených desktopových prostředí

S rozšířením práce na dálku v posledních letech se poptávka po vytváření vzdálených desktopových prostředí na Ubuntu pomocí VNC výrazně zvýšila. Zejména instalace VNC na vývojovém Ubuntu serveru a umožnění GUI operací zvyšuje efektivitu konfiguračních a údržbových úkolů.

Kromě toho existuje silná poptávka po provozu cloudových nebo VPS‑hostovaných Ubuntu prostředí s GUI a VNC slouží jako účinný most k naplnění této potřeby.

Cílové publikum a účel tohoto článku

Tento článek je určen pro následující čtenáře:

  • Uživatelé instalující VNC na Ubuntu poprvé
  • Uživatelé, kteří se necítí pohodlně pracovat pouze s příkazovým řádkem a chtějí prostředí s GUI
  • Ti, kteří se cítí omezeni pouze SSH workflow a upřednostňují VNC před RDP
  • Uživatelé, kteří chtějí pohodlné vzdálené prostředí zahrnující podporu japonského vstupu

Tento průvodce podrobně vysvětluje celý proces instalace VNC serveru na Ubuntu a povolení vzdáleného přístupu k desktopu přátelským způsobem pro začátečníky. Zahrnuje také konfiguraci japonského vstupu a bezpečná připojení pomocí SSH tunelování, čímž se stává komplexním a praktickým zdrojem.

2. Předpoklady a příprava

Co zkontrolovat před instalací VNC na Ubuntu

Před instalací a používáním VNC serveru na Ubuntu je potřeba splnit několik předpokladů a příprav. Tato sekce shrnuje klíčové body, které byste měli ověřit před zahájením.

Podporované verze Ubuntu

Tento článek cílí na Ubuntu 20.04 LTS a Ubuntu 22.04 LTS. Tyto verze jsou široce používány a nabízejí stabilní kompatibilitu s VNC servery a japonskými vstupními prostředími.

Pokud používáte jinou verzi, základní kroky zůstávají stejné, ale některé názvy balíčků nebo chování se mohou lišit.

Požadavky na server a doporučené specifikace

Protože VNC je metoda vzdáleného přístupu založená na GUI, vyžaduje určitý stupeň systémových zdrojů (CPU a paměť). Doporučená konfigurace je následující:

  • CPU : Dvoujádrový nebo vyšší (alespoň okolo 1 GHz)
  • Paměť : Doporučeno 2 GB nebo více (při předpokladu lehkého desktopu jako Xfce)
  • Úložiště : Minimálně 10 GB volného místa na disku
  • Síť : Povolený přístup SSH a možnost otevřít VNC port (např. 5901 ve výchozím nastavení) na firewallu

Požadovaná oprávnění a nástroje

Instalace a konfigurace VNC serveru vyžaduje následující:

  • Uživatelský účet s oprávněním sudo
  • SSH klient (PuTTY na Windows, Terminal na macOS nebo Linux)

Protože nastavení probíhá vzdáleně, musí být na Ubuntu serveru povolen SSH. Pokud SSH ještě není k dispozici, nainstalujte jej pomocí sudo apt install openssh-server.

Výběr desktopového prostředí

Protože VNC přenáší výstup GUI, musí být na Ubuntu nainstalováno desktopové prostředí. Nicméně GNOME (součást Ubuntu Desktop) je náročné na zdroje a není vhodné pro serverové použití.

Z tohoto důvodu článek předpokládá použití lehké desktopové prostředí jako Xfce nebo MATE:

  • Xfce : Lehký, stabilní a vhodný pro začátečníky.
  • MATE : Klasické uživatelské rozhraní s dobrým výkonem a stabilitou.

Tento výběr je diskutován podrobněji v následujících sekcích.

3. Instalace desktopového prostředí

Proč je desktopové prostředí nutné?

Při připojení k Ubuntu přes VNC nebude zobrazena žádná obrazovka, pokud není nainstalováno desktopové prostředí. VNC je navržen pro dálkové ovládání GUI, takže prostředí pouze s CLI, jako je Ubuntu Server, nemůže VNC plně využít.

Výběr lehkého desktopového prostředí

Pro použití VNC by mělo být ideální desktopové prostředí lehký a stabilní. Níže jsou uvedeny dvě populární možnosti.

1. Xfce

Xfce je extrémně lehký a funguje dobře i na starších PC nebo v prostředích VPS. Nabízí základní funkčnost s jednoduchým, uživatelsky přívětivým designem, což ho činí vynikající volbou pro VNC.

2. MATE

MATE je klasické desktopové prostředí založené na GNOME 2. I když je vzhledově o něco bohatší než Xfce, zůstává relativně lehký a vysoce stabilní.

Instalace Xfce (Doporučeno)

Pro instalaci Xfce spusťte následující příkazy:

sudo apt update
sudo apt install -y xfce4 xfce4-goodies

Balíček xfce4-goodies obsahuje užitečné dodatečné nástroje, které vylepšují desktopovou zkušenost.

Instalace může trvat několik minut, takže sledujte proces, abyste zajistili, že nedojde k žádným chybám.

Instalace MATE (Alternativa)

Pokud preferujete MATE, nainstalujte ho pomocí následujících příkazů:

sudo apt update
sudo apt install -y ubuntu-mate-core

MATE spotřebovává o něco více zdrojů než Xfce, ale je doporučen pro uživatele, kteří oceňují tradiční vzhled a pocit desktopu.

Důležitá poznámka: Neinstalujte více desktopových prostředí

Instalace více desktopových prostředí (např. Xfce a MATE společně) není doporučena. To komplikuje výběr relace při přihlášení a často vede k chybám v konfiguraci VNC.

Vyberte a nainstalujte pouze jedno desktopové prostředí.

4. Instalace a konfigurace VNC serveru

Jaký software VNC serveru je na Ubuntu potřeba?

VNC (Virtual Network Computing) se skládá ze dvou komponent: klienta a serveru. Na straně Ubuntu musíte nainstalovat VNC server, který umožňuje dálkový přístup k GUI Ubuntu.

Existuje několik implementací VNC serveru. V tomto průvodci použijeme TigerVNC, což je jedna z nejoblíbenějších a nejspolehlivějších možností.

  • TigerVNC (Doporučeno) Rychlý, stabilní a dobře funguje s Xfce a MATE.
  • TightVNC Lehký a kompatibilní se staršími systémy, ale vývoj zpomalil.

Instalace TigerVNC

Nainstalujte server TigerVNC pomocí následujících příkazů:

sudo apt update
sudo apt install -y tigervnc-standalone-server tigervnc-common

Po dokončení instalace pokračujte v počáteční konfiguraci.

Počáteční spuštění a nastavení hesla

Při prvním spuštění VNC serveru musíte nastavit heslo pro připojení.

vncserver

Uvidíte výzvy podobné těmto:

You will require a password to access your desktops.

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

„View-only password“ je pro přístup pouze pro čtení. Ve většině případů je dostatečné vybrat n.

Úprava konfiguračního souboru VNC (xstartup)

Po spuštění relace VNC se ve vašem domovském adresáři vytvoří soubor s názvem ~/.vnc/xstartup. Tento soubor je spouštěcím skriptem, který určuje, které desktopové prostředí se spustí při zahájení relace VNC.

Konfigurace pro Xfce

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

Konfigurace pro MATE

#!/bin/sh
xrdb $HOME/.Xresources
mate-session &

Po úpravě udělte skriptu oprávnění k provedení:

chmod +x ~/.vnc/xstartup

Spuštění a ověření relace VNC

Jakmile je vše připraveno, pokračujte spuštěním relace VNC:

vncserver :1

Hodnota :1 představuje číslo virtuální obrazovky. Při prvním spuštění je obvykle :1.

Když se připojujete přes VNC, používá se odpovídající číslo portu (např. 5901), vypočítané jako 5900 + číslo displeje.

Ukončení VNC relace

Pro ukončení relace použijte následující příkaz:

vncserver -kill :1

5. Konfigurace automatického spouštění VNC serveru

Proč povolit automatické spouštění VNC serveru?

Ve výchozím nastavení je třeba VNC server spouštět a zastavovat ručně pro každého uživatele. Spouštění příkazu vncserver pokaždé je nepohodlné a VNC relace se po restartu serveru automaticky nespustí.

Z tohoto důvodu je běžnou praxí zaregistrovat VNC server jako službu systemd a povolit automatické spouštění. To zajišťuje stabilní a trvalé VNC prostředí.

Vytvoření souboru služby systemd

Vytvořte samostatný soubor služby systemd pro každého uživatele. V tomto příkladu je číslo VNC displeje nastaveno na :1.

sudo nano /etc/systemd/system/vncserver@:<display-number>.service

Například pro vytvoření vncserver@:1.service použijte:

sudo nano /etc/systemd/system/vncserver@\:1.service

Zkopírujte a vložte následující obsah, přičemž nahradíte uživatelské jméno svým vlastním:

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

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

[Install]
WantedBy=multi-user.target

Nahraďte yourusername svým skutečným uživatelským jménem.
Parametr geometry určuje rozlišení obrazovky a lze jej podle potřeby upravit.

Povolení a spuštění služby

Po uložení souboru služby načtěte systemd znovu a povolte službu:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable vncserver@:1.service
sudo systemctl start vncserver@:1.service

Ověření stavu služby

Zkontrolujte stav služby, abyste potvrdili, že běží správně:

sudo systemctl status vncserver@:1.service

Pokud vidíte Active: active (running), nastavení bylo úspěšné.

Důležitá poznámka: Služba specifická pro uživatele

Tato konfigurace se vztahuje pouze na jednu konkrétní VNC relaci uživatele. Pokud více uživatelů vyžaduje přístup k VNC, je třeba pro každého uživatele vytvořit samostatný soubor služby systemd.

6. Připojení z klienta

Co je VNC klient?

Instalace VNC serveru na Ubuntu sama o sobě neumožňuje vzdálené ovládání. Na straně klienta (počítače, který používáte) musíte nainstalovat VNC prohlížeč (VNC klient) a odtud se připojit k Ubuntu serveru.

Doporučené VNC klienty

Následující VNC klienti jsou široce používáni a jsou vysoce hodnoceni pro použitelnost a kompatibilitu s Ubuntu:

Client NameSupported OSFeatures
RealVNC ViewerWindows / Mac / Linux / iOS / AndroidSimple, stable, and suitable for enterprise use
TigerVNC ViewerWindows / Mac / LinuxOpen source and free to use
UltraVNCWindowsFeature-rich but geared toward advanced users
RemminaLinux onlyGUI client supporting multiple protocols

Použití RealVNC Viewer nebo TigerVNC Viewer je obecně nejbezpečnější volba. Oba jsou zdarma.

Jak se připojit z klienta (příklad: RealVNC Viewer)

Následující kroky popisují, jak se připojit pomocí RealVNC Viewer. Postup je podobný pro TigerVNC Viewer.

1. Instalace RealVNC Viewer

Stáhněte a nainstalujte vhodnou verzi pro váš operační systém z oficiální webové stránky (https://www.realvnc.com/).

2. Zadejte adresu VNC serveru

Po spuštění aplikace zadejte cíl následovně:

<server-ip-address>:5901

nebo

<server-ip-address>:1

Oba formáty jsou ekvivalentní (5900 + číslo displeje = číslo portu).

3. Zadejte heslo

Zadejte VNC heslo, které jste dříve nastavili.
Pokud je připojení úspěšné, zobrazí se pracovní plocha Ubuntu.

Řešení potíží: Nelze se připojit

Pokud se VNC připojení nezdaří, zvažte následující příčiny.

● Port není otevřen

Zkontrolujte, zda není port 5901 blokován firewallem nebo bezpečnostní skupinou v cloudu.

● Používáte SSH tunel?

Pokud nepoužíváte připojení přes SSH tunel popsané v následující sekci, port VNC nemusí být z bezpečnostních důvodů veřejně přístupný.

Připojování z macOS

Na macOS můžete také použít RealVNC nebo TigerVNC Viewer. Po instalaci se připojte zadáním IP adresy a portu stejně jako na Windows.

Použití chytrého telefonu

Aplikace VNC klientů jsou také dostupné pro iOS a Android. To může být užitečné pro přístup k serveru Ubuntu z tabletu, ale použitelnost je obecně horší než na PC a je nejlepší ji rezervovat pro nouzové použití.

7. Konfigurace japonského vstupu

Proč je japonský vstup nutný v prostředí VNC

I když povolíte vzdálený přístup k Ubuntu přes VNC, japonský vstup je často ve výchozím nastavení nedostupný, což může bránit úkolům jako psaní dokumentů, přejmenování souborů nebo používání chatovacích nástrojů.

Ubuntu je často instalováno v anglickém prostředí a japonské lokály a metody vstupu (IME) nemusí být nainstalovány. Tato sekce vysvětluje, jak povolit pohodlný japonský vstup v rámci relace VNC.

Instalace japonské lokály

Nejprve povolte japonskou lokál k podpoře zobrazení a vstupu jazyka japonština:

sudo apt update
sudo apt install -y language-pack-ja

Poté aktualizujte nastavení lokálu:

sudo update-locale LANG=ja_JP.UTF-8

Po odhlášení a přihlášení nebo restartu se jazyk GUI může přepnout na japonštinu. Pokud se zobrazení v VNC stane nestabilním, je přijatelné nechat rozhraní v angličtině.

Volba metody vstupu: fcitx vs ibus

Dvě nejběžnější japonské metody vstupu na Ubuntu jsou:

Input MethodFeatures
fcitx-mozcLightweight, easy to configure, and stable in VNC environments
ibus-mozcWell integrated with GNOME, but sometimes unstable in VNC

Pro prostředí VNC je obecně doporučeno fcitx-mozc kvůli menšímu počtu problémů.

Instalace a konfigurace fcitx-mozc

sudo apt install -y fcitx-mozc

Dále nastavte požadované proměnné prostředí, aby se metoda vstupu spustila správně.

Přidejte následující do ~/.xprofile nebo ~/.profile:

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

Poté přidejte příkaz k spuštění fcitx:

fcitx &

Je také pohodlné zahrnout tento řádek do souboru ~/.vnc/xstartup.

Příklad (částečný soubor xstartup):

#!/bin/sh
xrdb $HOME/.Xresources
fcitx &
startxfce4 &

Ověření japonského vstupu

Po přihlášení přes VNC zkontrolujte, zda je „Mozc“ povolen v nástroji pro konfiguraci fcitx (jako fcitx-config-gtk3).

Můžete přepínat IME zapnutím a vypnutím pomocí klávesy Poloviční šířka/Celá šířka nebo Ctrl + Mezerník.

Běžné problémy a řešení

SymptomCause and Solution
IME does not startfcitx not launched or environment variables misconfigured
Input works but Kanji conversion failsMozc not enabled or fcitx configuration incomplete
fcitx must be started manually every timefcitx & missing from .xstartup

Tímto je dokončeno nastavení plynulého japonského vstupu v rámci relace VNC. Následující sekce vysvětluje, jak zabezpečit připojení VNC pomocí tunelování SSH.

8. Zabezpečení VNC pomocí tunelování SSH

Připojení VNC nejsou ve výchozím nastavení šifrovaná

I když je VNC pohodlným řešením pro vzdálenou plochu, má vážnou slabinu: jeho provoz není ve výchozím nastavení šifrovaný. To vytváří riziko, že hesla nebo data obrazovky mohou být zachycena třetími stranami.

Z tohoto důvodu, při připojování k VNC přes internet, je silně doporučeno použít SSH tunel k šifrování komunikace.

Co je SSH tunel?

SSH tunel používá SSH připojení k bezpečnému přesměrování specifických portů. Vytvořením šifrované „cesty“ mezi klientem VNC a serverem zmírňuje inherentní bezpečnostní rizika VNC.

Jak nakonfigurovat SSH tunel (Lokální přesměrování portu)

Následující příklady demonstrují, jak vytvořit SSH tunel, počínaje klientem Windows.

Tunelování SSH na Windows pomocí PuTTY

1. Instalace PuTTY

Stáhněte a nainstalujte PuTTY z oficiální webové stránky (https://www.putty.org/).

2. Zadejte detaily připojení

Na kartě „Session“ zadejte IP adresu serveru VNC a port 22 (SSH).

3. Konfigurace přesměrování portu

Přejděte na „Connection“ → „SSH“ → „Tunnels“.

. Zdrojový port : 5901 * Cílový* : localhost:5901 * Vyberte „Local“ a klikněte na „Add”

4. Spusťte SSH připojení

Klikněte na „Open“ pro zahájení SSH připojení. Lokální port 5901 bude nyní bezpečně přesměrován na port 5901 na VNC serveru.

SSH tunelování na macOS / Linux

Spusťte následující příkaz v terminálu:

ssh -L 5901:localhost:5901 username@server-ip

Příklad:

ssh -L 5901:localhost:5901 naoya@192.168.1.100

Po připojení otevřete svůj VNC klient a připojte se pomocí:

localhost:5901

Důležité poznámky při připojování

  • Nastavení firewallu : Port 22 (SSH) musí být otevřen.
  • Vstup VNC prohlížeče : Použijte localhost:5901, ne IP adresu serveru.

Výhody používání SSH tunelu

ItemDescription
Encrypted communicationProtects VNC traffic via secure SSH encryption
Simplified firewall rulesNo need to expose VNC ports externally
Connection loggingSSH logs enable monitoring of access attempts

Používáním SSH tunelu můžete bezpečně přistupovat k VNC i přes internet. Jedná se o zásadní konfiguraci pro veřejně přístupné servery.

9. Časté problémy a řešení

Problém 1: Černá nebo šedá obrazovka po připojení

Příčina:

  • Chyby v souboru ~/.vnc/xstartup
  • Desktopová relace se nespustila správně

Řešení:

  1. Ověřte obsah ~/.vnc/xstartup, například (Xfce):
    #!/bin/sh
    xrdb $HOME/.Xresources
    startxfce4 &
    
  1. Ujistěte se, že soubor je spustitelný:
    chmod +x ~/.vnc/xstartup
    
  1. Restartujte VNC relaci:
    vncserver -kill :1
    vncserver :1
    

Problém 2: Japonský vstup nefunguje

Příčina:

  • fcitx nebo Mozc neběží
  • Proměnné prostředí nejsou nastaveny správně

Řešení:

  1. Ověřte, že následující položky existují v .xprofile nebo .xsession :
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    export XMODIFIERS="@im=fcitx"
    
  1. Ujistěte se, že fcitx & je zahrnuto v ~/.vnc/xstartup :
    fcitx &
    
  1. Restartujte VNC relaci a ověřte, že Mozc je povolen v konfiguračním nástroji fcitx.

Problém 3: Nestabilní VNC připojení nebo vysoká latence

Příčina:

  • Nedostatečná šířka pásma sítě
  • Rozlišení nebo barevná hloubka nastavená příliš vysoko

Řešení:

  1. Snižte rozlišení nebo barevnou hloubku při spouštění VNC:
    vncserver :1 -geometry 1024x768 -depth 16
    
  1. Použijte SSH tunel pro zlepšení stability a bezpečnosti
  2. Povolit optimalizační nastavení ve VNC klientovi, pokud jsou k dispozici

Problém 4: VNC se připojí, ale nezobrazí se přihlašovací obrazovka

Příčina:

  • GUI relace neběží správně
  • VNC nepoužívá správce displeje

Řešení:

VNC běží nezávisle na systémovém X serveru, takže standardní přihlašovací obrazovka Ubuntu (např. GDM) se nezobrazuje. Toto je očekávané chování. Zobrazovaná relace je definována v .vnc/xstartup.

Pokud potřebujete tradiční přihlašovací obrazovku nebo víceuživatelské přihlašování, zvažte místo VNC použití RDP (xrdp).

Problém 5: Nelze spustit VNC relaci nebo přístup odepřen

Příčina:

  • Nesprávná konfigurace souboru služby
  • Zastaralé PID soubory způsobující konflikty

Řešení:

  1. Kompletně zastavte VNC relaci:
    vncserver -kill :1
    
  1. Odstraňte nepotřebné soubory .pid nebo .log v adresáři .vnc:
    rm ~/.vnc/*.pid
    rm ~/.vnc/*.log
    
  1. Spusťte relaci znovu:
    vncserver :1
    

Další tipy

  • Zkontrolujte logy v ~/.vnc/*.log pro nápovědu při řešení problémů.
  • Pro více uživatelů spusťte VNC s různými čísly displeje (např. :2, :3).

10. Shrnutí

Přehled procesu nastavení

  • Předpoklady a příprava Ověřte verzi Ubuntu, desktopové prostředí a přístup SSH
  • Instalace desktopového prostředí Nainstalujte lehké a stabilní GUI, jako je Xfce nebo MATE
  • Konfigurace TigerVNC Použijte TigerVNC pro stabilitu a nakonfigurujte čísla relací a rozlišení
  • Automatické spuštění Registrujte VNC jako službu systemd pro obnovení relací po restartu
  • Způsoby připojení klienta Připojte se pomocí RealVNC Viewer nebo TigerVNC Viewer s správným portem
  • Nastavení japonského vstupu Nainstalujte fcitx-mozc a nakonfigurujte proměnné prostředí pro plnou podporu
  • SSH tunelování Šifrujte komunikaci k minimalizaci bezpečnostních rizik VNC
  • Řešení problémů Praktická řešení běžných problémů

Operační úvahy do budoucna

Jakmile je nakonfigurováno, prostředí VNC vám umožní ovládat Ubuntu téměř jako by bylo lokální. Je zvláště vhodné pro následující scénáře:

  • Ovládání systémů Ubuntu na VPS nebo v cloudu přes GUI
  • Sdílení prostředí mezi členy týmu (pomocí různých čísel displejů)
  • Pomoc začátečníkům při učení Linuxu přes GUI místo pouze příkazové řádky

Nicméně, zatímco VNC je lehké a pohodlné, vyžaduje opatrnost pro multimediální úlohy nebo prostředí s přísnými bezpečnostními požadavky. V takových případech mohou být alternativy jako xrdp nebo NoMachine hodné zvážení.

Závěrečné poznámky

Ačkoli nastavení VNC na Ubuntu se může na první pohled zdát složité, je zcela dosažitelné, pokud budete pečlivě sledovat každý krok. Doufáme, že tento průvodce vám pomůže vytvořit praktické a pohodlné vzdálené desktopové prostředí Ubuntu.

Pokud narazíte na jakékoli problémy během nastavení, neváhejte nás kontaktovat prostřednictvím komentářů nebo sociálních sítí. Ať je vaše zkušenost s Ubuntu ještě produktivnější a příjemnější.

侍エンジニア塾