Hoppa till innehåll

Archives

  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021

Categories

  • Inga kategorier
Trend RepositoryArticles and guides
Articles

Fjärrstyrd GUI-åtkomst till en Linux-dator med Tightvnc och systemd

On januari 13, 2022 by admin

Detta är en guide för att installera TightVNC på Raspberry Pi. Den senaste versionen av Raspbian innehåller nu RealVNC som är ett alternativt fjärrskrivbordsverktyg. Om du föredrar att använda RealVNC så aktiveras det enkelt genom verktyget raspi-config. Den här guiden kommer att vara användbar för dem som vill förstå hur man skapar andra program som ska köras vid uppstart genom systemd.

Kommandoraden är ett utmärkt sätt att hantera en Linuxdator på distans om du inte har något emot att skriva in kommandon, men ibland behöver du kunna se ett grafiskt gränssnitt. Utan en mycket lång kabel är ett av de bästa sätten att göra detta att använda VNC-protokollet (Virtual Network Computing).

  • TightVNC vs Real VNC
  • Installation av ett uppstartsskript med hjälp av Systemd
  • Väljning av TightVNC
  • Client-server-modellen
  • Installera TightVNC-serverns programvara
  • Starta server och konfigurera ett lösenord
  • Att lägga till Tightvnc i systemd startup
  • Installation av Tightvnc viewer (VNC-klient) på en Linux-dator
  • Installation av Tightvnc view på en Windows-dator
  • Säkra TightVNC
  • Starta din fönsterhanterare

TightVNC vs Real VNC

TightVNC-servern skapar ett annat virtuellt fönster som replikeras på en annan maskin med hjälp av TightVNC-klienten. Detta skiljer sig från RealVNC som normalt sett oftast ekar standardskärmen.

När de flesta tänker på ett fjärrskrivbordsverktyg så tänker de oftast på hur RealVNC fungerar. I det här fallet när du flyttar musen eller startar ett program visas samma utdata på en fysiskt ansluten skärm (normalt HDMI) och på en fjärrklient via nätverket.

TightVNC är användbart om du vill köra något annat än det som visas på huvudskärmen. Du kan till exempel använda det så att du kan ha en statusvisning på huvudskärmen (via HDMI) med en annan skärm som används för konfigurationen som visas på en bärbar dator.

En annan fördel med TightVNC är att det är GRATIS programvara med öppen källkod. Som sådan har den inga begränsningar i användningen och du kan se och ändra källkoden. Real VNC är en kommersiell version av VNC och måste licensieras. Real VNC är gratis att använda för personligt bruk på Raspberry Pi, men har begränsningar om du vill göra andra saker med den, vilket kan kräva en kommersiell licens. Detta inkluderar att köra Raspbian Desktop-avbildningen på en PC eftersom den inte innehåller den kommersiella programvaran.

Installation av ett uppstartsskript med hjälp av Systemd

Nedan följer instruktioner om hur du konfigurerar detta på Raspberry Pi (Debianbaserad distribution). Det bör vara likadant för alla andra Debianbaserade distributioner (t.ex. Ubuntu) som använder Systemd-startfiler. Vissa andra distributioner använder olika programvaruinstallationsverktyg och eventuellt olika init-installationsverktyg.

Om detta används i kombination med guiden för att köra Raspberry Pi huvudlöst med Debian Linux kan det användas för att konfigurera en Raspberry Pi för fjärråtkomst utan att någonsin behöva ansluta den till en bildskärm.

Väljning av TightVNC

Det finns flera programvaruprojekt som stöder VNC. Jag har valt att använda TightVNC eftersom det är gratis programvara med öppen källkod (GPL2), ger komprimering så att den kan fungera över ett långsamt nätverk (Internet) och är lättillgänglig i programvaruupplagorna.

Client-server-modellen

VNC följer den traditionella klient-server-modellen. Serverprogramvaran körs på värddatorn som ska nås, och klientprogramvaran körs på den lokala maskin som vill styra värddatorn. Servern och klienten behöver inte vara samma (t.ex. kan klienten vara RealVNC när servern är TightVNC), men vissa funktioner fungerar bara när samma klient och server används.

Installera TightVNC-serverns programvara

Först uppdaterar du informationen om programvaruförrådet med hjälp av
sudo apt update
Det här är särskilt viktigt om du precis har installerat operativsystemet eftersom informationen om förrådet kan vara ofullständig.

Installera serverprogramvaran från repositories:
sudo apt install tightvncserver

Starta server och konfigurera ett lösenord

Första gången du kör servern uppmanas du att ange ett lösenord. Detta är det lösenord som du använder när du ansluter på distans.

/usr/bin/tightvncserver

Det finns inget behov av att skapa ett lösenord för endast visning, om du inte har ett specifikt behov.

När servern startar talar den om för dig vilket virtuellt skrivbord som har konfigurerats. I det här fallet:
New 'X' desktop is raspberrypi:1
säger att det är virtuellt skrivbord 1. Du ansluter till detta genom att använda :1 i slutet av IP-adressen i klienten, detta är den som vi kommer att ställa in så att den startar automatiskt senare.

Du kan köra flera instanser. Varje gång du startar tightvncserver kommer den att använda nästa tillgängliga skrivbord, men i de flesta fall behöver du bara en.

Att lägga till Tightvnc i systemd startup

För att få Tightvnc att starta automatiskt måste vi skapa en ny startup-fil, som måste lagras i katalogen /etc/systemd/system/ och sluta med suffixet ”.service”. Jag kallade denna för tightvncserver.service. Denna måste skapas som root-användare så använd 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

Du kan behöva ändra användarnamnet på rad 8. Det är för närvarande inställt på pi som är standardanvändarnamnet på Raspberry Pi Raspbian-avbildningen. Ställ in detta till det användarnamn du vill logga in på TightVNC som. Sätt inte root som användare.

Ändra filen så att den ägs av root
sudo chown root:root /etc/systemd/system/tightvncserver.service

Föränd filen körbar genom att köra
sudo chmod 755 /etc/systemd/system/tightvncserver.service

Det är en bra idé att testa skriptet vid det här laget snarare än att vänta till efter en omstart. Detta görs med hjälp av:
sudo systemctl start tightvncserver.service
Oroa dig inte om du får följande felmeddelande, vilket beror på att du redan har startat tightvnc
A VNC server is already running as :1

Aktivera start vid uppstart med hjälp av
sudo systemctl enable tightvncserver.service

TightVNC kommer nu att starta vid uppstart. Jag rekommenderar att du startar om vid det här laget för att se till att det fungerar, men du kan också stoppa och starta tjänsten med hjälp av kommandot systemctl i stället.

Notera att detta är utformat för att bara köra en instans av TightVNC på datorn. Om du vill kunna starta och stoppa specifika instanser av TightVNC måste du justera startskriptet på lämpligt sätt.

Installation av Tightvnc viewer (VNC-klient) på en Linux-dator

På en Linux-dator kan du installera tittaren med
sudo apt install xtightvncviewer
eller om det inte finns i repositories prova:
sudo apt-get install ssvnc
Detta fungerar endast med Debian/Ubuntu-baserade distributioner, för andra distributioner använd den vanliga pakethanteraren.

Notera att ssvnc – som är den version jag installerade på min Kubuntu-dator är baserad på tightvnc, men har också möjlighet att konfigurera ssh-tunneln (se senare) via GUI.

Logga in med
xtightvncviewer 192.168.1.6:1
(ersätt med din egen IP-adress i förekommande fall)

Installation av Tightvnc view på en Windows-dator

För att få tillgång från Windows eller med hjälp av Java-klienten som du laddar ner från TightVNC.com

Säkra TightVNC

TightVNC gör det möjligt för alla som känner till lösenordet att logga in som användaren som den körs under. Det gör också detta utan kryptering så vem som helst kan snoka in på sessionen. Lyckligtvis finns det en säker lösning, vilket är att tunnla anslutningen över en ssh-inloggning (secure shell).

Det första steget är att begränsa Tightvnc till endast den lokala datorn. Detta görs genom att lägga till alternativet -localhost när tightvncserver startas. För att göra detta redigerar du rad 7 i filen /etc/systemd/system/tightvncserver.service så att den lyder:>

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

Därefter startar du om servern.

För att logga in med hjälp av ssh – logga först in på värddatorn med hjälp av ssh
ssh [email protected] -L 5901:localhost:5901

Otillvalet -L skapar tunneln, från den aktuella datorn (som standard) port 5901 till värddatorn (som localhost) port 5901. Port 5901 är standardporten för display 1, 5902 för display 2 osv.

För att ansluta med tightvnc använder du nu kommandot
xtightvncviewer 127.0.0.1:1
Bemärk att din tidigare terminal nu kommer att vara inloggad på Raspberry Pi så du måste starta en ny terminal eller flik för att köra tittaren.

Om du använder Windows kan ssh-tunneln skapas från PuTTY

Har du sedan anslutit med hjälp av vnc-klienten genom att använda 127.0.0.0.1:1.

Du kan nu använda GUI:n för att köra program på Raspberry Pi utan att behöva en bildskärm eller ett tangentbord. Om du har ställt in portvidarebefordran på din router kan du göra detta via Internet.

Starta din fönsterhanterare

Instruktionerna ovan är tillräckliga för Raspberry Pi som kör Raspbian (Debian). På andra system kan du behöva göra ytterligare en konfigurationsändring för att starta din normala fönsterhanterare/programstartare. Om du får en tom skärm när du ansluter redigerar du filen ~/.vnc/xstartup och ersätter raden /etc/X11/Xsession med någon av följande enligt vad som är lämpligt:

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

Till exempel med Ubuntu skulle du använda posten för gnome, för xubuntu skulle du använda xfce och för kubuntu använda kde. Raspberry Pi använder lxde, men detta startas automatiskt på Raspberry Pi så du behöver inte lägga till det i xstartup-filen.

Lämna ett svar Avbryt svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Arkiv

  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021

Meta

  • Logga in
  • Flöde för inlägg
  • Flöde för kommentarer
  • WordPress.org
  • 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
  • 日本語日本語

Upphovsrätt Trend Repository 2022 | Tema av ThemeinProgress | Drivs med WordPress