Skip to content

Archives

  • Leden 2022
  • Prosinec 2021
  • Listopad 2021
  • Říjen 2021
  • Září 2021

Categories

  • Žádné rubriky
Trend RepositoryArticles and guides
Articles

Vzdálený přístup ke grafickému uživatelskému rozhraní počítače s Linuxem pomocí Tightvnc s systemd

On 13 ledna, 2022 by admin

Toto je průvodce instalací TightVNC na Raspberry Pi. Nejnovější verze Raspbianu nyní obsahuje RealVNC, což je alternativní nástroj pro vzdálenou plochu. Pokud byste raději používali RealVNC, pak jej snadno povolíte pomocí nástroje raspi-config, tento návod bude užitečný pro ty, kteří chtějí porozumět vytváření dalších aplikací spouštěných při startu pomocí systemd.

Příkazový řádek je skvělý způsob správy vzdáleného počítače s Linuxem, pokud vám nevadí zadávání příkazů, ale někdy potřebujete mít možnost zobrazit grafické rozhraní. Při nedostatku velmi dlouhého kabelu je jedním z nejlepších způsobů použití protokolu VNC (Virtual Network Computing).

  • TightVNC vs Real VNC
  • Instalace spouštěcího skriptu pomocí Systemd
  • Výběr TightVNC
  • Model klient-server
  • Instalace serverového softwaru TightVNC
  • Spuštění serveru a nastavení hesla
  • Přidání Tightvnc do spouštění systemd
  • Instalace prohlížeče Tightvnc (klienta VNC) na počítači se systémem Linux
  • Instalace zobrazení Tightvnc na počítači s Windows
  • Zabezpečení TightVNC
  • Spuštění správce oken

TightVNC vs Real VNC

Server TightVNC vytvoří jiné virtuální okno, které je replikováno na jiném počítači pomocí klienta TightVNC. Tím se liší od RealVNC, který obvykle echoskopuje výchozí obrazovku.

Když si většina lidí představí nástroj pro vzdálenou plochu, pak se jim obvykle vybaví způsob, jakým funguje RealVNC. V tomto případě se při pohybu myší nebo spuštění aplikace zobrazí stejný výstup na fyzicky připojené obrazovce (obvykle HDMI) i na vzdáleném klientovi přes síť.

TightVNC je užitečný, pokud chcete spustit něco jiného, než co je na hlavní obrazovce. Můžete jej například použít tak, že na hlavní obrazovce (přes HDMI) můžete mít stavové zobrazení, přičemž pro konfiguraci se používá jiný displej, který se zobrazuje na notebooku.

Další výhodou TightVNC je, že se jedná o ZDARMA dostupný open source software. Jako takový nemá žádná omezení pro použití a můžete si prohlížet a upravovat zdrojový kód. Real VNC je komerční verze VNC a je třeba ji licencovat. Real VNC je zdarma pro osobní použití na Raspberry Pi, ale má omezení, pokud s ním chcete dělat další věci, které mohou vyžadovat komerční licenci. To zahrnuje i spuštění obrazu Raspbian Desktop na počítači, protože ten komerční software neobsahuje.

Instalace spouštěcího skriptu pomocí Systemd

Následují pokyny, jak jej nakonfigurovat na Raspberry Pi (distribuce založená na Debianu). Podobně by to mělo být i u jakékoli jiné distribuce založené na Debianu (např. Ubuntu), která používá spouštěcí soubory Systemd. Některé jiné distribuce používají jiné nástroje pro instalaci softwaru a případně i jiné nástroje pro nastavení init.

Pokud tento návod použijete v kombinaci s návodem pro bezhlavý provoz Raspberry Pi v systému Debian Linux, pak jej můžete použít k nastavení Raspberry Pi pro vzdálený přístup, aniž byste jej museli připojovat k monitoru.

Výběr TightVNC

Existuje několik softwarových projektů, které podporují VNC. Rozhodl jsem se použít TightVNC, protože je to svobodný software s otevřeným zdrojovým kódem (GPL2), poskytuje kompresi umožňující práci v pomalé síti (internetu) a je snadno dostupný v softwarových repozitářích.

Model klient-server

VNC se řídí tradičním modelem klient-server. Software serveru běží na hostiteli, ke kterému se má přistupovat, a software klienta běží na místním počítači, který chce hostitele ovládat. Server a klient nemusí být stejný (např. klientem může být RealVNC, když serverem je TightVNC), ale některé funkce mohou fungovat pouze při použití stejného klienta a serveru.

Instalace serverového softwaru TightVNC

Nejprve obnovte informace o úložišti softwaru pomocí
sudo apt update
To je obzvláště důležité, pokud jste právě nainstalovali operační systém, protože informace o úložišti mohou být neúplné.

Instalace serverového softwaru z úložišť:
sudo apt install tightvncserver

Spuštění serveru a nastavení hesla

Při prvním spuštění serveru vás vyzve k nastavení hesla. Toto heslo použijete při vzdáleném připojení.

/usr/bin/tightvncserver

Není třeba vytvářet heslo pouze pro zobrazení, pokud nemáte specifickou potřebu.

Po spuštění serveru vám sdělí, která virtuální plocha byla nastavena. V tomto případě:
New 'X' desktop is raspberrypi:1
říká, že se jedná o virtuální plochu 1. K té byste se připojili pomocí :1 na konci IP adresy v klientovi, to je ta, kterou později nastavíme tak, aby se spouštěla automaticky.

Můžete spustit více instancí. Při každém spuštění tightvncserveru se použije další dostupná plocha, ale ve většině případů vám bude stačit jedna.

Přidání Tightvnc do spouštění systemd

Aby se Tightvnc spouštěl automaticky, musíme vytvořit nový spouštěcí soubor, který musí být uložen v adresáři /etc/systemd/system/ a končit příponou „.service“. Já jsem tento soubor nazval tightvncserver.service. Ten je třeba vytvořit jako uživatel root, takže pomocí sudo
sudo nano /etc/systemd/system/tightvncserver.service

  1. Description=TightVNC remote desktop server
  2. After=sshd.service
  3.  
  4. .

  5. Type=dbus
  6. ExecStart=/usr/bin/tightvncserver :1
  7. User=pi
  8. Type=forking
  9.  
  10. WantedBy=multi-user.target

Možná budete muset změnit jméno uživatele na řádku 8. V současné době je nastaveno na pi, což je výchozí uživatelské jméno v obrazu Raspberry Pi Raspbian. Nastavte jej na libovolné uživatelské jméno, pod kterým se chcete přihlašovat do programu TightVNC. Nezadávejte jako uživatele root.

Změňte soubor tak, aby jej vlastnil root
sudo chown root:root /etc/systemd/system/tightvncserver.service

Udělejte soubor spustitelným spuštěním
sudo chmod 755 /etc/systemd/system/tightvncserver.service

V tomto okamžiku je dobré skript otestovat a nečekat až po restartu. To se provádí pomocí:
sudo systemctl start tightvncserver.service
Neznepokojujte se, pokud se zobrazí následující chybová zpráva, což je způsobeno tím, že jste již tightvnc spustili
A VNC server is already running as :1

Zapněte spouštění při startu pomocí
sudo systemctl enable tightvncserver.service

TightVNC se nyní spustí při startu. Doporučuji v tomto okamžiku restartovat počítač, abyste se ujistili, že to funguje, ale místo toho můžete službu prostě zastavit a spustit pomocí příkazu systemctl.

Všimněte si, že je to určeno pro spuštění pouze jedné instance TightVNC v počítači. Pokud chcete mít možnost spouštět a zastavovat konkrétní instance TightVNC, budete muset spouštěcí skript vhodně upravit.

Instalace prohlížeče Tightvnc (klienta VNC) na počítači se systémem Linux

Na počítač se systémem Linux můžete prohlížeč nainstalovat pomocí
sudo apt install xtightvncviewer
nebo pokud to není v repozitářích, zkuste:
sudo apt-get install ssvnc
Toto bude fungovat pouze v distribucích založených na Debianu / Ubuntu, pro ostatní distribuce použijte běžného správce balíčků.

Všimněte si, že ssvnc – což je verze, kterou jsem nainstaloval na svůj počítač s Kubuntu, je založena na tightvnc, ale má také možnost konfigurovat ssh tunelování (viz později) prostřednictvím grafického rozhraní.

Přihlášení pomocí
xtightvncviewer 192.168.1.6:1
(podle potřeby nahraďte vlastní IP adresou)

Instalace zobrazení Tightvnc na počítači s Windows

Pro přístup z Windows nebo pomocí klienta Java si stáhněte TightVNC.com

Zabezpečení TightVNC

TightVNC umožňuje komukoli, kdo zná heslo, přihlásit se jako uživatel, pod kterým je spuštěn. Navíc to dělá bez šifrování, takže kdokoli může relaci odposlouchávat. Naštěstí existuje bezpečné řešení, které spočívá v tunelování připojení přes přihlášení pomocí ssh (secure shell).

Prvním krokem je omezení aplikace Tightvnc pouze na místní počítač. To se provede přidáním volby -localhost při spuštění tightvncserveru. Za tímto účelem upravte řádek 7 v souboru /etc/systemd/system/tightvncserver.service takto:>

ExecStart=/usr/bin/tightvncserver -localhost :1

Poté restartujte server.

Pro přihlášení pomocí ssh – nejprve se přihlaste k hostitelskému počítači pomocí ssh
ssh [email protected] -L 5901:localhost:5901

Volba -L vytvoří tunel, z aktuálního počítače (výchozí) port 5901 na hostitelský počítač (jako localhost) port 5901. Port 5901 je výchozí port pro displej 1, 5902 pro displej 2 atd.

Pro připojení pomocí tightvnc nyní použijte příkaz
xtightvncviewer 127.0.0.1:1
Všimněte si, že váš předchozí terminál bude nyní přihlášen k Raspberry Pi, takže pro spuštění prohlížeče budete muset spustit nový terminál nebo kartu.

Pokud používáte systém Windows, pak lze tunel ssh vytvořit v programu PuTTY

Poté se připojte pomocí klienta vnc s použitím adresy 127.0.0.1:1.

Nyní můžete používat grafické rozhraní pro spouštění aplikací na Raspberry Pi, aniž byste potřebovali monitor nebo klávesnici. Pokud máte na svém směrovači nastaveno přesměrování portů, můžete tak učinit přes internet.

Spuštění správce oken

Výše uvedené pokyny jsou dostatečné pro Raspberry Pi se systémem Raspbian (Debian). V jiných systémech bude možná nutné provést další změnu konfigurace, abyste mohli spustit běžného správce oken / spouštěč aplikací. Pokud se vám při připojení zobrazí prázdná obrazovka, upravte soubor ~/.vnc/xstartup a řádek /etc/X11/Xsession nahraďte podle potřeby jedním z následujících řádků:

exec ck-launch-session startlxde#for an lxde sessionexec ck-launch-session gnome-session#for a gnome-sessionexec ck-launch-session openbox-session#for an openbox desktopexec ck-launch-session startxfce4#for an xfce desktopexec ck-launch-session icewm#for an icewm desktopexec ck-launch-session startkde#for a kde desktop

Například u Ubuntu byste použili položku pro gnome, u xubuntu byste použili xfce a u kubuntu kde. Raspberry Pi používá lxde, ale to se na Raspberry Pi spouští automaticky, není třeba ho přidávat do souboru xstartup.

Napsat komentář Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Archivy

  • Leden 2022
  • Prosinec 2021
  • Listopad 2021
  • Říjen 2021
  • Září 2021

Základní informace

  • Přihlásit se
  • Zdroj kanálů (příspěvky)
  • Kanál komentářů
  • Česká lokalizace
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress