Průvodce vzdálenou plochou Ubuntu: nastavení RDP, VNC a SSH tunelu

目次

1. Úvod: Proč používat vzdálenou plochu s Ubuntu?

Scénáře vzdáleného ovládání pro Ubuntu rostou

Linuxové operační systémy, včetně Ubuntu, byly tradičně spojovány s vývojáři a správci serverů, s předpokladem, že budou provozovány v lokálním prostředí. V posledních letech, s rozšířením práce na dálku a rostoucím využitím Ubuntu jako výukového PC, se zvýšila potřeba „operovat Ubuntu na dálku“.

Například se rozšiřuje oblast využití vzdálené plochy – od správy domácího Ubuntu serveru zvenčí až po instalaci Ubuntu na starý notebook, který slouží jako terminál pro vzdálený vývoj.

Rozdíly oproti Windows? Jedinečné výhody Ubuntu

Někteří se mohou ptát: „Windows také má Remote Desktop, tak má smysl to dělat s Ubuntu?“ Ve skutečnosti má Ubuntu následující vlastnosti, které ho činí vhodným pro vzdálený provoz:

  • Je to lehký a stabilní OS, který umožňuje pohodlný provoz i na počítačích s nízkými specifikacemi.
  • Nabízí vysokou bezpečnost a je výborně kompatibilní s šifrovanou komunikací, jako je SSH.
  • Je zdarma a open‑source, bez poplatků za používání na více zařízeních.

Z těchto důvodů si stále více lidí vybírá Ubuntu speciálně pro programování, výuku nebo serverové nasazení a využívá jej na dálku.

Stává se snazším i pro začátečníky, kteří ho považují za „složitý“

Mnoho lidí, kteří jsou noví v Linuxových OS, může mít pocit nejistoty a říkat si: „Nastavení vzdálených spojení vypadá složitě s tolika příkazy.“ V minulosti vyžadovalo připojení k Ubuntu na dálku určitou úroveň znalostí, například ruční konfiguraci VNC serverů nebo přesměrování portů přes SSH.

Od Ubuntu 22.04 LTS je však podpora vzdáleného připojení přes RDP (Remote Desktop Protocol) výchozí a lze ji nastavit výhradně pomocí GUI. Tato zvýšená uživatelská přívětivost umožnila více lidem vyzkoušet vzdálené využití Ubuntu.

Cíl a struktura tohoto článku

V tomto článku krok za krokem vysvětlíme, jak dosáhnout vzdáleného připojení k ploše v Ubuntu tak, aby to bylo srozumitelné i pro začátečníky. Pokryjeme širokou škálu témat – od využití nejnovějších funkcí v Ubuntu 22.04, přes nastavení xrdp ve starších verzích, až po metody zvyšování bezpečnosti pomocí VNC a SSH tunelů.

Článek je strukturován tak, aby vám pomohl najít metodu, která vám nejlépe vyhovuje, a porovnal charakteristiky a rozdíly jednotlivých přístupů. Přečtěte si ho až do konce.

2. Porovnání metod vzdálené plochy dostupných v Ubuntu [VNC vs RDP]

Existuje více protokolů pro vzdálené připojení

Neexistuje jen jeden způsob, jak dosáhnout vzdálené plochy s Ubuntu. Obecně jsou běžné následující tři metody:

  • RDP (Remote Desktop Protocol)
  • VNC (Virtual Network Computing)
  • SSH (Secure Shell) + X Forwarding nebo Tunneling

Mezi nimi jsou RDP a VNC primárně používány pro obecné vzdálené operace, protože „přenášejí celý obraz plochy.“ SSH se naopak používá hlavně pro vzdálenou práci v příkazovém řádku nebo jako doplňkový prostředek ke zvýšení bezpečnosti.

Zde porovnáme charakteristiky a rozdíly RDP a VNC, které jsou zvláště vhodné pro začátečníky.

Co je RDP (Remote Desktop Protocol)?

RDP je protokol původně vyvinutý společností Microsoft a široce používán jako standardní funkce ve Windows. V Ubuntu je možné se připojit na dálku pomocí protokolu RDP prostřednictvím softwaru xrdp.

Od Ubuntu 22.04 a novějších má prostředí GNOME vestavěnou podporu RDP, takže není nutné instalovat xrdp zvlášť; nastavení vzdáleného připojení lze dokončit pouze pomocí GUI.

Charakteristiky RDP:

  • Vysoká kompatibilita s Windows, umožňující připojení pomocí standardního nástroje Windows Remote Desktop Connection.
  • Rychlé a plynulé vykreslování obrazovky po připojení.
  • Funkce autentizace a šifrování jsou standardní, což zajišťuje relativní bezpečnost.

Doporučeno pro:

  • Lidi, kteří používají kombinaci Ubuntu a Windows.
  • Začátečníky, kteří chtějí snadnou konfiguraci GUI.
  • Lidi, kteří upřednostňují bezpečnost a stabilitu.

Co je VNC (Virtual Network Computing)?

VNC je technologie vzdálené plochy, která může být použita napříč platformami. V Ubuntu lze implementovat pomocí softwaru jako „vino“ nebo „tightvncserver„.

Mechanismus VNC se mírně liší od RDP; používá metodu „sekvenčního přenosu obrázků plochy“, což má tendenci vést k mírně pomalejšímu vykreslování. Na druhou stranu jeho výhodou je flexibilita ve funkcích jako sdílení relace (více lidí může současně sledovat stejnou obrazovku).

Charakteristiky VNC:

  • Lze použít napříč platformami (snadné připojení také z Macu a Androidu).
  • Umožňuje více uživatelům sdílet stejnou obrazovku současně.
  • Bezpečnostní funkce jsou poněkud slabé, proto se doporučuje používat VNC v kombinaci se SSH.

Doporučeno pro:

  • Když chcete, aby více lidí vzdáleně ovládalo Ubuntu.
  • Když se chcete připojit ze zařízení jiných než Windows.
  • Pokročilejší uživatele, kteří chtějí podrobně přizpůsobit nastavení.

Srovnávací tabulka: Rozdíly mezi RDP a VNC

ItemRDPVNC
Ease of Connection◎ (GUI setup, easy from Windows)△ (Requires some initial setup effort)
Rendering Comfort◎ (Smooth)△ (Can be slightly choppy)
Security◎ (Supports encryption by default)△ (SSH tunnel recommended)
Session Sharing×○ (Multiple users can operate simultaneously)
Supported PlatformsWindows-centricCross-platform (Linux, Mac, Android, etc.)

Který z nich si vybrat?

Pro začátečníky a uživatele Windows se doporučuje RDP. Je snadno nastavitelný a spojení je stabilní, což snižuje vstupní bariéru a je ideální pro zahájení vzdáleného připojení k Ubuntu.

Na druhou stranu, pokud potřebujete detailní konfiguraci nebo chcete se připojit ze zařízení jiných než Windows, výběr VNC nabízí větší flexibilitu. Při používání VNC je však důležité implementovat bezpečnostní opatření, jako je SSH tunel.

3. [Latest Version] Jak povolit RDP (Remote Desktop) v Ubuntu 22.04

Funkčnost RDP je standardní v Ubuntu 22.04

Od Ubuntu 22.04 LTS obsahuje výchozí desktopové prostředí (GNOME) nyní funkci vzdálené plochy jako standardní vlastnost. To umožňuje snadno použít RDP připojení bez nutnosti instalovat externí nástroje jako xrdp.

Pomocí této nové funkce můžete přímo připojit Ubuntu ze standardního klienta Windows Remote Desktop (mstsc.exe), což je velmi snadné pro začátečníky.

Příprava a kontrolní seznam

Před povolením RDP zkontrolujte následující body:

  • Vaše verze Ubuntu je 22.04 nebo novější.
  • Používáte desktopové prostředí GNOME.
  • Jste přihlášeni do relace X.org, nikoli Wayland (Důležité).

Poslední bod, „přihlášení do relace X.org místo Wayland“, je zvláště důležitý pro používání funkce vzdálené plochy. Jelikož Wayland v současnosti nepodporuje RDP připojení, změňte relaci podle následujících kroků.

Jak se přihlásit do relace X.org

  1. Na přihlašovací obrazovce Ubuntu vyberte své uživatelské jméno.
  2. Před zadáním hesla klikněte na ikonu ozubeného kola (⚙) v pravém dolním rohu.
  3. Vyberte „Ubuntu on Xorg“.
  4. Zadejte své heslo a přihlaste se.

Kroky pro povolení vzdálené plochy

  1. Otevřete aplikaci „Settings“ (Nastavení).
  2. Vyberte „Sharing“ (Sdílení) v levém menu.
  3. Klikněte na „Remote Desktop“ (Vzdálená plocha).
  4. Přepněte „Remote Desktop“ na ZAPNUTO.
  5. Nastavte metodu autentizace na „Password“ (Heslo) a zadejte požadované heslo pro připojení.
  6. V sekci „Network“ (Síť) zaškrtněte „Enable remote connections for users on this network“ (Povolit vzdálená připojení pro uživatele v této síti).

Toto je dokončení nastavení na straně Ubuntu.

Kroky pro připojení k Ubuntu z Windows

  1. Stiskněte klávesu Windows + R, zadejte mstsc a stiskněte Enter (spustí nástroj Remote Desktop Connection).
  2. Do pole „Computer“ zadejte IP adresu vašeho Ubuntu počítače.
  3. Po připojení se zobrazí obrazovka s výzvou k zadání uživatelského jména a hesla, které jste nastavili na Ubuntu.
  4. Připojení dokončeno.

IP adresu svého Ubuntu počítače můžete najít v „Settings“ > „Wi‑Fi“ nebo „Wired“. Případně můžete použít následující příkaz v terminálu pro kontrolu:

ip a

Nastavení firewallu (pokud je potřeba)

Pokud máte povolený Ubuntu UFW (Uncomplicated Firewall), musíte otevřít RDP port (standardně TCP 3389).

sudo ufw allow 3389/tcp

Poté restartujte UFW nebo zkontrolujte jeho stav:

sudo ufw status

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

ProblemSolution
Screen is black after connectingCheck if you are logged in with X.org
Connection is refusedCheck the firewall and ensure you are on the same network
No response after entering passwordCheck if Remote Desktop is enabled in GNOME Sharing settings

Poznámka: Předpokládá se použití v lokální síti (LAN)

Tato metoda je v podstatě určena pro použití ve stejné síti (LAN). Pokud se chcete připojit zvenčí, budete muset nastavit VPN nebo přesměrování portů, případně kombinovat s SSH tunelem (což bude vysvětleno v pozdější kapitole).

4. Jak se vzdáleně připojit pomocí xrdp na Ubuntu 20.04 a starších

Instalace xrdp je nutná pro Ubuntu 20.04

Ubuntu 20.04 a starší verze nemají standardní funkci RDP jako Ubuntu 22.04. Proto, pokud se chcete vzdáleně připojit z Windows, musíte na Ubuntu přidat funkci RDP serveru pomocí externího balíčku nazvaného „xrdp“.

xrdp je kompatibilní s protokolem RDP od Microsoftu, což usnadňuje přístup k Ubuntu pomocí standardního nástroje Windows „Remote Desktop Connection“.

Instalace xrdp a základní konfigurace

Pro instalaci xrdp na Ubuntu 20.04 spusťte v terminálu následující příkazy:

sudo apt update
sudo apt install xrdp -y

Po dokončení instalace se služba xrdp spustí automaticky. Pro kontrolu stavu spuštění použijte následující příkaz:

sudo systemctl status xrdp

Pokud vidíte „active (running)“ zeleně, funguje to normálně.

Výběr desktopového prostředí (doporučeno Xfce)

Výchozí desktop GNOME v Ubuntu není s xrdp příliš kompatibilní. Často se stává, že se sezení nespustí správně nebo se zobrazí černá obrazovka.

Proto se doporučuje nainstalovat desktopové prostředí Xfce, které je s xrdp kompatibilní, a nastavit jej pro sezení přes xrdp.

Instalace Xfce

sudo apt install xfce4 -y

Změna nastavení sezení

Pro změnu sezení používaného Xrdp na Xfce vytvořte nebo upravte konfigurační soubor následovně:

echo "startxfce4" > ~/.xsession

Ujistěte se, že soubor má nastavená správná oprávnění:

chmod +x ~/.xsession

Dále může být nutné upravit části konfiguračního souboru sezení, aby se předešlo chybám oprávnění souvisejícím s polkit, ale pro běžné lokální použití jsou výše uvedené kroky často dostačující.

Nastavení firewallu

xrdp používá port 3389/tcp. Pokud máte povolený firewall Ubuntu (ufw), otevřete port následujícím příkazem:

sudo ufw allow 3389/tcp

Jak se připojit z Windows (opakování)

  1. Stiskněte klávesu Windows + R → Spusťte mstsc.
  2. Zadejte IP adresu Ubuntu do pole „Computer“.
  3. Když se zobrazí přihlašovací obrazovka xrdp, zadejte své uživatelské jméno a heslo Ubuntu.
  4. Připojení dokončeno (zobrazí se sezení Xfce).

IP adresu lze ověřit na Ubuntu pomocí příkazu ip a nebo hostname -I.

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

SymptomCause and Solution
Screen is black after connectingUse Xfce instead of GNOME. Add startxfce4 to .xsession
„Session ended“ is displayedUbuntu and xrdp session management are not compatible. Confirm Xfce installation
Connection drops after entering passwordPossible cause: SELinux or polkit settings. Check security logs

Nastavení automatického spouštění/restartu (volitelné)

Pokud chcete, aby se služba xrdp spouštěla automaticky při startu systému, povolte ji následujícím příkazem:

sudo systemctl enable xrdp

5. Připojení pomocí VNC serverů (vino / tightvnc, atd.)

Co je VNC? Technologie vzdálené plochy dostupná na Ubuntu

VNC (Virtual Network Computing) je protokol pro sdílení obrazovek přes síť, charakterizovaný svou dostupností napříč platformami na Windows, Linux, macOS a dalších. Instalací VNC serveru na Ubuntu můžete připojit vzdáleně z jiných PC, chytrých telefonů atd.

Oproti RDP je VNC o něco složitější na nastavení a má pomalejší rychlost vykreslování, ale vyniká v sdílení relací a flexibilitě cílového připojení. Je to obzvláště pohodlná volba, když chcete, aby více uživatelů současně prohlíželo a ovládalo stejnou plochu obrazovky.

Hlavní VNC servery dostupné na Ubuntu

Následující VNC servery jsou běžně používány na Ubuntu:

Server NameFeatures
vinoIntegrated into the GNOME environment, setup is completed via GUI. Suitable for beginners.
tightvncserverLightweight, fast, and has been used for a long time. Command-line centric.
x11vncCan access the currently logged-in session. Ideal for GUI session sharing.

Jak používat vino v prostředí GNOME (Ubuntu 20.04~22.04)

GNOME má vestavěnou funkci VNC serveru nazvanou „vino„, kterou lze snadno nakonfigurovat z GUI.

1. Instalace potřebných balíčků (Pokud ještě nejsou nainstalovány)

sudo apt install vino -y

2. Povolení vzdáleného ovládání z „Nastavení“

  1. Otevřete aplikaci „Nastavení“.
  2. Vyberte „Sdílení“ > „Sdílení obrazovky“.
  3. Přepněte „Sdílení obrazovky“ na ZAPNUTO.
  4. Povolte „Povolit připojení k tomuto počítači“.
  5. Nastavte autentizaci heslem (silně doporučeno pro bezpečnost).

*Pokud je GNOME v relaci Wayland, vino nemusí fungovat správně, takže musíte přihlásit s X.org (vysvětleno v Kapitole 3).

3. Test připojení

Použijte VNC klienta (např. RealVNC Viewer, TigerVNC) z jiného PC k připojení k IP adrese Ubuntu.
Adresa bude ve formátu jako 192.168.1.100:5900.

Pro použití v CLI: tightvncserver

Pro použití na serveru, nebo pokud chcete lehkou instalaci bez GUI, je tightvncserver klasickou volbou.

1. Instalace

sudo apt install tightvncserver -y

2. Nastavení hesla při prvním spuštění

vncserver

Buďte vyzváni k zadání hesla pro připojení při prvním spuštění.

3. Spuštění VNC relace

vncserver :1

To spustí VNC relaci na portu 5901 (5900 + číslo displeje).

4. Konfigurace lehkého desktopového prostředí jako Xfce na Ubuntu (Volitelné)

Protože tightvnc není příliš kompatibilní s GNOME, je běžné popsat následující v souboru ~/.vnc/xstartup pro spuštění s relací Xfce:

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

Udělte skriptu práva k vykonání:

chmod +x ~/.vnc/xstartup

Poznámka k bezpečnosti: Doporučuje se kombinace s SSH tunelem

Protokol VNC nešifruje obsah komunikace. Proto při používání mimo LAN nebo přes internet je silně doporučeno používat ho v kombinaci s SSH tunelem.

Příklad: Připojte se na lokálním PC následovně:

ssh -L 5901:localhost:5901 your-user@remote-ubuntu

Poté připojením k localhost:5901 pomocí VNC prohlížeče můžete komunikovat bezpečně.

Shrnutí: VNC je flexibilní, ale vyžaduje povědomí o bezpečnosti

VNC je vynikající pro vzdálená připojení k Ubuntu z hlediska flexibility a podpory více platforem, ale je zranitelný, pokud nejsou přijata bezpečnostní opatření. Zejména při používání z externí sítě silně doporučujeme využít SSH tunel.

Také v závislosti na vašem účelu můžete vybrat VNC server: vino pro snadné použití založené na GUI, tightvnc pro lehké/použití na serveru a x11vnc, pokud chcete sdílet aktuálně přihlášenou relaci.

6. Jak se připojit k Ubuntu z Windows [Introducing Connection Clients]

Vzdálené ovládání Ubuntu vyžaduje nástroje na straně připojujícího se

I když jste dokončili nastavení vzdálené plochy na straně Ubuntu, stále potřebujete kompatibilní klientský software na připojujícím se PC (obvykle Windows). Windows má standardního klienta RDP, ale v závislosti na vašich potřebách můžete také vybrat bohatší software.

Tato kapitola představí hlavní metody připojení k Ubuntu z Windows, vysvětlené jednoduše podle protokolu.

Při používání RDP: Standardní „Připojení k vzdálené ploše“ ve Windows

Pokud váš počítač s Ubuntu podporuje RDP (buď xrdp, nebo standardní funkci RDP v GNOME), můžete k němu přistupovat pomocí aplikace Remote Desktop Connection, která je součástí Windows.

Kroky připojení

  1. Stiskněte Windows Key + R, zadejte „mstsc“ a stiskněte Enter.
  2. Do pole „Computer“ zadejte IP adresu Ubuntu (např. 192.168.1.10).
  3. Klikněte na „Connect“.
  4. Zadejte uživatelské jméno a heslo a dokončete připojení.

Výhody

  • Není nutná instalace žádného softwaru.
  • Provoz je rychlý a stabilní.
  • Známé uživatelské rozhraní pro uživatele Windows.

Poznámky

  • Nelze použít, pokud cílové Ubuntu RDP nepodporuje (starší verze vyžadují nastavení xrdp).
  • Předpokládá se použití v lokální síti (pro připojení zvenčí je potřeba VPN nebo SSH tunel).

Při použití VNC: Použijte VNC klientský software

Pokud je na straně Ubuntu nainstalován VNC server (vino, tightvnc atd.), můžete se také připojit z Windows pomocí VNC vieweru.

Doporučený VNC klientský software

Software NameFeatures
RealVNC ViewerSupports both commercial and non-commercial use. Has a polished UI and is easy for beginners to use.
TigerVNC ViewerOpen source. Simple in features but lightweight and fast in operation.
TightVNC ViewerA long-standing classic. Operates quickly with minimal features.

Kroky připojení (na příkladu RealVNC)

  1. Nainstalujte a spusťte RealVNC Viewer.
  2. Zadejte cíl připojení, např. 192.168.1.10:5900 (nebo 5901, atd.).
  3. Klikněte na „Connect“ a zadejte VNC heslo.
  4. Zobrazí se obrazovka Ubuntu a je možné vzdáleně ovládat systém.

Poznámky

  • Komunikace není šifrovaná, proto je vhodné kombinovat s SSH tunelem pro bezpečné použití.
  • Plynulost vykreslování je mírně horší než u RDP.

Remmina: Funkčně bohatý multi‑protokolový klient (lze použít i na Ubuntu)

Remmina je klient pro vzdálenou plochu, který dokáže spravovat více typů připojení, jako jsou RDP, VNC a SSH, v jedné aplikaci. Původně pro Linux, ale existuje i verze pro Windows, což umožňuje jednotný provoz na obou platformách.

Funkce

  • Jednotná správa RDP, VNC a SSH připojení v jedné aplikaci.
  • Multifunkční možnosti, jako ukládání profilů připojení a škálování.
  • Lze použít i na straně Ubuntu, což je užitečné i pro připojení z Ubuntu do Windows.

Instalace ve Windows

  • Lze použít stažením instalátoru z oficiálního webu Remmina (https://remmina.org).

Jak zjistit IP adresu (na straně Ubuntu)

Pro připojení z Windows potřebujete znát lokální IP adresu počítače s Ubuntu. Můžete ji zjistit na Ubuntu jedním z následujících způsobů:

Kontrola přes GUI

  • Zobrazte podrobné informace v „Settings“ > „Network“ > „Wired“ nebo „Wi‑Fi“.

Kontrola v terminálu

ip a

nebo

hostname -I

Použijte adresu ve formátu 192.168.*.*, kterou zobrazí výše uvedené příkazy.

Síťové doplnění

Předpokládá se, že připojující se počítač i cílový počítač jsou ve stejné LAN. Pokud chcete přistupovat z jiné sítě nebo zvenčí, budete potřebovat následující opatření:

  • Nastavení VPN (Virtual Private Network)
  • Konfiguraci přesměrování portů na vašem routeru (vyžaduje bezpečnostní úvahy)
  • Zajištění bezpečné cesty pomocí SSH tunelu (vysvětleno později)

Shrnutí: Vyberte klienta podle svého účelu

Connection MethodRecommended ClientPrimary Use Case
RDPWindows standard „Remote Desktop Connection“Easy and comfortable for Windows to Ubuntu connection
VNCRealVNC / TigerVNC / TightVNCWant to share operation with multiple devices, or use on Mac/smartphone
SSHRemminaSecure command-line and GUI combined connection

Jakmile je na straně Ubuntu vše nastaveno, výběr optimálního klienta podle vašeho Windows prostředí umožní bezproblémové vzdálené ovládání.

7. Řešení problémů s japonským vstupem a nastavením klávesnice

Problém „Nelze zadat japonské znaky“ během vzdáleného připojení

Při vzdáleném ovládání Ubuntu můžete narazit na potíže jako „nelze zadat japonské“, „klávesa poloviční/úplná šířka nefunguje“ nebo „nelze zadat zpětné lomítko ()“. K tomu dochází kvůli rozdílům v prostředí relace způsobeným vzdáleným připojením, což mění nastavení vstupu oproti lokálnímu provozu.

Tato kapitola podrobně popisuje běžné problémy s japonským vstupem a klávesnicí, které mohou nastat během vzdálených spojení s Ubuntu, a jejich řešení.

Nelze zadat japonské / IME nefunguje

Hlavní příčiny

  • Input method (IME) is not starting in the remote session.
  • Input frameworks like fcitx or ibus are not cooperating well with each session.
  • Compatibility issues between the GNOME session and RDP.

Solution 1: Explicitly Launch Mozc + fcitx

The common Japanese input environment on Ubuntu is the combination of „fcitx-mozc„. If this environment does not start automatically during a remote connection, you can often solve the problem by manually launching it using the following commands:

fcitx-autostart

Or

fcitx -r

Solution 2: Try Reconfiguring Input Methods for Each Session

  1. Check Settings > Region & Language > Input Sources.
  2. Confirm that „Japanese (Mozc)“ is enabled.
  3. If not, click “+” to add Japanese input.

Changes may be reflected after logging out and logging back in, so try performing a logout and login.

Half-width/Full-width Key Not Working, Key Mapping Shifts

In remote desktop connections, the keyboard layout recognition can be inconsistent. Particularly due to the layout differences between Japanese (JIS) and English (US) keyboards, you often see problems where the positions of keys like „backslash ()“ or „@“ change.

Solution: Explicitly Specify the Keyboard Layout

  1. Settings > Region & Language > Input Sources.
  2. Select „Japanese (Japanese)“ or „Japanese (OADG 109A)“, etc.
  3. If necessary, apply the settings with the setxkbmap command:
    setxkbmap -model jp106 -layout jp
    

You can add this setting to .xsession or .bashrc to apply it automatically upon remote login.

Cannot Input Backslash () or Pipe (|)

This issue, which is particularly common during RDP connections, is caused by xrdp not receiving key codes correctly.

Workaround: Force Keyboard Mapping Change

  1. Edit the following file:
    sudo nano /etc/xrdp/km-0411.ini
    
  1. This file defines the mapping corresponding to a Japanese keyboard. You may need to manually correct the differences with an English layout if necessary (for advanced users).

A more practical method is to avoid this issue by using a protocol other than xrdp (such as VNC).

Alternative Methods When Input Switching Doesn’t Respond

If the half-width/full-width key is not working correctly, you can use alternative keys like the following to toggle Japanese input on/off:

For Mozc (fcitx):

  • Ctrl + Space (Default)
  • Shift + Space (Changeable)

You can also change shortcut keys from the fcitx settings application.

Last Resort When Japanese Input is Impossible: Use an Editor + Copy/Paste

In environments where Japanese input is completely impossible, an effective temporary workaround is to type the text in Japanese on the local side (Windows), copy it, and paste it into an editor on Ubuntu.

Summary: Japanese Environment Behavior Varies by Connection Method

SymptomMain CauseSolution
Cannot input JapaneseIME not started, session mismatchRestart fcitx-mozc, add input source
Key layout is shiftedKeyboard layout mismatchExplicit setting with setxkbmap
Cannot input backslashxrdp keymap issueModify km file, switch to using VNC

In Ubuntu remote environments, keyboard input issues different from local operation are prone to occur. Therefore, it’s important to check settings and know alternative methods in advance.

8. Secure Connection Methods [SSH Tunnel]

Remote Connection and Security Risks

Ubuntu’s remote desktop features (RDP and VNC) are convenient, but exposing them directly to the internet is dangerous. If communication content is not encrypted or if access is possible with only password authentication, there is a risk of unauthorized access and eavesdropping by third parties.

As a countermeasure, using an SSH tunnel is widely recommended. An SSH tunnel creates a secure, encrypted „path (tunnel)“ and routes communication like VNC or RDP through it, allowing safe access to Ubuntu even from outside.

[Windows] --(SSH encrypted)--> [Ubuntu]
   |
   +--> (Port forwarding for VNC or RDP internally)

What is an SSH Tunnel? Overview of the Mechanism

An SSH tunel je mechanismus, který využívá funkčnost SSH (Secure Shell) připojení k bezpečnému přeposílání komunikace pro jiné aplikace. To umožňuje komunikaci, která není původně šifrovaná, jako je VNC nebo RDP, odesílat a přijímat přes SSH‑chráněnou cestu.

Příprava: Povolení SSH připojení

Pokud není na Ubuntu nainstalováno SSH, nainstalujte jej pomocí následujících příkazů:

sudo apt update
sudo apt install openssh-server -y

Po instalaci se sshd spustí automaticky, ale pro jistotu zkontrolujte jeho stav:

sudo systemctl status ssh

Pokud máte povolený firewall (UFW), povolte SSH port (22):

sudo ufw allow ssh

Jak vytvořit SSH tunel z Windows (příklad: přesměrování VNC portu 5901)

Metoda 1: Spustit z Windows Terminalu (PowerShell, atd.) pomocí příkazu ssh

ssh -L 5901:localhost:5901 your-user@ubuntu-ip
  • 5901:localhost:5901 : Přesměruje port 5901 lokálního PC na port 5901 na Ubuntu.
  • your-user@ubuntu-ip : Uživatelské jméno a IP adresa Ubuntu.

Při běhu tohoto příkazu se připojte z VNC klienta následovně:

localhost:5901

→ Komunikace dosáhne Ubuntu VNC serveru přes SSH tunel a spojení bude zabezpečené.

Metoda 2: Použít SSH klienty jako Tera Term nebo PuTTY (GUI)

  • V nastavení „TCP Port Forwarding“ v Tera Termu zadejte lokální a vzdálené porty.
  • Toto je výhodné pro ty, kteří chtějí spravovat nastavení přes grafické rozhraní.

SSH tunel lze také použít pro RDP

Podobně můžete chránit RDP spojení (port 3389) pomocí SSH.

ssh -L 3389:localhost:3389 your-user@ubuntu-ip

Poté přistupujte k „localhost:3389“ pomocí Windows Remote Desktop Connection.

Ještě bezpečnější s autentizací pomocí veřejného klíče

Pokud chcete dále zvýšit bezpečnost SSH připojení, měli byste použít metodu autentizace pomocí veřejného klíče.

Kroky (při vytváření klíčů na straně Windows):

  1. Spusťte následující příkaz v PowerShellu:
    ssh-keygen
    
  1. Zkopírujte vygenerovaný veřejný klíč na Ubuntu:
    ssh-copy-id your-user@ubuntu-ip
    

*Alternativně jej ručně přidejte do ~/.ssh/authorized_keys.

  1. Zkontrolujte následující v souboru /etc/ssh/sshd_config na Ubuntu:
    PubkeyAuthentication yes
    PasswordAuthentication no
    

Poté restartujte sshd:

sudo systemctl restart ssh

Výhody a nevýhody SSH tunelu

ItemDescription
✅ AdvantageCommunication is encrypted, providing very high security.
✅ AdvantageAvoids directly exposing RDP or VNC to the internet.
❌ DisadvantageInitial setup is somewhat complex and requires command-line operations each time.
❌ DisadvantageConnection is severed when the tunnel is closed (requires reconnecting).

Shrnutí: SSH tunel je nezbytný pro externí přístup

Při vzdáleném ovládání Ubuntu, zejména při přístupu zvenčí vaší sítě nebo během cestování, je zabezpečené spojení přes SSH tunel nezbytné. Jakmile si na to zvyknete, je to velmi výkonná metoda a kombinací s dalšími protokoly jako VNC nebo RDP můžete vytvořit bezpečné a pohodlné vzdálené prostředí.

9. [FAQ] Často kladené otázky o Ubuntu Remote Desktop

Q1. Co způsobuje selhání vzdáleného připojení k Ubuntu?

A. Existuje několik příčin, ale kontrola následujících bodů vám může pomoci najít řešení.

  • Je IP adresa správná?
  • Je Ubuntu připojeno ke stejné LAN?
  • Blokuje firewall (UFW) komunikaci?
  • Je cílové Ubuntu přihlášeno do X.org relace (pro RDP)?
  • Běží xrdp nebo VNC správně?

Nejprve zkontrolujte stav každé služby v terminálu takto:

sudo systemctl status xrdp
sudo systemctl status ssh

Q2. Co mám dělat, když je obraz roztřepovaný nebo se během připojení odpojuje?

A. Toto je hlavně způsobeno nedostatečnou šířkou pásma sítě nebo rozdíly v metodách vykreslování. Zde jsou některá řešení:

  • V RDP nastavení na „low bandwidth mode“ může zlepšit výkon.
  • V VNC použití odlehčeného desktopu (např. Xfce) může pomoci.
  • Vyhněte se náročným úkolům jako video nebo 3D grafika během vzdáleného připojení.
  • Použití kabelové LAN místo bezdrátové může zvýšit stabilitu.

Q3. Můžu se vzdáleně připojit z Ubuntu na Windows?

A. Ano, je to možné. Ubuntu má bohatého klienta pro vzdálenou plochu nazvaného Remmina, který se může připojit k standardnímu Windows RDP serveru (povoleno ve verzi Pro a vyšší).

Steps to use Remmina on Ubuntu:

sudo apt install remmina -y
  1. Spusťte Remmina.
  2. Vytvořte „Nové připojení“.
  3. Vyberte „RDP“ jako protokol a zadejte IP adresu Windows a přihlašovací údaje.
  4. Spusťte připojení.

Q4. I want to connect to Ubuntu from outside my home or a different network.

A. Pro připojení k Ubuntu z externí sítě potřebujete jednu z následujících metod:

  • Nastavte VPN (virtuální privátní síť).
  • Použijte SSH tunel (vysvětleno v kapitole 8).
  • Nakonfigurujte přesměrování portů na vašem routeru (nedoporučeno).

Přesměrování portů je snadné nastavit, ale představuje vysoké bezpečnostní riziko, proto doporučujeme VPN nebo SSH tunel.

Q5. I want to connect without entering a password every time.

A. Pro SSH připojení můžete vynechat zadání hesla pomocí autentizace veřejným klíčem (také účinné pro zvýšení bezpečnosti).
Pro RDP a VNC je možné zjednodušení nastavením automatického přihlášení na straně Ubuntu, ale buďte opatrní, protože to zvyšuje bezpečnostní rizika.

Q6. Why can’t I input Japanese / why are the keys shifted?

A. Toto je převážně způsobeno selháním spuštění vstupní metody nebo nesprávným rozpoznáním rozložení klávesnice.
Podrobnosti jsou vysvětleny v kapitole 7, ale následující kroky jsou obecně účinné:

  • Restartujte/inicializujte fcitx nebo ibus.
  • Explicitně nastavte rozložení pomocí příkazu setxkbmap.
  • Zkontrolujte nastavení GUI při používání VNC.

Q7. Can I use remote connection for free?

A. Ano, Ubuntu, xrdp, Remmina, VNC atd. jsou všechny open source a zdarma. Některé komerční funkce VNC klientů (např. RealVNC) a VPN služeb mají placené plány, ale můžete si vytvořit zcela bezplatné prostředí pro osobní použití.

Q8. Can multiple people operate Ubuntu simultaneously?

A. Obvykle je standardní RDP připojení jedna relace na uživatele.
U VNC je možné, aby více uživatelů sdílelo stejnou obrazovku. Nicméně, protože operace mohou kolidovat, je to vhodné pro vzdělávání nebo vedení.

Q9. Ubuntu goes into sleep mode during remote operation.

A. Když Ubuntu vstoupí do režimu spánku nebo pozastavení, vzdálené připojení je přerušeno. Proveďte následující opatření:

  • Změňte nastavení „Suspend“ v „Nastavení“ > „Napájení“ na „Nesuspendovat“.
  • Podrobnější nastavení lze také změnit pomocí příkazu gsettings:
    gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
    

Q10. Which is better, RDP or VNC?

A. Neexistuje jednoznačná odpověď, která z možností je lepší, ale můžete si vybrat podle následujícího:

PriorityRecommendation
Connection comfort/rendering speedRDP
Shared operation by multiple usersVNC
Compatibility with Windows usersRDP
Security focus (assuming SSH combined)Either is fine

10. Conclusion: Master Remote Connection on Ubuntu Easily and Securely

Ubuntu Remote Desktop Isn’t Difficult

Možná jste měli představu, že „Linux je obtížný“ nebo „vzdálené připojení je nemožné bez specializovaných znalostí“. Nicméně, díky tomuto článku by mělo být jasné, že vzdálené připojení k Ubuntu je ve skutečnosti poměrně praktická a přístupná technologie, i pro začátečníky.

V Ubuntu 22.04 a novějším je standardní funkce RDP vestavěna, což umožňuje nastavení pouze pomocí GUI operací. I ve starších verzích se můžete z Windows připojit bez problémů pomocí nástrojů jako xrdp a VNC.

Choose the Connection Method That Suits You

Existuje několik způsobů, jak se vzdáleně připojit k Ubuntu. Každý má své výhody i nevýhody a je důležité je používat selektivně podle vašeho prostředí a účelu.

PurposeRecommended Connection MethodComment
Easy connection within the homeRDP (Ubuntu standard or xrdp)Easy and comfortable to use from Windows
Secure connection from outsideRDP or VNC + SSH TunnelBuild a secure encrypted path
Sharing the same screen with multiple peopleVNC (vino / x11vnc)Convenient for collaborative work and educational settings
CLI-centric management operationSSH (Terminal connection)Lightweight and robust remote management method

Security Measures: That „First Small Effort“ is Important

Spolu s pohodlím přináší vzdálené připojení také bezpečnostní rizika. Zejména při vystavování VNC nebo RDP přes internet vždy je kombinujte s SSH tunelem nebo VPN a prověřte autentizaci heslem a nastavení firewallu.

Také implementace autentizace veřejným klíčem pro SSH může udělat denní připojení jak bezpečná, tak plynulá.

Problémy se stávají, ale existují řešení

Jak bylo uvedeno v tomto článku, mohou se vyskytnout problémy jako vstup v japonštině, mapování kláves, selhání připojení nebo černé obrazovky, ale pro každý existují osvědčená řešení. Pokud klidně zkontrolujete příčinu krok za krokem, většinu problémů můžete vyřešit sami.

Pokud narazíte na problémy, můžete se vždy vrátit na tuto stránku pro rychlý přehled.

Udělejte první krok

Jakmile je postaveno, prostředí vzdálené plochy Ubuntu je silný nástroj, který může významně zlepšit každodenní pracovní efektivitu. Od vzdáleného spravování domácího serveru po provozování vývojového prostředí Ubuntu z notebooku jsou možnosti nekonečné.

Pokud jste to ještě nezkusili, začněte s připojením RDP v rámci stejné LAN. Budete překvapeni, jak snadno se otevřou nové možnosti pro Ubuntu.

To uzavírá Kompletní průvodce připojením k vzdálené ploše Ubuntu.
Děkujeme za čtení!

年収訴求