Flashback bygger pepparkakshus!
2008-02-29, 21:01
  #1
Bannlyst
Vad jag förstår så är X11 xservern för att köra linuxports, med andra ord Linuxprogram.

T.ex debianpaket eller annat gött.

Hur funkar det?
Är X11 något man bootar in i, något likt bootcamp eller något likt parrallels?
Är det något som drar systemresurser i bakgrunden när man sätter igång den?

Hur sätter man igång den samt installerar linuxprogram?

Tänkte mest på Aircrack och Kismet

Fast även annat smått och gott =)
Citera
2008-02-29, 21:16
  #2
Medlem
Hin Håle.s avatar
X11 är den officiella "X Windowing System"-servern. OSX egen "Window Server" är en bastardiserad fork från den. För att köra Linux/Unix-program portade till OSX så behöver du köra X11 i bakgrunden, men det sker förhållandevis transparent, och prestandamässigt är det inte särskilt begränsande.


Debian-paket kan du inte köra rakt av, utan det är portade applikationer hanterade av Macports eller fink du får rikta in dig på. Fink har fler portade applikationer, medans macports bygger på FreeBSD ports collection. Det är inget som hindrar dig att använda båda, men personligen är jag nöjd med fink (för leopard finns det dock ingen binär distribution, så allting måste kompileras, vilket i sin tur kräver Xcode).

Möjligt jag missat något, då jag är förhållandevis ny i OSX-världen, men det där borde kortfattat ge dig en bild av X11 iaf.

X11 får du från XCode (finns på Leopard-DVD:n, eller genom Apple Developer Connection), annars rekommenderar jag senaste versionen från följande länk:
http://trac.macosforge.org/projects/xquartz (Leopard).

När du har en fungerande fink eller macports-miljö är det dock väldigt enkelt. "fink install kismet" eller "sudo port install kismet" i ditt fall, skrivet i terminalfönstret, installerar kismet t.ex.
__________________
Senast redigerad av Hin Håle. 2008-02-29 kl. 21:21.
Citera
2008-02-29, 22:34
  #3
Medlem
miklons avatar
Från och med Leopard är väl X11 installerat som default, är det inte så? Jag installerade GIMP på min dator och behövde inte installera X11 (om inte GIMP-installationen gör det?).
Citera
2008-02-29, 23:38
  #4
Medlem
Hin Håle.s avatar
Citat:
Ursprungligen postat av miklon
Från och med Leopard är väl X11 installerat som default, är det inte så? Jag installerade GIMP på min dator och behövde inte installera X11 (om inte GIMP-installationen gör det?).

Jo, det verkar stämma, utefter vad jag förstår. Dock kan det vara en idé att uppdatera sin X11-version, då Xcode/Leopard-varianten av naturen är daterad och inte fungerar med alla applikationer.

OSX är som sagt en förhållandevis ny bekantskap för mig.
Citera
2008-03-01, 04:43
  #5
Medlem
För att ge ett lite mer grundläggande svar, "X window System" är ett ramverk för grafiska användargränssnitt. Det har sedan länge använts i UNIX och VMS (och säkert en hel rad andra OS) när kraven på GUI i datorn kom upp. Ifrån början kördes det mest i något som kallades "X-terminaler". X-terminalerna var en slags väldigt enkla datorer som inte kunde köra annat än X Window System. De program man körde via dessa terminaler, kördes i själva verket i någon stordator som stod nere i någon källare någonstans. Oftast var det någon UNIX-variant som kördes på den stordatorn. Den datorn hade i sig själv ingen grafikhantering alls (såvida inte någon hade installerat X på den förstås). Programmen som kördes på den datorn, och behövde ett GUI, kallades för "X-klienter". De jobbade mot "X-servern", vilken var den där enkla terminalen som inte kunde något annat än att köra "X Window System". I praktiken innebar det att x-klienterna gick på den där stordatorn, och skickade kommandon via TCP/IP till dessa X-terminaler, för att tala om vilken grafik som skulle ritas upp. Här talar vi om grafik på en väldigt grundläggande nivå. Man förleds ju av namnet att jämföra med Windows. Men där fanns redan färdiga fönster, knappar, scrollbars, mm, inbyggt. I "X Windows System" fanns inte ens sådant från början. Där var man tvungen att lägga till något som kallas "fönsterhanterare", vilka i sig själva var en slags x-klienter. Som det fungerade på den tiden, kunde många användare via enkla x-terminaler, vilka skulle kunna sägas vara "tunna klienter" i någon mening, om man ska jämföra med moderna begrepp, tillsammans logga in på och använda gemensamt en stor och kraftfull dator. Det var tack vare nätverkskommunikationen via TCP/IP det gick att göra så.

Nästa steg blev att köra UNIX eller VMS på lokala datorer som användarna själva satt vid. Eftersom X redan fanns för GUI-program, fortsatte det att användas även då. Kommunikationen mellan x-klienterna, dvs de olika programmen, och x-servern, gick fortfarande via TCP/IP, trots att de båda typerna av program fanns på samma dator. En del skojade till det lite för andra genom att utnyttja detta faktum. Kände de till ip-adressen till kompisens dator, som ju också hade en x-server, kunde de själva ställa om en DISPLAY-variabel, vilken x-klienten använde för att veta vilken x-server som skulle användas. Även om x-klienten normalt använde den x-server som fanns lokalt, fanns det inget som hindrade den från att använda en annan tillgänglig x-server på nätverket. På så vis kunde en skämtare dra igång ett program som dök upp hos en intet ont anande kompis vid en helt annan dator.

Ovanstående teknik med x-klienter och x-servrar, var den vanliga på arbetsstationer som använde unix. När Linux dök upp, var det, som välkänt, så gott som UNIX det kunde vara, även om man kanske inte ville kalla det för unix. Men just för att det i praktiken var så likt, fortsatte man med samma system där. Med gui-programmen som via tcp/ip begärde fram grafik från x-servern. Som tidigare nämnt, var grafikhanteringen på en ytterst grundläggande nivå. Till och med fönsterhantering behövde läggas till för att man skulle kunna arbeta på ett smidigt sätt. Det hade redan förekommit en del olika fönsterhanterare, som såg lite olika ut beroende på vilka datorer det handlade om. Sun hade sin. SGI hade sin. Med linux på vanliga pc-datorer, började det tillkomma drösvis med nya fönsterhanterare, för alla hade sina egna idéer om hur en gui-miljö ska se ut. Det utvecklade sig senare till hela skrivbordssystem, vilka inte enbart placerade x-klienterna i fönster som man kan flytta runt på skärmen, utan dessutom bidrog med en massa extraprogram som mer eller mindre kunde samverka med varandra. Då fick vi se sådant som KDE och Gnome. Dessa kan kompileras och köras även på sun-stationer och andra unix-datorer, även om de är vanligast i linux.

Det har sedan länge funnits x-terminaler för både mac och windows i form av x-servrar som körs under respektive OS. Dessa har från början använts för att koppla upp sig mot en stordator som kör unix, för att kunna använda de program som finns där och kräver X för att ge användaren ett GUI.

Anledningen till att Apple numera inkluderar en x-server i Mac OS X, är att det systemet faktiskt är en unix-variant. Eftersom det är unix, ska man kunna kompilera och köra program som är gjorda för unix. Och kräver de ett gui, är det en x-server de förväntar sig ska finnas där. Därför är det bra att ha en x-server i macos x om man behöver kunna köra ett unix-program som kräver ett GUI.

De vanliga mac-programmen som använder GUI, är iofs en slags unix-program. De körs ju faktiskt i ett system som i grund och botten är unix. Men de brukar i allmänhet inte använda x-servern i Mac OS X. Eftersom de redan från början är gjorda för mac, är det helt enkelt smartare att använda den gui-miljö som är standard för mac. Den är i sig komplett med allt ett os av idag ska ha, som fönster, dialogrutor, mm, som vi tar för givet. Men ett program som GIMP, har ju egentligen gjorts helt utan tanke på Mac OS X. Tack vare den medföljande x-servern, har man lätt kunnat kompilera om det programmet för Mac OS X utan att behöva ändra särkilt mycket. Skulle man använda macens vanliga grafiksystem för att porta GIMP till mac, skulle man behöva ändra rätt mycket i koden. Men med x-servern är det alltså bara en fråga om att se till att nödvändiga bibliotek finns på datorn, och kompilera om GIMP, så funkar det. Iofs rätt annorlunda mot andra macprogram, men det funkar.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in