Hoofdstuk 8. De werkomgeving

Inhoudsopgave

Houd het netjes
Algemene raadgevingen
Opruimen
Je tekstomgeving aanpassen
Variabelen die je omgeving beïnvloeden
De inhoud van variabelen veranderen
Voorbehouden variabelen
Configuratiebestanden van de shell
Je eigen instellingen maken voor de shell
Scripts schrijven
De grafische omgeving
Inleiding
Het X Window Systeem
Displays
Venster- en bureaubladmanagers
Instellingen van de X server
Regionale instellingen
Het toetsenbord
Datum en tijd
Taalinstellingen
Nieuwe pakketten installeren
Algemeen
Soorten pakketen
Pakketbeheer automatiseren
Het systeem bijwerken
Gebruikers
Multi-user
Een gebruiker toevoegen
Wachtwoorden veranderen
Samenvatting

Samenvatting

In dit hoofdstuk bekijken we hoe je je werkomgeving naar je hand kan zetten. We gaan in op de volgende aspekten:

  • Orde houden op je systeem.

  • De tekstomgeving aanpassen.

  • De prompt veranderen.

  • Instellingen van de shell aanpassen

  • Eenvoudige scripts schrijven.

  • De grafische omgeving aanpassen.

  • Regionale instellingen configureren.

  • Extra software installeren.

Houd het netjes

Algemene raadgevingen

Organizatie

Van je systeem een rommelhoop maken, is niet moeilijk. We kunnen er niet genoeg de nadruk op leggen dat je je systeem ordelijk moet trachten te houden. Als je jezelf van in het begin orde en netheid eigen maakt, wordt het vanzelf een goede gewoonte die je op termijn veel tijd en moeite zal besparen.

Hier zijn alvast een aantal algemene richtlijnen om het je makkelijk te maken je data te organizeren:

Handeling met de muis.

  • Maak een bin map voor uitvoerbare bestanden in je home directory. Dit is analoog aan de /bin en /usr/bin mappen voor het systeem.

  • Zet niet-uitvoerbare bestanden in aparte mappen, en maak zoveel mappen als je nodig hebt. Bijvoorbeeld een map voor beelden, voor documenten, voor projecten, voor bestanden die je afhaalt van het Internet, voor rekenbladen, voor persoonlijke bestanden, enzovoorts.

  • Maak mappen privee met het chmod 700 mapnaam commando.

  • Geef je mappen en bestanden zinvolle namen, zoals bijvoorbeeld Brief Vlaamse Gemeenschap dienst BIS 20060710 in plaats van brief_1.

Opruimen

Naast het rm commando zijn er nog andere manieren om op te ruimen. We bespreken een aantal methodes in de volgende paragrafen.

Bestanden leegmaken

Some is de inhoud van een bestand niet belangrijk, maar wil je het niet weggooien omdat je het bestand nodig hebt als merkpunt. Bijvoorbeeld: je hebt enkel de datumstempel van een bestand nodig (als referentie: op die dag heb ik dat bestand gemaakt/gekregen), of je wilt een herinnering dat het bestand er was, of dat er een bestand moet komen in de toekomst. Hiervoor kan je de output van een zogenaamd nul commando gebruiken, zoals we reeds zagen in de paragraaf “Beknotten van bestanden”. Eventueel kan je het bestand eerst van naam veranderen:

willy@ubuntu:~$ mv leeg_te_maken plaatshouder
willy@ubuntu:~$ > plaatshouder
willy@ubuntu:~$ ls -l plaatshouder
-rw-rw-r 1 willy willy		0 2006-07-10 13:23 plaatshouder

Om gewoon een leeg nieuw bestand aan te maken, gebruik je het touch commando, zoals we reed zagen toen we testbestanden aanmaakten in de paragraaf “Testbestanden aanmaken”. Als je de naam van een reeds bestaand bestand opgeeft, pas je enkel de datumstempel aan maar blijft de inhoud ongewijzigd.

Om een bestand bijna leeg te maken, kan je de laatste nuttige lijnen bewaren, of de eerste, met behulp van tail of head (zie de paragraaf “Begin en eind”):

willy@ubuntu:~$ tail -5 verlanglijst > nieuwe_lijst
willy@ubuntu:~$ cat nieuwe_lijst > verlanglijst
willy@ubuntu:~$ rm nieuwe_lijst

Logbestanden

Sommige Linux programma's willen absoluut allerlei output in een logbestand kwijt. Gewoonlijk zijn er wel opties om enkel errors op te slaan, of om enkel minimale informatie op te slaan. Maar zelfs dan nog kan het zijn dat de inhoud van een logbestand je gewoon niet interesseert en dat er toch altijd maar lijnen bijgeschreven worden in het logbestand. In zo'n gevallen kan je het volgende proberen:

  • Probeer het logbestand te verwijderen wanneer het programma niet draait, als je zeker bent dat je de opgeslagen informatie niet meer nodig hebt. Sommige programma's zien bij het opstarten dat er geen logbestand is, en zullen daarom niet loggen;

    OF

  • Als je het logbestand hebt verwijderd, maar het programma maakt er een nieuw aan de volgende keer dat je het opstart, lees dan de documentatie van dat programma en ga na of er geen optie bestaat die het loggen verhindert;

    OF

  • Probeer kleinere logbestanden te maken door enkel nuttige informatie op te slaan, of informatie die voor jou relevant is;

    OF

  • Probeer het logbestand te vervangen door een symbolische link naar /dev/null, de bodemloze put van het systeem. Met een beetje geluk zal het programma niet klagen over deze ingreep. Doe dit niet met logbestanden van programma's die door het systeem opgestart worden of met programma's die altijd automatisch via cron lopen. Deze programma's zouden de symbolische link kunnen vervangen door een bestand dat dan toch weer begint te groeien.

[Opmerking]Logbestand?

Een logbestand kan je vergelijken met het logboek dat de kapitein van een schip bijhoudt: alle akties en resultaten daarvan worden erin bijgehouden. Elke aktie heeft een datumstempel, zodat je te weten kan komen wanneer een bepaalde aktie plaatsvond.

E-mail

Kuis je mailbox regelmatig uit. Maak submappen aan. Maak gebruik van automatische klassementen door middel van filters. Als je een prullenmand map hebt in je mailbox, maak ook die dan regelmatig leeg.

Om de mail, die je mogelijk van je eigen systeem krijgt, naar een nuttige plaats te sturen, maak je een bestand aan in je home map met de naam .forward en daarin het E-mail adres waar je de mails naartoe wilt sturen. Bijvoorbeeld:

willy@ubuntu:~$ cat .forward
willy@walvis.be

Uiteraard werkt dit enkel op machines die genetwerkt zijn.

Door gebruik te maken van mail forwarding (letterlijk: mail voortsturen) voorkom je ook dat je verschillende mailboxen moet controleren en beheren. Je kan elk adres op een centraal en makkelijk toegankelijk punt laten toekomen.

Je kan je systeembeheerder vragen om mail forwarding voor je op te zetten in het aliases bestand, bijvoorbeeld als je toegang tot een machine afgesloten wordt, maar je wilt dat E-mail nog een tijdje aktief blijft.

Plaats besparen met links

Wanneer verschillende gebruikers vanop verschillende plaatsen toegang moeten hebben tot hetzelfde bestand, of wanneer de originele bestandsnaam te lang of te moeilijk is om te onthouden, kan je een symbolische link gebruiken in plaats van kopies van het bestand.

Symbolische links kunnen verschillende namen hebben en naar hetzelfde bestand verwijzen: zo kan goals_for_2006.ods voor de ene gebruiker doelstellingen_voor_2006.ods noemen, en voor de andere buts_pour_2006.ods, terwijl de links toch allemaal naar hetzelfde rekenblad verwijzen. Je kan zelfs verschillende links naar hetzelfde bestand hebben in eenzelfde map.

Dit komt vaak voor wanneer het bibliotheekbestanden betreft, zoals we reeds zagen in de paragraaf “Links aanmaken”.

De grootte van bestanden limiteren

De shell beschikt over een ingebouwd commando om de grootte van bestanden te beknotten, ulimit. Het wordt ook gebruikt om limieten op systeemresources te tonen:

Handeling met de muis.

willy@ubuntu:~$ ulimit -a
core file size 		(blocks, -c) 0
data seg size 		(kbytes, -d) unlimited
file size 		(blocks, -f) unlimited
max locked memory 	(kbytes, -l) unlimited
max memory size 	(kbytes, -m) unlimited
open files 			(-n) 1024
pipe size 	     (512 bytes, -p) 8
stack size 		(kbytes, -s) 8192
cpu time 	       (seconds, -t) unlimited
max user processes 		(-u) 512
virtual memory 		(kbytes, -v) unlimited

Een veelvoorkomend probleem is het optreden van core bestanden, die aangemaakt worden als er iets misgaat met een programma. De core bestanden bevatten de inhoud van het geheugen van de computer op het moment van falen en kunnen onderzocht worden door een ontwikkelaar van software. Onze Willy is geen programmeur en core bestanden zullen hem worst wezen: als een programma crasht, start hij het gewoon opnieuw op. Om te voorkomen dat de core bestanden, die makkelijk een aantal megabytes tot gigabytes groot kunnen zijn, zijn home map opvullen, geeft hij de volgende opdracht in:

willy@ubuntu:~$ ulimit -c 0

Daarmee wordt de eerste regel van het ulimit commando op 0 gezet zoals in bovenstaand voorbeeld, en is de maximum grootte van een core bestand 0 kilobytes, wat dus effectief betekent dat er geen cores aangemaakt kunnen worden. Deze instelling vind je ook vaak terug in de configuratiebestanden van de shell, zoals we zullen zien in de paragraaf “Configuratiebestanden van de shell”.

Met ulimit kan je nog allerlei andere zaken beperken, of juist meer ruimte geven. In de output van ulimit -a vind je telkens tussen haakjes de grootheden en de optie die je moet gebruiken om het desbetreffende object te veranderen. Meer informatie vind je in de man pagina van ulimit.

Bestanden comprimeren

Gecomprimeerde bestanden nemen minder plaats in op je harde schijf. Bovendien nemen ze ook minder bandbreedte in beslag als je ze wilt verzenden over een netwerk. Veel bestanden, zoals bijvoorbeeld de man pagina's, worden in gecomprimeerde vorm opgeslagen op de harde schijf. Maar telkens een bestand uitpakken, de informatie zoeken en dan weer comprimeren is een vervelend karweitje. De meeste mensen zullen waarschijnlijk vergeten het bestand weer te comprimeren, eens ze de juiste informatie erin gevonden hebben.

Daarom hebvben we gereedschappen die werken met gecomprimeerde bestanden:

  • Voor gezipte bestanden (uitgang op .zip) hebben we bijvoorbeeld zipless en zipgrep.

  • Voor GNU zipbestanden (uitgang op .gz) is er onder andere zcat, zgrep en zless.

  • Voor bzip bestanden (uitgang op .bz) bestaat er bzcat, bzgrep en bzless.

De syntax van deze commando's is gelijkaardig als die van cat, less en grep.

[Belangrijk]Meer documentatie

Heel veel bestanden in de /usr/share/doc map zijn gecomprimeerd. Nu kan je bijvoorbeeld /usr/share/doc/grep/NEWS.gz lezen.

We bespreken het comprimeren van bestanden in detail in Hoofdstuk 7, Leren werken met een editor.