Fjärrskrivbord i Linux
Det finns mängder med olika lösningar för fjärrskrivbord i Linux, alltifrån den gamla klassikern XDMCP som har funnits länge till mer moderna varianter som VNC och NoMachine. Det finns även implementeringar av Microsofts RDP för Linux. De varianter vi kommer att gå igenom här är XDMCP och två olika lösningar för VNC. Samtliga exempel är baserade på Debian Stretch med LightDM som login-manager.
XDMCP
XDMCP står för X Display Manager Control Protocol och kom redan 1989 i
X11R4. Med XDMCP kan man logga in på en fjärrdator som om den vore lokal. När du
ansluter din X-server till fjärrmaskinen får du upp inloggningsskärmen på
fjärrmaskinen, precis som om du satt vid den lokalt. För att ansluta till en
fjärrmaskin finns det olika tillvägagångssätt. Den kanske äldsta och enklaste om
du använder ett Linux-system är att helt enkelt starta en ny X-display som
ansluts till fjärrmaskinen. Detta görs med kommandot X -query fjarr.example.com
:1
. Observera att du måste ändra :1
till nästa lediga X-display på ditt
system. Du växlar sedan mellan din egna lokala X och fjärrdatorns X med
CTRL-ALT-Fn knapparna. CTRL-ALT-F7 brukar vara din lokala X och första
fjärrdatorn blir då CTRL-ALT-F8.
Tillåta XDMCP-anslutningar
För att tillåta XDMCP-anslutningar till en dator måste detta oftasts först
aktiveras. Under Debian med LightDM görs detta i filen
/etc/lightdm/lightdm.conf
. I denna filen lägger du till eller avkommenterar
raderna nedan.
[XDMCPServer]
enabled=true
Starta sedan om din LightDM antingen genom att starta om datorn eller bara genom
att starta om LightDM med t.ex. /etc/init.d/lightdm restart
.
XDMCP över VNC
Observera att du måste ha en X-server på din lokala dator för att kunna logga in
på en fjärrdator över XDMCP. Om du inte har en lokal X-server, t.ex. på din
mobiltelefon, din Windows-dator eller kanske din surfplatta, så kan du istället
använda VNC. Men för detta behöver vi starta en VNC-server på
fjärrdatorn. VNC-servern kommer då i sin tur att koppla sig upp mot XDMCP på
fjärrdatorn. LightDM har faktiskt inbyggt stöd för just detta. Det enda du
behöver på din lokala dator är en VNC-klient. Däremot behöver du installera en
VNC-server på fjärrdatorn. Här kommer vi använda TightVNC. Detta installeras på
fjärrdatorn med apt-get install tightvncserver
. Därefter är det dags att slå
på VNC i LightDM. Avkommentera och anpassa raderna nedan i
/etc/lightdm/lightdm.conf
så att det passar dig (upplösning, färgdjup m.m.).
[VNCServer]
enabled=true
width=1366
height=768
depth=24
Glöm inte att du även måste slå på XDMCP som vi gick igenom ovan.
Fristående VNC
Om du istället vill köra egna VNC-servrar, utan att blanda in XDMCP, antingen för att få tillgång till ett nytt skrivbord som sparas även om du stänger av VNC-klienten, eller för att logga in på ditt befintliga lokala skrivbord så finns varianter för detta också.
VNC med ett nytt skrivbord
Till detta kan man använda tightvncserver
som vi såg tidigare med XDMCP. När
detta väl är installerat (apt-get install tightvncserver
) kan du starta
servern som din vanliga användare. Det första som sker då är att du måste välja
ett lösenord för VNC-servern. Detta är till för att förhindra att vem som helst
kan ansluta till VNC-servern (och därmed logga in som din användare på
systemet). Därefter startas servern i bakgrunden och får port 5901 (första
TightVNC-servern, den andra servern får 5902 osv). För att ansluta dig till
servern behöver du en VNC-klient som klarar TightVNC’s egna protokoll. RealVNC
klarar det utmärkt. Annars finns i Debian xtightvncviewer
som installeras med
apt-get install xtightvncviewer
. När du startar xtightvncviewer
får du upp ett
fönster där du ska ange IP-adressen till servern. Tänk på att du också måste
ange portnumret, t.ex. 192.168.0.4:5901. Det du ser nu är ett helt nytt
skrivbord. Här kan du starta nya program och arbeta för att sedan stänga av
din VNC-klient när du är klar. När du loggar in igen finns allting kvar precis
som du lämnade det.
VNC med det befintliga skrivbordet
För att komma åt det befintliga skrivbordet som en inloggad användare i Linux
kan man enklast använda programmet x11vnc
. Även detta finns som färdigt paket
i Debian och installeras enklast med apt-get install x11vnc
.
Först och främst bör vi säkra upp x11vnc
med ett lösenord så att inte vem som
helst kan komma åt ditt skrivbord. Skapa en lösenordfil med
echo mitthemligalösenord > ~/.vncpass
. Starta därefter x11vnc
med kommandot
x11vnc -forever -passwdfile ~/.vncpass -display :0
. Nu kan du på en annan
dator ansluta till ditt befintliga skrivbord. En vanlig VNC-klient på Debian
installeras med apt-get install vncviewer
och startas sedan med kommandot
vncviewer
.
Säkerheten
Observera att samtliga av dessa lösningar är helt okrypterade och skall inte användas över internet! De ska helst inte ens användas på ett lokalt nätverk, såvida det inte är ditt privata nätverk hemma. Vem som helst kan avlyssna okrypterad trafik och därmed få reda ditt lösenord. Om du vill ansluta över internet till din dator hemma kan du antingen använda någon form av VPN-tunnel, alternativt tunnla VNC-trafiken över SSH.
Kommentarer
Kommentarsfältet är modererat. Det innebär att alla kommentarer granskas av ansvarig utgivare före publicering.
Du väljer själv om du vill ange ditt riktiga namn, en pseudonym eller vara helt anonym. Ingen registrering behövs.
Relaterade artiklar
-
Var försiktig med att curl:a skript som root
Att installera program i Linux genom att omdirigera utdata från Curl till skalet är snabbt och smidigt. Men det är ack så farligt om du inte känner till programmet eller dess ursprung.
-
Vidarebefordran av SSH-agenten
SSH agent forwarding, eller vidarebefordran av SSH-agenten, innebär att man kan vidarebefordra SSH-agenten till ett fjärrsystem. På så sätt behöver man inte kopiera sin privata SSH-nyckel till fjärrsystemet, eller skapa flera nycklar för olika system. Men det finns risker med det.
-
Jenkins som ett alternativ till Ansible Tower
Ansible Tower kommer med en stor prislapp, speciellt för ett mindre företag eller en privatperson. AWX å andra sidan är helt fritt, men kräver numera Kubernetes. För den som vill automatisera sina Ansible Playbooks går det dock bra att använda Jenkins som en ersättning för Tower och AWX.
-
Hämta data från API:er med cURL och jq
Med cURL och jq går det att extrahera data från API:er direkt från kommandoraden. Jq är en JSON-tolkare och beskrivs av utvecklarna som sed och awk för JSON.
-
Det nya Docker Compose
Sedan i mitten av förra året har det gamla Python-baserade
docker-compose
-kommandot sakta ersatts av det nyare Go-baseradedocker compose
. Det nya kommandot är ett plugin till Docker istället för ett fristående kommando som tidigare.
Senaste nyheterna och inläggen
-
Riskerna med BankID som ingen pratar om
BankID är ett säkert och smidigt sätt att identifiera sig online. Men i takt med dess ökade popularitet och användning har det blivit en svag länk – en single point of failure – på mer än ett sätt.
-
Polisernas fängelsedomar står fast
Efter tre år är målet mot de två poliser som olovligen tog sig in i en berusad mans bostad i Landskrona och misshandlade honom klart. Högsta domstolen beslutade den sjätte mars att avvisa överklagan. Fängelsedomarna för poliserna står därmed fast.
-
Tredje utgåvan av Grunderna i programmering
Den tredje utgåvan av Grunderna i programmering är nu klar och planeras att ges ut i mitten av mars.
-
Författarintervju med Josefin Hansson
År 2022 debuterade hon med boken “Ur askan en drake”. Boken tar upp duktiga flickan-syndromet och psykisk ohälsa. Hon har också varit ambassadör för Hjärnkoll och föreläst på bland annat Medborgarskolan. Idag driver hon eget företag inom samtalscoaching.
-
En chans att vinna Demonerna på internet
Företaget GleSYS lottar ut tre exemplar av vår bok Demonerna på internet i en tävling på LinkedIn. Passa på att tävla du också för en chans att vinna!
Utvalda artiklar
-
Datorparty i Landskrona
I helgen höll Syntax Society sitt årliga sommarparty. Platsen var en källarlokal i Landskrona där ett femtontal personer medverkade.
-
Det första Pågadata har ägt rum
I helgen ägde det första Pågadata rum – uppföljaren till Gubbdata. Platsen var Folkets Hus i Kvidinge. Organisatör av partyt var Johan “z-nexx” Osvaldsson med hjälp från Jesper “Skuggan” Klingvall. Partyt hade över 100 anmälda deltagare.
-
Även hovrätten fäller poliserna för att ha satt dit oskyldig
Hovrätten fastställer straffet för de två poliser som förra året dömdes till vardera ett års fängelse av Lunds tingsrätt för att ha misshandlat och satt dit en oskyldig man. De båda poliserna ska även betala skadestånd till mannen.
-
Retroloppis i Påarp
Idag var det retroloppis hos Andreas Nilsson i Påarp. På baksidan av huset fanns hundratals spel uppradade på långa bord. Trots friska vindar och sval temperatur var loppisen välbesökt.
-
Stort deltagande på årets Gubbdata
I helgen var det Gubbdata i Lund – ett av Sveriges största demoparty. På plats fanns cirka ett hundra deltagare, alla med en passion för retrodatorer.
CyberInfo Sverige är ett it- och medieföretag i nordvästra Skåne som tillhandahåller böcker, utbildningar, nyheter och konsulttjänster inom Linux, säkerhet och programmering.
CyberInfo Sverige är godkänd för F-skatt, är momsregistrerat och innehar
utgivningsbevis för webbplatsen www.cyberinfo.se.