Hopp til innhold

Boken Om Linux/Kapittel 10

Fra Wikibøker – frie læremidler

10: Det grafiske grensesnittet

[rediger]
  * X Windows System
  * Fysisk plassering av XFree86
  * Konfigurere skjermkortdrivere under Fedora
  * Konfigurere skjermkortdrivere under SuSE
  * Oppstart av X
  * Spesialtaster i X
  * GNOME- eller KDE-brukergrensesnittet
  * GNOME med Fedora Linux
  * GNOME og bruk av mus
  * Alternativet med XFCE3
  * Standard X-applikasjoner
  * X-spill
  * X-kommandoer
  * Uten musen
  * Oppstart i GDM
  * 3D-akselerasjon og Linux
  * X Windows og referanser 

X Windows System. Når brukere diskuterer om Linux-operativsystemet kan brukes som arbeidsflate for vanlige brukere fokuseres det på egenskapene til skrivebordsmiljøene KDE eller GNOME. Dette er selvfølgelig ikke overraskende da det er i disse brukergrensesnittene man møter applikasjonene som bruker. For personer som kommer til Linux fra et Windows- eller Mac-miljø, kan oppbygningen av det grafiske grensesnittet i Linux virke forvirrende og fragmentert. Men de fleste som har brukt Linux en stund, begynner å sette pris på den fleksibiliteten som denne oppbygningen gir. De fleste av komponentene disse skrivebordsmiljøene består av finnes også i Microsoft Windows og Apple's MacOS, men siden de markedsføres som en enhet, så er de fleste ikke vant til å tenke på dem som selvstendige prosesser og systemer. Grafiske grensesnitt i Linux og Unix er basert på et system som heter X Windows System. Bak X Windows System står X.Org, et globalt konsortium av store leverandører som HP/Compaq, SGI, IBM, m.fl. X.Org's arbeid støttes også av The Open Group. X (X Windows System) er skrevet for maskinvare- og prosessor uavhengighet. X ble startet av MIT i 1984 med prosjektnavnet "Athena". Målet var at studentene skulle få muligheten til å nå distribuerte ressurser på et lettvint måte.

Programmene som lages blir derfor helt uavhengige av leverandørens maskinvarearkitektur. Det er mulig å laste ned en versjon av X fra X.Org, men dette er bare en referanse implementasjon som blant annet mangler støtte for skjermkort. Det er opp til andre å ta denne referanse implementasjonen og benytte den i sine egne løsninger. Det er dette alle de kommersielle Unix-produsentene gjør.

De fleste Linux-distribusjoner leveres med en implementasjon av X som kalles XFree86. Dette er en fri utgave av X, på samme måte som resten av Linux-systemet er fritt. XFree86 ble portert til Linux i 1992. Vi har i dag mange XFree86 baserte prosjekter, hvilket hovedsakelig skyldes den fantastiske veksten Linux har hatt de siste årene. Det finnes også tilgjengelige kommersielle versjoner av X for Linux, blant annet fra MetroLink og Xi.

X Windows System er basert på en enkel klient-/serverarkitektur, hvor X-klienten kjører selve applikasjonen, mens X-serveren rett og slett er en grafisk skjermbildeserver som bare genererer det grafiske bildet.

Kjører du Linux på en PC-boks, vil PCen fungere både som en X-klient og X-server. Men det er ikke noe i veien for at PCen kan fungere som X-server (skjermserver) for andre Linux/Unix-arbeidsstasjoner.

Med X er skjermoppløsningen bare begrenset til arbeidsstasjonens (PC) eller X-terminalens fysiske oppløsning. Hver terminalsesjon kan enten være et standard tegnbasert terminalbilde eller X Windows grafiske bilder og applikasjoner.

Siste versjon av XFree86 er 4.3 denne versjonen har mange nyheter med blant annet mange feilrettelser og driverforbedringer. Av nyheter kan vi blant annet nevne fontconfig som er et bibliotek for konfigurasjon og tilpasning av tilgang til skrifter. Fontconfig gjør det enklere å legge til nye skrifter da de vil oppdages automatisk ved installasjon og kan i tillegg finne alternative skrifter hvis forespurt skrift ikke er tilgjengelig på systemet. For utviklere har man blant annet fått oppdatert verktøyet Xft. Dette er et bibliotek som fungerer som et grensesnitt mellom FreeType rasteriseringsmotoren og det nye systemet for rendering av tekst og geometriske figurer. Ønsker du siste versjon av XFree86 må du installere den selv. De enkelte Linux-distribusjonene vil alltid henge etter med hensyn til siste versjon av Xfree86.

Men X er bare grunnmuren i det grafiske grensesnittet. Neste lag er vindusbehandleren. Mens X sørger for kontakt med maskinvaren og med en del grunnleggende grafiske biblioteker, så sørger vindusbehandleren for ting som utseende og oppførsel til vinduene i systemet. Det finnes en rekke vindusbehandlere (Window Managers) tilgjengelig for Linux. For eksempel:

   * OSF/Motif (Kommersiell implementasjon som er standard på de fleste Unix-versjoner.)
   * Fvwm (En rask og konfigurerbar vindusbehandler som lenge var De-facto standard under Linux.)
   * Qvwm (En vindusbehandler som tar sikte på å ligne mest mulig på Windows i utseende og oppførsel.)
   * Enlightenment (En vindusbehandler som har hatt som formål å være mest mulig tilpasningsbar og å se tøff ut.)
   * WindowMaker (En vindusbehandler som forsøker å etterligne NextStep, av mange ansett som et av de mest estetiske grafiske grensesnitt noensinne.)
   * Sawmill (En vindusbehandler som er lett å integrere og som bruker lite ressurser.)
   * Metacity (utviklet av Havoc Pennington og er en moderne vindusbehandler som tar lite ressurser. Ble standard vindusbehandler i Gnome fra versjon 2.2.x.) 

Det tredje laget i det grafiske grensesnittet er biblioteker, standarder og protokoller for programutvikling. I Unix-verdenen er dette sentrert rundt et sett med biblioteker kalt Motif. Problemet med Motif i Linux-miljøets øyne var at det bare var tilgjengelig kommersielt, og at det etter manges mening var dårlig konstruert. I tillegg manglet en del funksjonalitet som man mente burde være der. I Linux-miljøet har det derfor blitt utviklet en rekke frie biblioteker, samt en fri klone av Motif kalt Lesstif. Dette har ført til at Linux-programmer ikke har den samme grad av uniformt utseende som man er vant til fra Mac- og Windows-verdenen.

Som en konsekvens av dette, startet to ambisiøse prosjekter i Linux-miljøet som ønsker å skaffe Linux et integrert grafisk grensesnitt med egenskaper som er like bra som eller helst bedre enn dem man finner i Mac og Windows. Det første prosjektet som ble startet opp, heter KDE (K Desktop Environment). KDE ble utviklet med utgangspunkt i et sett kommersielle C++-biblioteker (Qt) fra et norsk firma kalt Troll Tech. Denne bindingen til et kommersielt produkt samt en del uenigheter om tekniske løsninger førte til at GNOME (Gnu Network Object Model Environment)-prosjektet ble startet opp. GNOME fikk raskt støtte fra viktige Linux-grupperinger som GNU ("GNU is Not Unix"), Debian, Suse og Red Hat. GNOME baserer seg på et C-bibliotek kalt GTK+, og som har bindinger for utvikling under en rekke språk bl.a C++, C#, python, perl og andre.

KDE og GNOME er nå begge tilgjengelig for nedlasting og leveres sammen med de fleste Linux-distribusjoner, inkludert Fedora. KDE var først ute i versjon 1.0, og har bygd seg opp en betydelig brukermasse i Linux-miljøet, men GNOME ser ut til å ha størst momentum og utviklerstøtte, og vil trolig bli standardgrensesnittet i Linux i fremtiden. Selv om lisensreglene på Qt-biblioteket har blitt modifisert i et forsøk på å komme kritikerne i Linux-miljøet i møte, så er det fortsatt en svært stor andel av Linux-miljøet som mener at bare bruk av Linux-miljøets "egen" biblioteklisens (LGPL) er bra nok for en så sentral del av operativsystemet. Qt er dobbeltlisensiert med GPL/QPL. Dette betyr at man kan utvikle fri programvare basert på Qt, men hvis man vil utvikle kommersielle applikasjoner må man betale lisens til Troll Tech. Det er ikke nødvendigvis slik at alle biblioteker må være LGPL, men det gjør det enklere å bruke dem i kommersielle applikasjoner da GPL lisensierte biblioteker ikke kan brukes på denne måten.

Fysisk plassering av XFree86

[rediger]

Fedora Linux er basert på XFree86 versjon 4, som er X Windows-systemet. XFree86 versjon 4 bruker forskjellige X-biblioteker, skrifter, hjelpeprogrammer, dokumentasjon og utviklingsverktøy. Fedora støtter også den gamle versjon av XFree86 versjon 3, slik at eldre maskinvare kan kjøres. Hvilken XFree86-versjon du bruker, kan du blant annet se fra loggfilene (gjelder de fleste distribusjonene som openmandriva, SuSE, Debian, Red Hat og Fedora) dine:

Du vil se at det stor forskjell mellom Xfree86 versjon 3 og Xfree86 versjon 4 både i konstruksjon og struktur. Du vil finne konfigurasjonsfilene til XFree86-serveren i /etc/X11-katalogen. Du bør være oppmerksom på at XFree86 versjon 4 og XFree86 versjon 3 bruker forskjellige konfigurasjonsfiler og syntaks. Konfigurasjonsfiler og syntaks er ikke kompatible med hverandre. Både XFree86 versjon 3 og 4 bruker konfigurasjons filen /etc/X11/ XF86Config (XF86Config-4 for det som er spesielt for versjon 4). Når du har installert Fedora Linux, vil konfigurasjonsfilene for begge versjoner av Xfree86 bli oppdatert. Tilsvarende skjer når du kjører programmet Xconfigurator senere for å redefinere skjermkortet ditt. Går du manuelt gjennom konfigurasjonsfilene XF86Config-4 og XF86Config, vil du finne noen likheter.

Du finner alle X Windows-systemfilene til XFree86 versjon 3 og XFree86 versjon 4 i to primærkataloger:

   /usr/include/X11 

/usr/lib64/X11

I denne katalogen finner du X-klientkatalogene (/usr/X11R6/bin-katalogen), X-headerfiler (/usr/X11R6-katalogen), biblioteker (/usr/X11R6/lib-katalogen), X-manualsidene (/usr/X11R6/man-katalogen) og forskjellig X-dokumentasjon (/usr/X11R6/doc-katalogen).

/etc/X11-vindusbehandlere (Window Managers)

I katalogen /etc/X11 finner du et hierarki av konfigurasjonsfiler til de forskjellige komponentene som utgjør X Windows-systemet. De viktigste konfigurasjonsfilene er selve X-serveren, fontserveren (xfs) og xdm. Her finner du også skjermbehandlere som gdm og kdm. De mest brukte vindusbehandlere (Window Managers) og X-verktøy lagrer sine konfigurasjonsfiler i denne katalogstrukturen.

Serveren XFree86 versjon 4 finner du som en enkel binærfil i katalogen /usr/X11R6/bin/XFree86. Serveren laster opp dynamisk de enkelte X-servermodulene fra katalogen:

/usr/X11R6/lib/modules

Eksempeler på moduler er skjermdrivere, skriftdrivere og andre spesialmoduler. Noen av modulene blir automatisk lastet opp, andre må du selv spesifisere i konfigurasjonsfilen XF86Config og XF86Config-4.

Du finner alle skjermdrivere til XFree86 versjon 4 i katalogen:

/etc/X11R6/lib/modules/drivers

Når det gjelder DRI-maskinvare er de lokalisert i katalogen:

/etc/X11R6/lib/modules/dri

Under XFree86 versjon 3 finner du egne X-serverbinærfiler som støtter et bibliotek av skjermmaskinvare. De installerte XFree86-serverbinærfilene finner du i katalogen /usr/X11R6/bin med navn som XF86_<server-type>, og hvor <server-type> er navnet på serveren som brukes. Du finner mange forskjellige XFree86 versjon 3-servere inkludert basisløsningene som XF86_VGA16 og XF86_SVGA. Eksempler på mer akselererte servere er XF86_Mach64, XF86_S3 og XF86_AGX.

Konfigurere skjermkortdrivere under Fedora

[rediger]

Ønsker du å konfigurere X, er det viktig at du vet mest mulig om skjermkortet ditt. Det som er viktig er typen, modellen, og brikkesettet skjermkortet ditt har. X Windows settes opp ved å kjøre Xconfigurator (Fedora Linux), som jeg gikk gjennom ved installasjonen. Etter installasjonen har du to alternativer hvis du ønsker å gjøre endringer; du kan kjøre programmet system-config-display eller XFree86. Dette programmet trenger heller ikke noe forklaring. Det er bare å følge menyene.

Oppdatert bruk: # Xorg :1 -configure

Eller:

  1. cp /root/xorg.conf.new /etc/X11/xorg.conf

Produsenter av grafikkort (for eksempel NVIDIA med sin hjemmeside www.nvidia.com eller AMD http://www.amd.com/en-us og intel https://downloadcenter.intel.com/product/67709/Software)

https://getfedora.org eller www.redhat.com (www.suse.com, www.debian.org eller www.skolelinux.no)

Nedenfor har jeg et eksempel hvor driverne er i kildekodeformat og filene er lagret i tar/gz-format. Jeg bruker kommandoen wget for å laste ned filene (NVIDIA-drivere og GLX-bibliotekene):

[root@nittedal /root]# wget -c http://us.download.nvidia.com/XFree86/Linux-x86_64/346.35/NVIDIA-Linux-x86_64-346.35.run

Her pakker jeg ut filene:

[root@nittedal /root]# sudo chmod +x NVIDIA-Linux-x86_64-346.35.run

Her går jeg ned i kildekodekatalogen og lager ferdige binærfiler:

[root@nittedal /root]# ./NVIDIA-Linux-x86_64-346.35.run

Først sjekk hva du har fra før: [root@nittedal /root]# lspci |grep -E "VGA|3D"

   NVIDIA Optimus Technology 

[root@nittedal /root]# lspci |grep -E "VGA|3D" 00:02.0 VGA compatible controller: Intel Corporation 2n Generation Core Processor Family Integrated Graphics Controller (rev 09) 01:00.0 VGA compatible controller: nVidia Corporation GM204 [GeForce GTX 980] (rev a1)

Husk å svarteliste: [root@nittedal /root]# echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf

Fjern: xorg-x11-drv-nouveua

[root@nittedal /root]# dnf remove xorg-x11-drv-nouveau

Lag en initramfs:

[root@nittedal /root]# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img

Bios oppdatere grub2 [root@nittedal /root]# grub2-mkconfig -o /boot/grub2/grub.cfg

UEFI oppdatere grub2 [root@nittedal /root]# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Start på nytt i runlevel 3 [root@nittedal /root]# systemctl set-default multi-user.target

VDPAU/VAAPI støtte (for å få videoakselerasjon) [root@nittedal /root]# dnf install vdpauinfo libva-vdpau-driver libva-utils

For intel drivere prøv: [root@nittedal /root]# dnf search intel-linux

Konfigurere skjermkortdrivere under OpenSuSE

[rediger]

Installere følgene for nvidia: Eller du kan besøke: http://opensuse-guide.org/3d.php Der installer du http://opensuse-community.org/nvidia.ymp enkelt.

[david@nittedal /home]# zypper install -t pattern devel_C_C++ devel_kernel

Logg deg på som root: [root@nittedal /root]# su -

Gå til nvidia pakken [root@nittedal /root]# sh /home/user/NVIDIA*.run

[root@nittedal /root]# mkinitrd

Svartelist nouveau: [root@nittedal /root]# echo "blacklist nouveau" >> /etc/modprobe.d/50-blacklist.conf && mkinitrd && reboot

Sett opp skjermkortet: [root@nittedal /root]# nvidia-settings

For AMD skjermkort:

Svartelist nouveau: [root@nittedal /root]# echo "blacklist nouveau" >> /etc/modprobe.d/50-blacklist.conf && mkinitrd && reboot

YaST2 > Pakkebrønner > Legg til > Uoffisielle pakkebrønner > velg AMD/ATI Graphic drivers og så OK

Her kan du også legge til flash, Packman repository som er en samling av Essentials og Multimedia & Extra samt spill det funger både til AMD\Nvidia skjermkort i tillegg til intel.

Etter på YaST2 > Programmer > Tillegg > Install all matching Recommended packages og så OK

Så burde du starte om maskinen så burde driverne være på plass.

Oppstart av X

[rediger]

Når filen XF86Config er ferdig konfigurert, kan du starte opp X ved å skrive startx (starter opp xinit-prosessen). Hvis du ikke får startet opp X, sjekk om det er satt opp søkebane ($PATH) til /usr/X11R6/bin.

[david@nittedal david]$ startx

Når du starter opp X-serveren, vil den søke etter oppstartsfilen .xinitrc på din hjemmekatalog. Har du ingen lokal .xinitrc fil, vil systemet lese standardfilen, som er plassert på /usr/X11R6/lib/X11/xinit/xinitrc. Ønsker du å starte opp med 16 bits fargeoppløsning skriver du:

[david@nittedal david]$ startx - pixmap16

Figur 10.4: Eksempel på oppsett med GNOME under Fedora Linux

Etter kort tid vil det dukke opp et grensesnitt som ligner det du kjenner fra Windows eller X Windows. Her bruker du musen til å navigere og aktivere vinduer og menyer. Du kan tilpasse det grafiske utseendet etter behov. Ønsker du å avslutte X, trykker du [ctrl]-[alt]-[backspace] i kombinasjon. X-serveren vil stoppe direkte, og vindus-systemet avsluttes.

Spesialtaster i X

[rediger]

Hvis du i din XF86Config har definert forskjellige alternative oppløsning og fargedybde vil du ha muligheten til å skifte til de enkelte modusene ved hjelp egne kontrollkommandoer. Under har jeg laget en oversikt over de meste brukte skjermkommandoene:

Skjerm Taster Beskrivelse av skjermmodus
Tekst-skjerm[Alt]-[Fx] Hvor n er 1,2,3,4,5,6,8,9,10,11 eller 12 (de 4 siste skjermene må enables fra /etc/inittab) Grafisk-skjerm
[Alt]-[F7] Grafisk skjerm (X Windows)
Forover modi [Ctrl]-[Alt]-[+] Øker den fysiske oppløsningen og fargedybden (bruk numerisk tastatur)
Bakover modi [Ctrl]-[Alt]-[-] Reduserer den fysiske oppløsningen og fargedybden (bruk numerisk tastatur)

Tabell 14.1: Viktige kommandoer for å styre skjerm

Under har du to nyttige kommandoer for å restarte maskinen eller bare restarte X.

Status Taster Beskrivelse av status (modus)
Reboot [Ctrl]-[Alt]-[Del] Starter maskinen på nytt
Restart [Ctrl]-[Alt]-[Backspace] Starter X11 på nytt (nødløsning)


Tabell 14.2: Nyttige tastaturkommandoer

GNOME- eller KDE- brukergrensesnittet

[rediger]

Under Fedora Core og Opensuse Leap Linux kan du velge mellom flere vindusbehandlere. Det er mulig å kjøre X Windows direkte fra en vindusbehandler (Metacity, Sawmill, OSF/Motif) uten brukergrensesnittet GNOME eller KDE, men du mister da de tilleggsfunksjonene som disse brukergrensesnittene kan gi. De fleste Linux-distribusjoner bruker GNOME eller KDE som grunnlag for sitt grafiske grensesnitt. Et viktig moment i den sammenheng er at den vindusbehandleren som brukes sammen med GNOME og KDE, støtter disse grensesnittene.

KDE leveres som standard med sin egen vindusbehandler kalt KWM, men også Blackbox og WindowMaker har noe KDE-støtte. GNOME har på sin side hele tiden siktet inn på å være mer uavhengig i forhold til vindusbehandlere. Enlightenment ble brukt som standard vindusbehandler frem til rundt versjon 1.0, og Sawmill/Sawfish tok over gjennom 1.2.x og 1.4.x. Den var også i bruk frem til versjon 2.0.x. Parallelt med dette startet Havoc Pennington utvikling av Metacity som ble standard vindusbehandler i 2.2.x. I tillegg har GNOME støtte for vindusbehandlere WindowMaker, Qvwm, Afterstep, Icewm, Fvwm, Sawmill og Flwm.

Det pågår stadig arbeid for å få KDE og GNOME til å kunne integreres bedre og tidlige 2004 ble det annonsert biblioteker som gjør det mulig for eksempel å bruke KDE teknologi og dialoger fra GNOME applikasjoner. Nå er det alså mulig å ha en KDE fildialog i en GNOME applikasjon, etc. I fremtiden vil også de fleste vindusbehandlere kunne benyttes sammen med begge de to systemene, fordi et felles prosjekt utarbeider en ny felles standard for vindusbehandlere.

GNOME tilbyr funksjonalitet på høyde med det du er vant til fra Windows 10. Dette omfatter kopiering til mellomlager, dra-og-slipp osv. GNOME 4.x tilbys i dag på over 30 språk, inkludert norsk. Ved siden av Linux kan GNOME kjøres på BSD, Solaris, HP-UX og Digital Unix. Flere Linux-distributører inkluderer GNOME, blant dem Fedora, Red Hat, Debian GNU/Linux, LinuxPPC og SuSE.

I dag har Debian, Fedora, Red Hat, Mint satser på GNOME, mens Openmandiva og SuSE\Opensuse er blant Linux-distributørene som satser på KDE. KDE 5.6.1 tilbys i dag på over 35 språk, inkludert norsk.

Ønsker du å laste ned en nyere versjon av KDE til din Fedora Linux, kan du besøke www.kde.org. Her finner du henvisninger videre.

GNOME og KDE skiller seg fra hverandre også på mange andre områder. Teknisk sett så ligger nok hovedforskjellen mellom valget av komponenter og arkitektur for CORBA (Common Object Request Broker Architecture). GNOME har her utviklet en arkitektur kalt Bonobo, men KDE har sin KOM/OpenParts. GNOME er også mer tilpasset utviklere som programmerer i andre språk enn C++, for eksempel Ada, C, Objective-C, TOM, Perl, Python og Guile.

GNOME ble startet av Miguel de Icaza og Federico Mena. Selve utviklingen av GNOME "ledes" av GNOME release team som består av et titalls mennesker. I dette teamet finner vi blant andre Kjartan Maraas fra Norge. Jobben til denne gruppen er å koordinere slipp av nye versjoner i tillegg til å vurdere nye moduler for de ulike delene av GNOME (developer platform, desktop, etc). Utover dette er det de enkelte ansvarlige sin modul og prioriteringer innenfor sin modul. Totalt sett er det over 350 programmerere spredt over hele kloden som bidrar til utviklingen av GNOME. De fleste av disse er frivillige. På utviklingssiden har blant annet Christian Fredrik Kalager Schaller fra Norge bidratt. I dag har GNOME flere tusen betatestere. Red Hat har støttet arbeidet. Prosjektet identifiseres med Free Software Foundation (FSF), som ledes av GNU-grunnleggeren Richard Stallman. GNU står for "GNU is Not Unix" og ble startet for å spre tanken om fritt tilgjengelig programvare. FSF har utarbeidet en lisens kjent som "General Public License" (GPL). Den innebærer full frihet til å kjøre, kopiere, distribuere, studere, endre og forbedre et hvert GPL-lisensiert program.

Ønsker du å laste ned en nyere versjon av GNOME til din Fedora eller SuSE Linux, kan du besøke www.gnome.org. Her finner du henvisninger videre.

GNOME med Fedora Linux

[rediger]

I Fedora Core 24 kan du velge alternative grafiske brukergrensesnitt, for eksempel GNOME, KDE, WindowMaker og TWM. Har du installert Fedora Core, er GNOME det grafiske brukergrensesnittet som settes opp som standard.

Tilsvarende som under Microsoft Windows bruker du mus under GNOME. GNOME (X Windows) er egentlige basert på at du har en 3 knappers mus. Men de fleste Windows brukere sitter med 2 knappers mus. Bruker du 2 knappers mus emulerer du knappen på midten ved å trykke på venstre og høyre museknapp samtidig (må være definert under installasjon eller senere). Har du en mus med hjul kan du bruke hjulet som den tredje knappen. Ønsker du å gjøre endringer på oppsettet av musen går du bare inn på «Systeminnstillinger» og deretter inn på «Musekonfigurasjonen».

Når du trykker på noe med musa blir det uthevet. Du kan velge flere objekter samtidig ved å holde kontrolltasten nede. Når du dobbeltklikker på et objekt vil forvalgt handling for dette objektet utføres. Hvis det for eksempel er et dokument vil forvalgt applikasjon for denne typen dokumenter startes for å åpne dokumentet. Når du trykker på et objekt med høyre museknapp får du opp en kontekstmeny. Her kan du velge hvilken handling som skal utføres på objektet. Dette kan du også gjøre på gruppenivå dvs. du kan anmerke flere objekter ved hjelp av kontrolltasten og trykke høyre museknapp. Under finner du en tabell over greie snarveier.

I tabellen under har vi nyttige snarveier for å utføre forskjellige handlinger på GNOME-skrivebordet:

Kommando Beskrivelse av snarvei
Alt+F1 Åpner GNOME meny
Alt+F2 Viser "kjør" programdialogen
Print Screen Samme som Windows dvs. skjermdump av hele skjermen
Alt+Print Screen Skjermdump av aktivt vindu
Control+Alt+piltast Forflytter deg rundt i din virituelle desktop (standard er 4 skjermer)
Control+Alt+d Minimerer alle vinduene dine og fokus settes på bakgrunnen
F1 Starter online hjelp

Tabell 14.3: Nyttige desktop snarveier

I tabellen under har vi nyttige snarveier når du er i en applikasjon:

Kommando Beskrivelse av snarvei
Control N Ny tekst
Ctrl + X Klipp
Ctrl + C Kopier
Ctrl + V Lim inn
Ctrl + S Lagre
Ctrl + Q Avslutt


Tabell 14.4: Nyttige snarveier

I tabellen under har vi nyttige snarveier for å forflytte seg i et GNOME vindu.

Kommando Beskrivelse av snarvei
Control+Alt+Tab Skifter fokus mellom de enkelte vinduene og desktop bakgrunnen
Control+F10 Viser "kjør" programdialogen
Tab Flytter mellom objekter i et vindu
Return Utfører det valget som er anmerket
Skift F10 Åpner opp popup menyen for det valgte vindu
Piltast Åpner opp popup menyen for det valgte vindu
Piltast Flytter fokus mellom de enkelte elementene i et vindu
Esc Avslutt vindu
F10 Vil åpne applikasjonsmenyen hvis et ikon med meny vindu er valgt

Tabell 14.5: Nyttige vindu snarveier

Filkopiering og flytting er veldig analogt med Windows. Du gjør dette ved å starte opp flere Nautilus filbehandlere. På skjermens venstre side har du ikoner for Nautilus filbehandleren (Hjemmekatalogen) og et eget ikon for din søppelkurv. Ønsker du å se på innholdet av en CD-ROM, diskettstasjon eller nettverk, trykker du på fliken «Steder» som du finner øverst til venstre på skjermen her trykker du videre på « +Andre lokasjoner» og «datamaskin» eller «CD/DVD».

Figur 10.5: Fra fliken «Datamaskin»

Hvis du ikke har disse ikonene, kan du også nå disse enhetene fra terminalvinduet. Har du en Windows- eller MS DOS-diskett, kan du bruke Linux' m-kommandoer, for eksempel (Se kapittel 15):

[david@nittedal david]$ mdir a:

Den øverste linjen i ditt GNOME skjermbilde viser deg programmer du kan starte tilsvarende som i Windows. Her ser du alle applikasjonene som er operative som applikasjons -knapper. Til høyre er det en høyttaler, klokke og agent. Flytter du markøren over klokken vises dagens dato. Ved siden av klokken finner du Fedora sin nettverksagent. Fra Fedora har du muligheten til å få automatisk oppdatering av programvare.

Figur 10.6: GNOMEs programlinje

Fra midten av oppgavelinjen mot venstre finner du din trykknapper for OpenOffices regneark, OpenOffices presentasjonsverktøy, OpenOffices tekstbehandlingsystem, Evolution e-post og kalender og Mozilla nettleser. Videre til venstre finner du knapper for de forskjellige applikasjonsgrupper som System, Steder og Programmer.

Fra «Programmer» kan du velge: grafikk, internett, kontorstøtte, lyd og bilde, spill, systemverktøy, tilbehør, utvikling og legg til/fjern programvare.

Fra «steder» kan du velge: hjemmemappe, skrivebord, filsystem, datamaskin, CD/DVD, nettverkstasjon, koble til tjener, søk og siste dokumenter.

Fra «System» kan du velge: brukervalg, administrasjon, hjelp, om gnome, om fedora, lås skjerm, logout og avslutt.

Den nederste linjen på skjermen er oppgavelinjen den viser hvilke programmer som går i din virituelle desktop (du kan ha flere desktopper).

Figur 10.7: Oppgavelinjen fra GNOME

Fra oppgavelinjen finner du også ikoner for søppelkasse (nederst til høyre) og for å fjerne oppgavelinjen (nederst til venstre).

Prøv å dra System-mappen opp ved å holde muse-markøren over mappen. Når du er over knappen, kommer det opp en ny programmappe med flere systeminnstillinger. Her finner du de viktigste mappene for systemadministrasjon. I tillegg bør du sjekke mappen Brukervalg. Fra Brukervalg kan du tilpasse maskinen til dine egne behov med hensyn til for eksempel pålogging, skjermsparer, tastatur, passord, lyd og bakgrunn.

Ønsker du et grafisk grensesnitt mot filene dine, finner du det i mappen Hjemmekatalog. Hjemmekatalog er også definert som ikonet hjemmekatalog (Hjem til "navnet ditt"- Home directory). Hjemmekatalog bruker Nautilus som filbehandler.

Figur 10.8 Nautilus-ikonet (home) .

Med Nautilus-applikasjonen kan du manipulere filene dine. På vinduets venstre side ser du katalogene og på høyre side ser du innholdet i de valgte katalogene. Ønsker du å flytte en fil eller katalog, kan du bruke dra og slipp.

Når du skal kopiere en fil, merker du filen ved å klikke på den. Skal du kjøre et program, dobbeltklikker du på programikonet. Ønsker du å utføre andre operasjoner på en fil, for eksempel slette den eller gi den nytt navn, merker du først filen med høyre museknapp, deretter velger du ønsket alternativ. Skal du merke flere filer, holder du kontrolltasten eller skifttasten nede samtidig.

Figur 10.9: Nautilus-filbehandleren

Ønsker du å foreta operasjoner mellom flere kataloger, trenger du bare å starte flere Nautilus-filbehandlere. Du kan dra filer fra en Nautilus-filbehandler til en annen, eller til GNOME-skrivebordet.

Ønsker du hjelp om GNOME-brukergrensesnittet, trykker du på "Aktivitetet" og firkant med prikker og Hjelp-knappen som kommer opp som et valg etter at du har trykket på "Aktivitetet" må du søke etter hjelp.

Alle Linux-programmer kan kjøres direkte fra et terminal vindu. Du trykker på fliken «Programmer», «Tilbehør» og deretter «Terminal». Her skriver du bare navnet på programmet, for eksempel xboard.

Figur 10.9: Dolphy-filbehandleren

Kan installeres enkelt ved å prøve å skrive "dolphin" som root i fedora. Samme brukes "dolphin" for å starte fedora 24 filbehandleren.

Figur 10.10: Kjøre programmer fra GNOME (Kjør)

Fra fedora må dette installeres etterpå velg f.eks "Kjør program ..." i programvarebehandleren egentlig er dette for XFCE.

Ønsker du deg en ny oppgave-/programknapp er det greiest å ha bakgrunnsbildet oppe, klikke med høyre museknapp og definere en ny oppstarter (Opprett oppstarter). Her kan du lage dine egne trykk-knapper eller oppdatere nye programmer under programmer-mappen.

Figur 10.11: Definere oppstartsprogram fra Panel

Den siste og kanskje viktigste programmet er Logg ut (Log out); herfra kan du både logge deg ut og ta ned systemet. Du finner logout ved å trykke på «System» og deretter på «Logout».

Når du har bakgrunnsbildet oppe, kan du når som helst endre på skrivebordet ved å klikke med høyre museknapp. Da får du følgende valgmuligheter: opprette en ny mappe (katalog), opprette en ny oppstarter, opprette dokument, rydde opp etter navn, beholde justert oppsett, lime inn filer (tilsvarende Control V under Windows) og endre skrivebordsbakgrunn.

Ønsker du ditt eget fancy skrivebord med forskjellige X-applikasjoner, er det bare å lage din egen .xinitrc fil i din hjemmekatalog. Denne filen kan du automatisk få generert fra GNOME. Ønsker du å gjøre det manuelt, er det bare å sjekke syntaksen i filen /usr/X11R6/lib/X11/xinit/xinitrc. Mer informasjon finner du i håndboksidene under xterm, xclock og twm.

Figur 10.12: Brukervalg for bakgrunn

Ønsker du å gjøre spesialtilpasninger til ditt GNOME brukergrensesnitt, går du inn på «System» og «Brukervalg». Her har du stor frihet til å endre det meste.

GNOME og bruk av mus

[rediger]

Vær oppmerksom på at venstre museknapp brukes til å merke og flytte filer eller kataloger. Høyre museknapp brukes for å vise en meny for den opsjonen du har valgt. Dette gjelder bare hvis det eksisterer en meny for den opsjonen du har valgt. De fleste Unix-systemer er basert på 3-knappers mus og knappen i midten brukes vanligvis til å lime inn tekst eller grafikk. Har du bare 2-knappers mus kan du trykke venstre og høyre museknapp samtidig for å få samme effekt.

Har du 2-tasters mus som emulerer 3-tasters mus, (det er ikke musen som emulerer, men vindusystemet) har du en funksjon tilsvarende GNOME/KDE-startknappen ved å trykke samtidig på høyre og venstre museknapp når du bare har bakgrunnsbildet på skjermen.

Alternativet med XFCE4

[rediger]

Hvis du er vant til å bruke kommersielle utgaver av Unix, er du sikkert kjent med og trives med CDE-grensesnittet disse leveres med. CDE kan forøvrig også minne en del om grensesnittet til OS/2, for de som kjenner det. Det finnes et grensesnitt som ligner veldig mye på CDE under Linux kalt XFCE4. I sine siste versjoner har dette grensesnittet begynt å tilby kompatibilitet med GNOME, og begynner dermed å bli et godt alternativ. Xfce følger ikke i dag med som standard i Fedora Linux, men kan lastes fritt ned fra http://www.xfce.org.

Fil:Fedoraxfce4.png

Figur 10.13: Eksempel på XFCE4s brukergrensesnitt

Standard X-applikasjoner

[rediger]

Du finner mange applikasjoner i Linux som er beregnet på å gå under X. Jeg har her tatt med en samling programmer som jeg tror du kan ha nytte av. Alle X-applikasjonene kan du starte direkte fra en vindusbehandler (Window Manager) eller rett fra terminal-ledeteksten ved å skrive navnet på programmet og &. &-tegnet gjør at programmet vil kjøre i bakgrunnen.

X program (nytteprogram) Beskrivelse
gimp Grafisk program tilsvarende Adobe Photoshop
gv Greit hvis du ønsker å se på postscript-filer
ical En enkel avtalekalender
userinfo Brukerinfo
userpasswd Endre passord
usermount Montering og avmontering av filsystemer
usernet Sjekk av nettverksgrensesnitt
linuxconf Med dette programmet kan du stille inn det meste; kan sammenlignes med kontrollpanelet til windows og register applikasjonen
xcalc En enkel kalkulator
xclock En vanlig klokke
xdos DOS-emulator (kjør DOS-programmer)
xeyes Øyne som følger markøren din
xmag Forstørrelsesglass for synshemmede
xman Gir deg man-sidene (GUI-front mot man)
xpdf Gjør det mulig å se på dokumenter i forskjellige formater; bruker standardformatet til Adobe
xterm Gjør det mulig for deg å ha flere terminal-sesjoner
gdm (xdm) Styrer innlogging (X terminal)
xv Et enkelt grafikkprogram
xwd Greit å ha hvis du skal ha X11-skjermdumper i forbindelse med dokumentasjon

Den viktigste X-applikasjonen er xterm og gdm. Du finner flere X-applikasjoner for Linux enn de som er ramset opp her. Jeg har bare tatt med de mest populære.

X-spill

[rediger]

Her er en oversikt for de som er interesserte i spill

X-spill Beskrivelse
acm En enkel luftspill-simulator
chromium Eksempel på arcade fly-/skytespill
paradise Nettverksbasert kampspill
FlightGear (Koster penger)X-Plane 10
Tuxracer Action spill
Supertux Action spill
xbill Et spill hvor du må stoppe et virusangrep fra "Microsoft"
xboard Et meget bra sjakkspill, kan brukes over internett
xchomp Det klassiske pac--man spillet
xdemineuer Et enkelt minesveiperspill
xjewel Det tradisjonelle Tetris-spillet med mange varianter
xeyes Øyne som følger markøren din
xlander Et enkelt månelandingsspill
xpilot Nettverkbasert kampspill
xpuzzles Nettverkbasert kampspill
DreamChess Et meget bra sjakkspill, kan brukes over Internett
Nexuiz | OpenArena | Warsow | Tremulous| Sauerbraten |
vitetris Terminal basert Tetris
LINBALL (Linux Pinball) bakno pinball
Steam spill som koster penger Counter-Strike: Global Offensive | Portal 1 & 2 | ark survival evolved

Figur 10.14: Eksempel på sjakkspillet gnome.

X-spill en hel serie med puslespill
AisleRiot Solitaire Klotski Iagno Mines Sudoku

Du finner flere X-baserte spill for Linux enn de som er ramset opp her. Jeg har bare tatt med de mest populære.

X-kommandoer

De fleste X Windows-preferansene kan du sette fra GNOME, tilsvarende har du kontrollpanelet i Windows. Et alternativ kan være å skrive X-kommandoer direkte.

Eksempler:

Ønsker du informasjon om oppsettet til X Windows, prøv kommandoen xwininfo:

[david@nittedal david]$ xwininfo

Med X Windows kan man i prinsippet logge seg inn på en hvilken som helst maskin (vertsmaskiner som støtter X Windows) i nettverket og sende GUI-bilde (X Windows) til den skjermen du ønsker. For å få dette til må du ha riktige tilgangsrettigheter, og DISPLAY-parameteren må settes riktig. Man bør også ha bra båndbredde mellom maskinene; anbefalt minimum er 100 Mbps.

[david@nittedal david]$ xhost ftpnode.c2i.no

Her gir jeg ftpnode tilgang til skjermen på nittedal.

[david@nittedal david]$ rlogin ftpnode.c2i.no

Jeg logger inn på vertsmaskinens ftpnode.

[ftpnode]$ export DISPLAY= david.nittedal.no:0

Her definerer jeg at skjermen på vertsmaskinen david.nittedal.no skal brukes. Kjører du tcsh-skallet i stedet for bash-skallet, bruker du setenv-kommandoen for eksempel:

[ftpnode]$ setenv DISPLAY david.nittedal.no:0

[ftpnode]$ xboard

Til slutt starter jeg opp sjakkspillet xboard på maskinen ftpnode. Selve skjermbildet blir sendt til min skjerm (nittedal). All CPU-prosessering som sjakkspillet genererer blir overlatt til maskinen ftpnode.

Hver gang du skal skrive til en skjerm, må du be X-Serveren om lov. På din hjemmekatalog finner du filen .Xauthority. Hvis du har en kopi av denne på en ekstern vertsmaskin, for eksempel ftpnode, har du lov til å sende skjermbilder til den vertsmaskinen. Det blir dermed unødvendig å bruke xhosts-kommandoen.

I eksemplet under bytter jeg om venstre og høyre museknapp:

[david@nittedal david]$ xmodmap -e “pointer 3 2 1"

Her øker jeg akselerasjonen på musen:

[david@nittedal david]$ xset m “50 5"

Her kjører jeg akselerasjonen ned:

[david@nittedal david]$ xset m “4 8"

Ønsker du å dumpe noen skjermbilder, kan du prøve xwd:

[david@nittedal david]$ xwd > skriverbilde

Her dumper jeg skjermen til filen skriverbilde. Denne filen kan du for eksempel jobbe videre med i programmene xv eller gimp.

[david@nittedal david]$ xsetroot -solid blue

Her setter jeg bakgrunnen til blått.

[david@nittedal david]$ xclock &

Her starter jeg opp xclock. X-applikasjonen xclock kjøres i bakgrunnen.

Oppstart i GDM

[rediger]

Kjører du Fedora Core eller SuSE, vil du som standard komme opp i X Windows System. Kjører du derimot andre varianter, er det ikke sikkert at dette er tilfelle. Ønsker du da at GDM (X Display Manager) skal komme opp som standard hver gang du starter Linux-boksen din, er det bare én linje i filen /etc/inittab du trenger å endre. Du gjør følgende:

[root@nittedal /root]# vi /etc/inittab

  1. inittab This file describes how the INIT process should set up
  1. the system in a certain run-level.
  1. Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
  1. Modified for RHS Linux by Marc Ewing and Donnie Barnes
  1. Default runlevel. The runlevels used by RHS are:
  1. 0 - halt (Do NOT set initdefault to this)
  1. 1 - Single user mode
  1. 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
  1. 3 - Full multiuser mode
  1. 4 - unused
  1. 5 - X11
  1. 6 - reboot (Do NOT set initdefault to this)

id:5:initdefault:

  1. System initialization.

si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

  1. Trap CTRL-ALT-DELETE

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

  1. When our UPS tells us power has failed, assume we have a few minutes
  1. of power left. Schedule a shutdown for 2 minutes from now.
  1. This does, of course, assume you have powerd installed and your
  1. UPS connected and working correctly.

pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

  1. If power was restored before the shutdown kicked in, cancel it.

pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

  1. Run gettys in standard runlevels

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

  1. Run xdm in runlevel 5

x:5:respawn:/etc/X11/prefdm -nodaemon

Finn linjen hvor det står initdefault. Her står det på noen Linux-distribusjoner som ikke har GUI:

id:3:initdefault:

Dette betyr at standard kjørenivå er 3. Dette endrer du til 5. Hvis du ønsker et GUI-grensesnitt mot operativsystemet dvs. til:

id:5:initdefault:

Oppdater de endringene du har gjort i /etc/inittab. Reboot systemet med for eksempel init 0, reboot, shutdown, eller tving init til å lese /etc/inittab ved å skrive:

[root@nittedal /root]# /sbin/telinit q

NB! Du må være sikker på at X Windows System kommer opp på normal måte før du endrer /etc/inittab. Dette kan du teste ved å skrive startx fra terminalledeteksten. Fra boot-ledeteksten ved oppstart av maskinen, kan du også velge hvilket kjørenivå Linux skal starte i. Linux 3 bringer deg i tekstmodus selv om systemet ellers er innstilt på å starte i grafisk modus. Dette kan være kjekt hvis du har fått problem med X-serverinnstillingene. Velg modus 5 hvis du ønsker å laste opp X11 (grafisk modus med).

Ønsker du flere virtuelle tegnbaserte terminal økter er det bare å slå dette på i /etc/inittab. I /etc/inittab-filen over har jeg slått på getty på fire ekstra terminal økter. Disse er satt opp fra funksjonstast F8, F9, F10 og F11. Gjør du andre endringer i /etc/inittab enn det som jeg har spesifisert, er det mulig at du aldri mer får kontakt med Linux-boksen. Les man-sidene hvis du er usikker.

3D-akselerasjon og Linux

[rediger]

Linux har lenge ligget litt etter når det gjelder støtte for 3D-akselerasjon. Riktignok har 3dfx vært støttet av Linux en stund. Det ble derfor for en tid tilbake startet et prosjekt med støtte fra bl.a. Red Hat og Silicon Graphics. Dette prosjektet ledes av et tredje firma kalt Precision Insight, som har som mål å kombinere Silicon Graphics' GLX-teknologi med den frie implementasjonen av OpenGL kalt, MesaGL.

Resultatet av dette arbeidet kan sees i Xfree 4.0 og er nå tilgjengelig. Allerede i dag har prosjektet fått støtte og drivere fra firmaer som 3dfx, Nvidia, Elsa og Matrox.

Det er allerede begynt å dukke opp flere nye titler for 3D-spill på Linux, blant annet Quake III Arena og Unreal Tournament.

Steam finnes til linux, GOG Galaxy klient for linux er på vei.

X Windows og referanser

[rediger]

På Internett finner du mange referanser til X Windows. Nedenfor har jeg tatt med både internasjonale og nasjonale referanser.

Generelle beskrivelser av hvordan du setter opp X Windows, finner du blant annet på Linux-CDen under XFree86-HOWTO. Har du driver-problemer, kan du sjekke hjemmesiden til XFree86:

http://www.xfree86.org

For å sette opp nvidia 3d vision: (3d briller) https://www.talisman.org/~erlkonig/misc/nvidia-3d-vision-on-linux-opengl/

For kommersielt tilgjengelige drivere kan du sjekke:

http://www.xi.com eller

http://www.metrolink.com

For informasjon om 3dfx-kort og 3D under Linux, kan du prøve:

http://glide.xxedgexx.com

http://www.mesa3d.org og http://www.precisioninsight.com

For informasjon om kommersielle og frie spill med mer til Linux og X Windows:

http://www.linuxgames.com, http://www.happypenguin.org, http://www.lokigames.com

For mer informasjon om GNOME:

http://www.gnome.org

For mer informasjon om KDE:

http://www.kde.org

For mer informasjon om XFCE 3:

http://www.xfce.org

For informasjon om multimedia-applikasjoner:

Mp3 spiller:

http://www.xmms.org/ and http://www.mpg123.org

Mp3 til wav:

http://faceprint.com/software.phtml

http://nostatic.org/grip/

http://www.vorbis.com/

Xine (dekoding) :

http://xine.sourceforge.net/

Dvd plug-inn:

http://dvd.sourceforge.net/

Adobe Flash player:

https://get.adobe.com/flashplayer/

Real player:

http://www.real.com/

Oppgaver til kapittel 10

[rediger]

Oppgave 10.1

Hva er X Windows?

Oppgave 10.2

Hvilken vindusbehandleren bruker KDE?

Oppgave 10.3

Hva er forskjellen mellom GNOME og KDE?

Oppgave 10.4

Hvilke grafiske brukergrensesnitt finnes for Linux?

Oppgave 10.5

Logg deg inn som root og prøv forskjellige oppsett på det grafiske kortet og skjermen. Noter deg endringene. Har du den mest optimale innstillingen?