Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

Tunnla X

Om du har en server hemma, och känner att den kan vara jobbig att confa i text, då rekomenderar jag ssh -X user@host

ssh -X gör att du kan köra hela DM:s som tex gnome lokalt på din vanliga dator, men allt sker på servern.

För att det ska funka så måste X11forward vara påslaget i sshd.conf.

Lycka till.

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

jonasbjorks bild

Jag har börjat använda -Y istället för -X för Xforwarding. Jag vet inte exakt vad det gör för skillnad, men jag uppfattar det som om -Y är säkrare än -X, kanske någon vet mer och kan förklara?

Från man ssh:

     -X      Enables X11 forwarding.  This can also be specified on a per-host
             basis in a configuration file.

             X11 forwarding should be enabled with caution.  Users with the
             ability to bypass file permissions on the remote host (for the
             user's X authorization database) can access the local X11 display
             through the forwarded connection.  An attacker may then be able
             to perform activities such as keystroke monitoring.

             For this reason, X11 forwarding is subjected to X11 SECURITY
             extension restrictions by default.  Please refer to the ssh -Y
             option and the ForwardX11Trusted directive in ssh_config(5) for
             more information.

     -Y      Enables trusted X11 forwarding.  Trusted X11 forwardings are not
             subjected to the X11 SECURITY extension controls.

--
In the dark you can't see shiny cars.
Jonas Björk - www.jonasbjork.net

--
Jag är grundare av och administratör på Linuxportalen. Kontakta mig om du har frågor, funderingar eller synpunkter kring Linuxportalen.se .

misiu_mps bild

"du kan köra hela DM:s som tex gnome lokalt på din vanliga dator, allt sker på servern"

Egentligen så körs allt på klienten, dvs den dator du kopplar dig mot - alltså servern i vanlig mening. X-servern är på den dator som programmen ska visas på, dvs "terminal" eller klienten i vanlig mening.
Ja, i X är begreppen server-klient uppochner gentemot det sunda förnuftet och det är bara att börja gilla det.
Tänk på en rolig sak du kan göra (här för gnome):
Gå in i System->Preferences->Sessions, välj current session och där byt stilen för gnome-panel och nautilus från 'restart' till 'normal'.
Nu kan du stänga nautilus (desktopen) och panelen utan att de startas om automatiskt:
du@lokaldatorn:~$killall nautilus && killall gnome-panel
Nu kan du starta både nautilus och gnome-panel via ssh -X.
du@fjärrdatorn:~$nautilus&
du@fjärrdatorn:~$gnome-panel&
Vips! du får hela desktopsmiljön från den avlägsna datorn och din dator har omvandlats till nån sorts tjock "tunn" klient.
Du behöver faktiskt inte stänga av panelen på den lokala datorn: flytta den till en annan kant på skärmen så kommer du ha två miljöer i ett.

kimjohanssons bild

Efter snabb genomläsning av det du skrev här får jag nästan det till tvärtom.
-X utsätts för säkerhetsrelaterade restriktioner medan -Y inte gör det. Trusted skulle i det här fallet, med min lilla tolkning, möjligen missuppfattning, kunna betyda mer att man litar på än att man faktiskt kan göra det.


misiu_mps bild

Ja, trusted betyder här att du litar på den maskin du kopplar dig mot och hoppar över säkerhetskontroller.

fsns bild

Ja, i X är begreppen server-klient uppochner gentemot det sunda förnuftet och det är bara att börja gilla det.
 

Det där resonemanget om att X vänder upp-och-ner på vad som är server och klient har jag aldrig riktigt köpt, vet man inte vad som menas med en server? Jag tror att det ursprungligen kommer från Unix Haters Handbook, och det gör det hela bara än mer oförståeligt.

 

Med en "server" menas, i det här fallet, den mjukvara som sitter tyst och stilla och väntar på anrop, som den sedan utför. En "klient" kopplar upp sig mot servern och begär att få något arbete utfört. Det har inget att göra med om man som människa sitter framför datorn eller inte.

 

Gör ett litet tanke-experiment. Du har två datorer, en som du sitter framför och som kör en databas, och en maskin i ett annat rum. Om du loggar in, från datorn du sitter framför, på den andra datorn med ssh så är det ganska självklart att du använder en ssh-klient för att koppla upp dig mot en ssh server. Men om du nu skall ställa en databasfråga, använder du då en databas-server på den "remotea" maskinen för att koppla upp dig och prata med en databasklient på den lokala maskinen? Och om jag springer fram och tillbaka mellan datorerna medans detta pågår, byter klienterna och servrarna roll med varandra? När inträffar detta isåfall, när jag är precis mitt emellan datorerna eller sker det gradvis medans jag springer? Knappast.

 

Anledningen att folk inte fattar detta är att begreppen "server" och "klient" är överlagrade. Server används både för att beteckna en mjukvara som svarar på anrop och en fysisk maskin, och motsvarande för en klient.

 

Om du känner dig osäker på vad som är en servermjukvara och vad som är en klientmjukvara så kommer här en checklista:

  • En server har alltid någon form av port som den lyssnar på, ofta en tcp-port.
  • En server kan köra utan att en klient anropar den. Den kommer troligen inte att göra så mycket, men den kör iallafall.
  • En klient kan inte fullfölja sin uppgift utan att servern är igång. Är servern död så blockeras klient
  • Av de förra två punkterna följer att en server alltid har längre livslängd än en klient (åtminstone i ett sessionsperspektiv).



 

I Wikipedias artikel om Client-server så finns det en uppräkning om karaktäristika för klient och server. Den ger en bra uppställning om vad som är en klient och en server. Låt er bara inte luras av de sista punkterna, att en klient vanligtvis presenterar resultatet i ett grafiskt gränssnitt, och att en server vanligtvis inte gör det. Nyckelordet här är "vanligtvis" (typically).

fsns bild

Egentligen så körs allt på klienten, dvs den dator du kopplar dig mot - alltså servern i vanlig mening. X-servern är på den dator som programmen ska visas på, dvs "terminal" eller klienten i vanlig mening.


 

Egentligen så körs snarare X-mjukvaru-klienterna på den fysiska "hårdvaru-servern"/"remotea" datorn, och kommunicerar med X-mjukvaru-servern på den fysiska "hårdvaru-klienten"/lokala datorn. Men se mitt andra inlägg om detta också.

misiu_mps bild

Jag hoppas vi kommer överens att X är en server (stämmer bra med dina karakteristiska punkter) och att bilden m.h.a. denna. Alla program som vill visa sina föster är X-klienter.
Tänk nu att du har en tunn klient. Den kallas klient så för att frågar en server efter resurser och beräkningskapacitet. Servern 'servrar' dessa resurser. Denna situation är precis den klient-server situation som du beskriver i punktform ovan. Dessutom är det i överenstämmelse med det sunda förnuftet.
Detta är klart tills man väljer X för den grafiska miljön. Då måste man köra en X-server på klienten. Program som körs på servern och uttnytjar dess resurser på begäran av klienten är X-klienter själva.

Det är förvirrande, men så är det. Uppochner.