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.
Nyhetsbrev
Nyhetsuppdateringar från tidningen direkt till din inkorg, helt kostnadsfritt. Avsluta när du vill.
Relaterade artiklar
-
Avlyssna trafik på servern med Wireshark och TShark
Wireshark är ett ovärderligt verktyg för att felsöka nätverkskonfigurationer, applikationer, API:er, demoner och mycket annat. I kombination med
tshark
kan vi dessutom avlyssna trafiken på en server i realtid. -
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.
Senaste nyheterna och inläggen
-
Avlyssna trafik på servern med Wireshark och TShark
Wireshark är ett ovärderligt verktyg för att felsöka nätverkskonfigurationer, applikationer, API:er, demoner och mycket annat. I kombination med
tshark
kan vi dessutom avlyssna trafiken på en server i realtid. -
Mysig stämning på sommarens första demoparty
I helgen var det Reunion 2024 i Kvidinge Folkets hus, sommarens första skånska demoparty. Partyt organiserades av Jesper “Skuggan” Klingvall. På plats fanns ett 30-tal besökare.
-
Sommarens skånska demopartyn
Årets sommar bjuder på två skånska demopartyn. Först ut är Reunion i Kvidinge den 28–30 juni. Därefter är det Pågadata i Örtofta den 9–11 augusti.
-
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.
Utvalda artiklar
-
Mysig stämning på sommarens första demoparty
I helgen var det Reunion 2024 i Kvidinge Folkets hus, sommarens första skånska demoparty. Partyt organiserades av Jesper “Skuggan” Klingvall. På plats fanns ett 30-tal besökare.
-
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.
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.