X11, často označovaný jako Xorg Server, představuje grafický systém pro operační systém Linux. Tato technologie, která má své kořeny v polovině osmdesátých let, se zrodila v éře, kdy se osobní počítače stávaly masově rozšířenými.
Aniž bychom se pouštěli do historických detailů, X11 hraje klíčovou roli pro všechny uživatele Linuxu i v dnešní době. Je základem pro fungování grafického uživatelského rozhraní a má zásadní význam pro většinu každodenních činností.
Kromě správy grafických karet a vykreslování grafiky v Linuxu je jednou z nejvýznamnějších funkcí X11 možnost zobrazovat grafická rozhraní vzdáleně prostřednictvím X11 forwarding. V tomto návodu si ukážeme, jak nastavit X11 forwarding v Linuxu pomocí SSH.
Požadavky pro nastavení
Aby bylo možné využívat X11 forwarding v Linuxu, je nezbytné mít nakonfigurované SSH. Důvodem je, že X11 forwarding je součástí protokolu Secure Shell a v současné době neexistuje jiný způsob, jak tuto funkci využít.
Nastavení SSH serveru je poměrně jednoduché a ve většině distribucí Linuxu vyžaduje jen pár kroků. Pro jeho instalaci otevřete terminál a nainstalujte SSH klienta na počítači, ze kterého se budete připojovat. Po instalaci klienta se přesuňte na vzdálený počítač nebo server a nainstalujte SSH serverový balíček a aktivujte ho pomocí systemd.
Pokud si nejste jistí, jak nainstalovat a používat server Secure Shell v Linuxu, nevadí! Podívejte se na náš návod k nastavení SSH. Popisuje celý proces nastavení připojení a uvádí i několik běžných příkladů příkazů!
Aktivace X11 Forwarding
Aktivace X11 forwarding v SSH se provádí v konfiguračním souboru SSH. Konfigurační soubor se nachází na adrese `/etc/ssh/ssh_config` a vyžaduje úpravu s oprávněními sudo nebo root. Otevřete terminál a spusťte příkaz pro přihlášení jako superuživatel. Pokud nemůžete použít příkaz `su`, protože je na vašem systému zakázaný, nahraďte ho příkazem `sudo -s` pro získání rootovského přístupu.
su -
nebo
sudo -s
Nyní, když má terminál rootovský přístup, můžete bezpečně otevřít soubor `ssh_config` pomocí textového editoru Nano. Zadejte následující příkaz do terminálu:
nano -w /etc/ssh/ssh_config
V textovém editoru Nano pomocí šipek nahoru a dolů najděte řádek s textem „ForwardX11“ a odstraňte symbol komentáře (#) před daným řádkem.
Poznámka: Pokud nemůžete najít řádek s nastavením X11 forwarding, stiskněte `Ctrl + W` v Nano pro otevření vyhledávání. Zadejte „ForwardX11“ a stisknutím klávesy Enter se přesunete na hledaný řádek.
Po provedení změn v konfiguračním souboru serveru SSH stiskněte klávesovou zkratku `Ctrl + O` pro uložení úprav. Poté zavřete Nano pomocí `Ctrl + X`.
Restartování SSH Serveru
Po aktivaci řádku `X11Forward` v konfiguračním souboru SSH serveru je nutné restartovat SSH software, aby se změny projevily. Ve většině distribucí Linuxu se restart SSH provádí pomocí příkazu `systemctl restart`.
Poznámka: Distribuce Linuxu, které nepoužívají systemd, mají vlastní mechanismus pro restartování SSH. Pokud nemůžete najít příkaz pro restartování serveru Secure Shell, nejjednodušším řešením je restartovat celý počítač. Konfigurační změny se projeví po restartu.
systemctl restart sshd.service
Po restartování služby SSHD na pozadí je váš SSH server připraven k předávání oken X11 přes síť.
Použití X11 Forwarding
X11 forwarding je funkcí SSH, není to samostatná věc. Pro jeho využití použijte příkaz pro připojení SSH, jako je ten níže.
Poznámka: Nahraďte `vzdaleny_uzivatel` a `nazev_vzdaleneho_hostitele` skutečným uživatelským jménem a názvem vzdáleného hostitele nebo jeho IP adresou.
ssh [email protected] -X
Pokud SSH server běží na jiném portu než je výchozí port 22, musíte tento port zadat v příkazu pro připojení. Vyzkoušejte následující příklad příkazu:
ssh [email protected] -X -p cislo_portu
Po úspěšném připojení k vzdálenému počítači pomocí SSH můžete vzdáleně spouštět aplikace nainstalované na serveru přímo na ploše vašeho počítače spuštěním programu z terminálu.
Například pro spuštění verze Gedit nainstalované na SSH serveru byste spustili příkaz `gedit`:
gedit
Pro správce souborů Nautilus byste spustili příkaz `nautilus`:
nautilus
Potřebujete spustit více programů přes SSH a X11 forwarding? Budete muset otevřít více SSH připojení a pracovat s každým z nich zvlášť.
Zavírání přesměrovaných programů
Pro zavření otevřené aplikace přesměrované pomocí SSH, můžete stisknout `Ctrl + C` nebo kliknout na tlačítko „zavřít“ jako u jakéhokoli jiného programu na vašem počítači.