-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathunix-x.tex
2031 lines (1714 loc) · 81.5 KB
/
unix-x.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Written by Per Foreby <[email protected]> 1995-2012
% Updated by Hannes Åström <[email protected]> 2018
% Updated by Nils Ceberg <[email protected]> 2019
% Updated by Roger Henriksson <[email protected]> 2020
% Currently maintained by Mattias Nordahl <[email protected]>
%
% Permission is granted to non-profit organisations to use this
% code any way you want, as long as you don't pretend you wrote it!
%
% Credit where credit is due!
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper,twocolumn]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[swedish]{babel}
%\usepackage[draft,nogray]{unix-x} % Preview
%\usepackage[draft]{unix-x} % Draft printing
%\usepackage[html]{unix-x} % For latex2html
\usepackage{unix-x} % Final printing
% Detta ligger efter \usepackage{unix-x} eftersom \ifpdf definierad där.
\ifpdf
\usepackage[pdftex]{graphics}
\pdfcompresslevel=9
% \usepackage[pdftex,hyperindex,colorlinks]{hyperref}
\usepackage[pdftex,hyperindex,hidelinks]{hyperref}
\else
%\usepackage[draft]{graphics}
\usepackage[final]{graphics}
\usepackage[dvips,hidelinks]{hyperref}
\fi
\usepackage{tabularx}
\usepackage{makeidx}
\makeindex
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\frontmatter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{titlepage}
\vspace*{30mm}
\begin{center}
\sffamily
\renewcommand{\baselinestretch}{1.1}
\Huge\bfseries Introduktion till \\[2mm]
LTH:s Linuxdatorer \\[7mm]
\large Lunds universitet \\[5mm]
Version 1.93 \\
25 maj 2023
\end{center}
\end{titlepage}
\onecolumn
\thispagestyle{empty}
\hbox{}\vfill\noindent
\twocolumn
{\parskip 0pt%
\tableofcontents} % Run toc tighter.
%=============================================================================
\chapter{Förord}
%=============================================================================
\label{cha:forord}
Den här handledningen är en kort introduktion till Linuxbaserade operativsystem och
hur man kan använda dem.
\section*{Handledningens uppläggning}
Denna handledning består av fyra kapitel. Kapitlen \emph{Grunderna} och \emph{Påbyggnad}
innehåller ungefär det som man kan förväntas kunna efter första veckan.
% ska ungefär motsvara övningspassen på datorstugan.
Kapitlet \emph{Överkurs}
behandlar saker som inte är nödvändiga att lära sig den första veckan,
men som kan vara bra att kunna för att utnyttja datorerna effektivt under
utbildningen. Kapitlet \emph{Hemifrån} innehåller en del tips om hur man kan
komma åt skolans datorer utifrån.
Handledningen innehåller rätt mycket information, och har man inte använt Linux
tidigare så är det mycket att sätta sig in i.
Det är därför lämpligt att fortsätta på egen hand med det som
% ni inte hinner med under datorstugan.
inte hinns med.
\section*{Övningsexempel}
På sidan \pageref{cha:uppgifter} finns det en del övningsuppgifter,
som kan vara nyttiga att arbeta sig igenom om man vill träna.
% Det kan då vara en bra idé att först titta igenom uppgifterna för att sedan
% gå igenom häftets innehåll och successivt lösa övningsuppgifterna.
Det finns dock inte övningar på
allting som handledningen omfattar, så läsaren uppmanas att själv
prova kommandon allt eftersom de introduceras i texten.
För de övningar där det är tillämpligt finns svar i
appendix~\ref{answers}.
\section*{Simulerad text}
När handledningen visar exempel på in- och utmatning i ett
terminalfönster ser det ut så här:
\begin{example}
lo-1\{e01nn\}: \textbf{ls}
a.out uppg2 uppg3.pas~
uppg1 uppg2.pas
uppg1.pas uppg3.pas
lo-1\{e01nn\}: \textbf{echo "hej hopp i lingonskogen"}
hej hopp i lingonskogen
\end{example}
\emph{lo-1} är datorns namn och \emph{e01nn} är den inloggade användaren. Den text som användaren själv skriver in markeras med fetstil (här kommandot \texttt{ls} för att läsa en katalog och echo för att skriva ut text). Övrig text är sådant som datorn skriver till skärmen.
\section*{Tekniska detaljer}
Denna handledning är producerad med typsättningsprogrammet \LaTeX. De
teckensnitt som har använts är Times, Avant Garde och Courier.
Skärmbilderna är dumpade från en av våra datorer med programmet
\emph{import} och sedan redigerade med bildbehandlingsprogrammet GIMP.
\subsection*{Kommentarer välkomna}
Har ni synpunkter på hur handledningen kan bli bättre, så tar vi
gärna emot dem, helst via e-post till \ST{[email protected]} eller till
\ST{[email protected]}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\mainmatter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%=============================================================================
\chapter{Grunderna}
%=============================================================================
\label{cha:grunderna}
\section{Inledning}
\subsection{Datorerna}
\index{datorerna}
Linuxdatorerna som används på LTH är vanliga PC-maskiner av olika
modeller och åldrar. Vi har 13 olika Linuxrum med
vardera 10--15 arbetsstationer:
\begin{description}
\item[Venus (E:0422)]
\item[Mars (E:0421)]
\item[Jupiter (E:0420)] \mbox{}\\
Rummen finns i norra delen av E-husets källare.
\item[Hacke (E:0153)]
\item[Panter (E:0154-E:0155)]
\item[Lo (E:0210-0211)]
\item[Val (E:0507-E:0508)]
\item[Falk (E:0509-e:0510)]
\item[Varg (E:0518-E:0519)] \mbox{}\\
Rum i södra delen av E-husets källare.
\item[Alfa (E:2119)]
\item[Beta (E:2118)]
\item[Gamma (E:2121)] \mbox{}\\
På andra våningen i E-huset.
\item[Fys:H321] \mbox{}\\
På Fysicum.
\end{description}
I E-huset finns även ett antal rum med datorer som kör Windows, och i
Matematikhuset finns också ett Windowsrum.
Windowsdatorerna behandlas inte alls i denna handledning.
LTH har även studentdatorer i Studiecentrum, M-huset, V-huset, A-huset, IKDC,
Kemicentrum och Fysicum. Med undantag för sal H321 på Fysicum
så kör samtliga av dessa datorer Windows. Det är alltså bara i E-huset och
på Fysicum som det finns Linuxdatorer.
Som student på LTH kan man använda datorer i alla husen, men programvarorna i
respektive hus är anpassade till undervisningen i huset. De övriga husen
saknar alltså en del av de program som ni kan behöva, och på motsvarande sätt
finns till exempel inte M-husets CAD-program i E-huset.
Datorerna i LTH:s studiecentrum har inga husspecifika programvaror, utan
endast vår grundinstallation. De är i första hand tänkta för enklare
uppgifter, som till exempel rapportskrivning.
Sedan finns det några datorrum som tillhör institutioner, men som är kopplade
till vårt gemensamma datorsystem för att underlätta för studenterna. Sådana
datorer hittar man bland annat på Fysicum, reglerteknik och elektro- och
informationsteknik (EIT).
\subsection{Linuxbaserade operativsystem}
\index{Unix}\index{operativsystem}
Ett operativsystem är en uppsättning program som administrerar datorns
interna arbete och erbjuder användaren ett antal färdiga kommandon. En central
del av ett operativsystem är kärnan (på engelska \emph{kernel}), som hanterar
de mest grundläggande uppgifterna såsom exempelvis kommunikationen med hårdvaran
och schemaläggning av processer.
Våra datorer använder operativsystemet Ubuntu, som är baserat på
operativsystemkärnan Linux. Linuxbaserade operativsystem tillhör vad som brukar
kallas de Unix-liknande operativsystemen, då de är baserade på samma konventioner
och fungerar på i princip samma sätt som det äldre operativsystemet Unix.
Unix började utvecklas på Bell Laboratories i USA 1969, och är idag ett
mycket moget och väl fungerande operativsystem. Unix och Unix-liknande system finns
i ett antal olika varianter; Linux är till exempel en helt fri variant av
ett Unix-liknande system vars källkod är öppen (det vill säga fritt tillgänglig).
Sett ur den vanliga användarens synvinkel är
dock de olika Unix-dialekterna mycket lika. Det är oftast bara avancerade
användare som märker skillnaderna. \textbf{Trots att vi i den här handledningen talar
om Linux är den alltså även fullt applicerbar på andra Unix-liknande system.}
Andra mer eller mindre kända Unix-liknande system är MacOS / OSX, diverse BSD-varianter,
Solaris, med flera.
\subsection{Linux och terminalen}
\index{Unix}\index{operativsystem}
I denna introduktion så kommer ni att bekanta er med Linux och dess terminal.
Terminalen är ett textbaserat program som visar alla sina utskrifter i text
och man styr den genom att skriva in textkommandon.
Terminalen är ett naturligt redskap för programmerare, då det finns många program
som inte har något grafiskt användargränssnitt men som kan köras i terminalen. Detta ger programmeraren en mycket större verktygslåda än en vanlig datoranvändare.
Det kan kännas svårt, komplicerat och skrämmande att arbeta med en terminal ifall man inte har använt den förut, men man lär sig efterhand. Denna handledning ger en stabil grund för vidare lärande.
Linux är utvecklat på ett sätt som gör att terminalen är väldigt kraftfull.
Man kan göra i stort sett allt via terminalen. Vissa saker kan vara enklare
eller bekvämare att göra med ett grafiskt användargränssnitt, men det finns ändå
många fördelar med terminalen, till exempel så kan man i ett och samma kommando skicka data
mellan olika program om man vill behandla datan på flera sätt. Det går snabbt att
göra saker och om man utvecklar ett program så behöver man inte skriva ett
användargränssnitt för att testa programmet.
Ni kommer under er utbildning läsa kurser där man skriver avancerade program som
inte kommer att ha ett användargränssnitt och det är då bra att ha bekantat sig
med hur terminalen fungerar.
\subsection{Fönstersystemet X}
\index{X Window System}
\index{fönstersystem}
De program som gör att man kan arbeta med olika fönster på den
grafiska bildskärmen kallas för ett \emph{fönstersystem}. Det system
som vi använder heter \emph{X Window System, Version 11},
eller kort och gott \emindex{X}. Det förekommer även andra
förkortningar som \emindex{X11} eller \emindex{X.org} (efter organisationen
som utvecklar systemet). Ibland används
även den felaktiga benämningen \emph{X Windows}.
Det program som ger fönstersystemet sitt karaktäristiska utseende
kallas för \emindex{fönsterhanterare} eller \emph{window manager}. Det
ansvarar bland annat för att rita ramar runt fönster och göra menyer, medan
varje program ansvarar för resten av utseendet.
I dag går man ofta ett steg längre och använder något som kallas
\emindex{skrivbordsmiljö} (\emph{desktop environment}). Med en sådan så får
alla program ett gemensamt utseende och kan även kommunicera med varandra
bättre än om man bara har en fönsterhanterare.
% \section{Datorstugan}
% Ni som går igenom detta kompendium på introduktionsveckans datorstuga
% har en övningsledare. Han/hon får betalt för att svara på frågor och
% hjälpa dig genom övningarna. Tveka inte att utnyttja övningsledarens
% kunskaper.
\section{Inloggning}
För att kunna använda datorn måste man vara registrerad som användare
i datorsystemet. Det brukar kallas för att ha ett \emindex{konto}.
En användare identifieras med ett unikt \rmindex{användarnamn}
(\emindex{username}) och ett \rmindex{lösenord} (\emindex{password}).
Alla studenter har förhoppningsvis redan fått sitt konto skickat via e-post. Annars
kan man hämta ut det på Studiecentrum (prata med din labbhandledare). Observera att det inte går att logga in
på datorerna förrän man har hämtat ut sitt LU-kort.
\section{Introduktion till Linux}
Om du skrev rätt användarnamn och lösenord slutförs inloggningen på några
sekunder.
På skärmen finns nu några \emindex{ikoner}, och längst till vänster en så kallad
\emindex{panel}.
\subsection{Musoperationer} %%NOTE: Checka om man kan kopiera med scrollhjulet
\index{musoperationer}
Musen har tre knappar och fungerar ungefär som i Windows, men med en stor
skillnad: För att klippa och klistra behöver man bara markera texten med
vänsterknappen, sedan klistrar man in den genom att klicka på mittknappen
(rullhjulet). I de flesta program går det även att klippa och klistra med
tangentbordsoperationer, precis som i andra operativsstem.
Markera en bit text. Använd sedan \emph{Ctrl-C} för
att kopiera den eller \emph{Ctrl-X} för att klippa ut den. Flytta sedan
muspekaren dit du vill ha texten och tryck \emph{Ctrl-V} för att klistra in
texten.
\subsection{Val av språk}
Eftersom vi har en hel del gäststudenter på LTH så har vi valt att ha engelska
som standardspråk på datorerna. Vill man ha ett svenskt användargränssnitt så
väljer man det på inloggningsskärmen.
Om man väljer ett annat språk så ändras det i de flesta programmen. Det finns
dock en del program som inte är översatta.
\subsection{Skärmlåsning}
\index{Skärmlåsning}
I menyn kan man låsa skärmen manuellt. Den låser sig även efter
ett tag om man inte gör någonting. För att låsa upp igen rör man på musen och
får upp en ruta där man skriver in sitt lösenord. Det är inte tillåtet att
låsa skärmen under längre perioder. I så fall ska man i stället logga ut så
att någon annan kan använda datorn. Som tumregel kan man säga att 15
minuter kan vara ok, men det är absolut inte är tillåtet att reservera en
dator och sedan gå på en föreläsning i två timmar.
\section{Passerkort}
För att kunna komma in i datorrummen behöver man ett
\rmindex{passerkort} med en personlig kod. Passerkortet får man på studiecentrum.
Det fungerar även till ytterdörrarna, så att man kan komma i in i huset på
kvällar och helger. Kortet fungerar även som ID-kort, och på kvällar och
helger kan väktarna kräva att man visar upp sitt kort.
\section{Lösenord}
Ditt användarnamn och \rmindex{lösenord} är nyckeln till ditt
datorkonto. Det är viktigt att du håller ditt lösenord hemligt så att
ingen annan kan komma åt din laborationsrapport eller göra något
otillåtet i ditt namn. \textbf{Avslöja aldrig ditt lösenord för någon.}
Ibland kan det förekomma mailutskick som säger att man ska skriva in sitt
lösenord på en websida för att få behålla sitt mailkonto. Vi skickar
\textbf{aldrig} ut mail och ber studenterna skriva sina lösenord på en extern
websida. Det är bara ett sätt för spammare att komma över konton som sen
kan användas till att skicka ut massor av spam! Låt dig alltså inte luras av de
här mailen.
\subsection{Att byta lösenord}
\index{lösenord}
För att inte lösenorden ska bli för lättgissade finns vissa
krav på hur ett lösenord ska se ut. De måste vara minst åtta tecken
långa, och innehålla tecken ur tre av följande fyra grupper:
\begin{itemize}
\item små bokstäver (gemener)
\item stora bokstäver (versaler)
\item siffror
\item specialtecken
\end{itemize}
Lösenordsbyte görs på
%% CHANGE: Ändrade adress till fungerande adress
\url{https://passport.lu.se/}
När man har bytt sitt lösenord kan det ta någon minut innan det fungerar
överallt.
\section{Filer och kataloger}
Hittills har vi bara tittat på grunderna i användargränssnittet. Nu ska vi börja
titta närmare på styrkorna med Linux terminal. Ni får nu bekanta er med en uppsättning
enkla kommandon som man skriver i ett terminalfönster. Varje kommando motsvarar ett program som finns som standard i Unix-liknande operativsystem.
Var för sig är dessa kommandon inte så kraftfulla, men genom att kombinera dem kan man göra
riktigt avancerade saker. (Det här går vi in på mer i detalj i nästa kapitel.)
Det är skillnad mellan stora och små bokstäver, både i filnamn och kommandon, så
tänk på det när ni testar kommandon.
\subsection{Att starta terminalen}
Det finns flera olika sätt att starta terminalen. Ett sätt är att högerklicka med musen när muspekaren befinner sig på skärmbakgrunden (''skrivbordsytan''). Då får du upp en pop-up-meny i vilken du kan välja ''Open Terminal''.
Alternativt kan du använda knappkombinationen \emph{Ctrl+Alt+T} (Håll ner knapparna märkta Ctrl och Alt samtidigt som du trycker på T) som brukar fungera på de flesta linuxvarianterna inklusive den vi använder.
När du har lyckats starta en terminal så befinner du dig i din hem-mapp. Med kommandot \emindex{ls} kan du läsa vad som finns i mappen.
I följande kapitel kommer vi att gå igenom lite grundkommandon för navigering och filhantering. Gå igenom dem noga ifall du inte redan
känner dig säker på hur du manövrerar terminalen.
\subsection{Att skapa filer}
Ett sätt att skriva in text i en fil är att använda kommandot
\emindex{cat}. Det är en förkortning av \emph{concatenate} som betyder
att slå ihop. Kommandot kan användas för att slå ihop flera filer, men
i sin enklaste form läser det rader från tangentbordet och skriver dem
till terminalen:
\begin{example}
lo-1\{e01nn\}: \textbf{cat}
\textbf{Hej hopp i lingonskogen}
Hej hopp i lingonskogen
\textbf{Detta är den andra raden av tre}
Detta är den andra raden av tre
\textbf{Nu är det dags att avsluta och gå vidare}
Nu är det dags att avsluta och gå vidare
\textbf{\Ctrl{d}}
lo-1\{e01nn\}:
\end{example}
För att avsluta inmatningen av text skriver man ett
\emindex{filslutstecken} (\emindex{end-of-file}) först på en rad. I
Linux är det tecknet som heter \Ctrl{d}, som man får fram genom att
hålla nere tangenten märkt\label{control} \textsc{control} eller
\textsc{ctrl} samtidigt som man trycker på tangenten \textsc{d}.
Nu är det ganska meningslöst att skriva text från tangentbordet till
skärmen. Vi vill kunna spara texten i en fil. Det gör man genom att
använda tecknet \ttindex{>} för att tala om för Linux att dirigera om
utmatningen från ett program till en fil:
\begin{example}
lo-1\{e01nn\}: \textbf{cat > nisse}
\textbf{Nils Nilsson}
\textbf{Gatvägen 12}
\textbf{123 45 Lundfanstorp}
\textbf{\Ctrl{d}}
lo-1\{e01nn\}:
\end{example}
Här ser man att terminalen inte upprepar varje mening (som den gjorde i förra exemplet). Detta är för att
utskriften från cat dirigeras om (med hjälp av '>') till filen nisse, istället för att skrivas ut i fönstret.
Svenska bokstäver\index{svenska bokstäver} och bokstäver med accenter
ska man helst undvika i filnamn. Mycket av utvecklingen sker i USA, och det är
inte alltid utvecklarna tänker på att programmen ska fungera med våra
bokstäver.
\subsection{Att titta i filer}
För att skriva ut innehållet i en fil på skärmen använder man också
programmet cat. Genom att skriva ett filnamn efter cat läser
programmet från filen i stället för från tangentbordet:
\begin{example}
lo-1\{e01nn\}: \textbf{cat nisse}
Nils Nilsson
Gatvägen 12
123 45 Lundfanstorp
lo-1\{e01nn\}:
\end{example}
\subsection{Bläddra i filer}
Nu har vi skrivit ut filer på skärmen med cat. Det har nackdelen att man
inte kan titta på stora filer. Prova till exempel att skriva ut systemets
ordlista med cat:
\begin{example}
lo-1\{e01nn\}: \textbf{cat /usr/share/dict/words}
\end{example}
För att kunna titta på en så stor fil finns programmet \emindex{less}. För att
kunna titta på systemets ordlisa utan att den rullar av skärmen skriver vi:
\begin{example}
lo-1\{e01nn\}: \textbf{less /usr/share/dict/words}
\end{example}
Nu kan vi gå framåt i texten, sida för sida, med \emindex{mellanslag} eller
\emindex{f}, och bakåt med \emindex{b}. Man kan även scrolla i texten med hjälp av piltangenterna eller mushjulet. För att avsluta less trycker man \emindex{q}.
less har inbyggd hjälp som man får om man trycker \emindex{h}.
Less är inte standard i alla Unix-liknande system, men det finns alltid ett
program som heter \emph{more} som fungerar ungefär likadant, men har några färre finesser.
\subsection{Att lista filer}
Om man inte kommer ihåg vad man kallade filen kan man använda
kommandot \emindex{ls} vilket är en förkortning för list. \emph{ls}
skriver ut namnen på alla filer:
\begin{example}
lo-1\{e01nn\}: \textbf{ls}
Desktop/ Documents/ Downloads/ Pictures/\\Videos/ nisse
lo-1\{e01nn\}:
\end{example}
Filer som slutar med snedstreck, t.ex. \emph{Documents/}, är kataloger.
Katalogerna ovan har systemet skapat åt dig. Vi åter kommer till dessa senare.
\subsection{Att flytta, döpa om och ta bort filer}
Nu ska vi titta på tre kommandon som heter \emindex{cp}, \emindex{mv}
och \emindex{rm}. Det är förkortningar för \emindex{copy}, \emindex{move} respektive
\emindex{remove}.
Med kommandot
\begin{example}
lo-1\{e01nn\}: \textbf{cp nisse nisse2}
\end{example}
skapar man en kopia av filen nisse som heter nisse2. Om man i stället
skriver
\begin{example}
lo-1\{e01nn\}: \textbf{mv nisse nisse2}
\end{example}
flyttar man, alltså döper om, nisse till nisse2. Då finns alltså inte filen nisse kvar.
Genom att skriva
\begin{example}
lo-1\{e01nn\}: \textbf{rm nisse2}
\end{example}
tar man bort filen nisse2.
\subsection{Kataloger}
\index{katalog}\index{filkatalog}
Alla filer lagras i \emph{kataloger} (på engelska heter det
\emindex{directory}). I en katalog kan det finnas
\rmindex{underkataloger} i flera nivåer. Man brukar kalla det hela för
ett \rmindex{katalogträd} eftersom det ser ut som ett träd (med roten
uppåt).
Varje användare har en egen \emindex{hemkatalog}. Det är där man
befinner sig när man precis har loggat in. De filer som vi skapade i
den förra övningen låg alla i hemkatalogen.
\begin{figure}[tbp]
\centerline{\begin{picture}(80,28)(-40,-25)
\put(0,0){\makebox(0,0){\ST{\~}}}
\put(0,0){\oval(20,6)}
\put(7,-3){\line(2,-1){14}}
\put(0,-3){\line(0,-1){6}}
\put(-7,-3){\line(-2,-1){12}}
\put(-25,-12){\makebox(0,0){\ST{Mail}}}
\put(-25,-12){\oval(20,6)}
\put(0,-12){\makebox(0,0){\ST{adresser}}}
\put(0,-12){\oval(20,6)}
\put(21,-12){\makebox(0,0){\ST{nisse}}}
\put(6,-15){\line(1,-1){7}}
\put(0,-15){\line(0,-1){7}}
\put(-6,-15){\line(-1,-1){7}}
\put(-13,-24){\makebox(0,0){\ST{fil1}}}
\put(0,-24){\makebox(0,0){\ST{fil2}}}
\put(13,-24){\makebox(0,0){\ST{fil3}}}
\end{picture}}
\caption{Katalogträd för en användare}
\label{fig:hemma}
\end{figure}
I figur~\ref{fig:hemma} finns ett exempel på hur en användares
katalogträd kan se ut. Anledningen till att själva hemkatalogen
skrivs som tilde (\ST{\~}) återkommer vi till
senare.
\subsection{Att skapa och ta bort kataloger}
För att skapa en katalog\index{katalog!skapa} använder man kommandot
\emindex{mkdir} som betyder \emph{make directory}. Med \emindex{rmdir}
(\emph{remove directory}) tar man bort katalogen\index{katalog!ta
bort}.
Om man t.ex. vill skapa en katalog för att lagra adresser till sina
vänner skriver man:
\begin{example}
lo-1\{e01nn\}: \textbf{mkdir adresser}
\end{example}
Nu kan vi använda \emph{ls} för att se hur det ser ut:
\begin{example}
lo-1\{e01nn\}: \textbf{ls}
Mail/ adresser/ nisse
\end{example}
Lägg märke till att det finns ett
\rmindex{snedstreck}\hidettindex{/} sist på den nya katalogen. Det
ingår inte i filnamnet, utan det är ls som lägger till det för att
visa att det är en katalog och inte en vanlig fil. På samma sätt får
man en asterisk (\ttindex{*}) sist på ett filnamn om filen är
ett exekverbart program (t.ex. programmet \texttt{rm} eller ett program
som man har gjort själv i någon kurs).
På nyare system är det även vanligt att olika typer av filer/kataloger
har olika färg på den text som visas av ls.
\subsection{Att byta aktuell katalog}
Den aktuella katalogen\index{aktuell katalog}\index{katalog!aktuell},
alltså där man befinner sig just nu, heter på engelska \emph{working directory}.
För att se var i filsystemet man befinner sig använder man kommandot \emindex{pwd}
som betyder \emph{print working directory}.
\begin{example}
lo-1\{e01nn\}: \textbf{pwd}
/h/d8/a/e01nn
\end{example}
Om man vill byta aktuell katalog använder man kommandot \emindex{cd}
(\emph{change directory}).
\begin{example}
lo-1\{e01nn\}: \textbf{pwd}
/h/d8/a/e01nn
lo-1\{e01nn\}: \textbf{cd adresser}
lo-1\{e01nn\}: \textbf{pwd}
/h/d8/a/e01nn/adresser
lo-1\{e01nn\}: \textbf{cd ..}
lo-1\{e01nn\}: \textbf{pwd}
/h/d8/a/e01nn
\end{example}
Som ni ser använde vi \ST{..} som argument till cd för att gå upp en
nivå i filträdet. Just i detta fall kunde vi ha skrivit \ST{cd} utan
argument. Då kommer man nämligen alltid till hemkatalogen.
\subsection{Att använda kataloger}
Nu kan vi använda \emindex{cp} och \emindex{mv} för att kopiera eller
flytta filer till den nya katalogen. Om man skriver
\begin{example}
lo-1\{e01nn\}: \textbf{cp nisse adresser}
\end{example}
så upptäcker cp att destinationen är en katalog och skapar en ny fil
som heter likadant som originalet, dvs nisse, men som ligger i
katalogen adresser. Nu kan vi titta på den nya filen
\begin{example}
lo-1\{e01nn\}: \textbf{cat adresser/nisse}
Nils Nilsson
Gatvägen 12
123 45 Lundfanstorp
\end{example}
Som ni ser använder man snedstreck (\ST{/}) för att skilja katalog och
filnamn åt. Därför kan aldrig ett snedstreck ingå i ett filnamn.
Om man vill kalla den kopierade filen något annat än originalet
skriver man t.ex.
\begin{example}
lo-1\{e01nn\}: \textbf{cp nisse adresser/nisse2}
\end{example}
Det fungerar likadant med \emph{mv}, dvs om destinationen är en
katalog får filen samma namn i den nya katalogen.
Man kan även använda \emph{mv} för att döpa om en katalog:
\begin{example}
lo-1\{e01nn\}: \textbf{mv adresser addresses}
\end{example}
För att se innehållet i en underkatalog använder man \emindex{ls} men
lägger till katalogens namn:
\begin{example}
lo-1\{e01nn\}: \textbf{ls addresses}
nisse nisse2
\end{example}
\subsection{Absoluta och relativa sökvägar}
Katalogträdet i figur~\ref{fig:hemma} är egentligen bara en del av
systemets stora filträd. I figur~\ref{fig:tree} ser vi det insatt i
sitt sammanhang tillsammans med en del andra kataloger i Linuxsystemet.
\begin{figure}[tbp]
\centerline{\begin{picture}(80,76)(-40,-25)
\put(0,48){\makebox(0,0){\ST{/}}}
\put(0,48){\oval(30,6)}
\put(0,45){\line(0,-1){6}}
\put(4,45){\line(2,-1){12}}
\put(-4,45){\line(-2,-1){12}}
\put(12,45){\line(3,-1){18}}
\put(-12,45){\line(-3,-1){18}}
%
\put(-30,36){\makebox(0,0){\ST{var}}}
\put(-30,36){\oval(10,6)}
\put(-15,36){\makebox(0,0){\ST{usr}}}
\put(-15,36){\oval(10,6)}
\put(15,36){\makebox(0,0){\ST{bin}}}
\put(15,36){\oval(10,6)}
\put(30,36){\makebox(0,0){\ST{tmp}}}
\put(30,36){\oval(10,6)}
\put(0,36){\makebox(0,0){\ST{h}}}
\put(0,36){\oval(10,6)}
\put(-2,33){\line(-5,-1){30}}
\put(-1,33){\line(-2,-1){12}}
\put(0,33){\line(0,-1){6}}
\put(1,33){\line(2,-1){12}}
\put(2,33){\line(5,-1){30}}
%
\put(-33,24){\makebox(0,0){\ST{d1}}}
\put(-33,24){\oval(10,6)}
\put(-23,24){\makebox(0,0){\ldots}}
\put(-13,24){\makebox(0,0){\ST{d7}}}
\put(-13,24){\oval(10,6)}
\put(13,24){\makebox(0,0){\ST{da}}}
\put(13,24){\oval(10,6)}
\put(23,24){\makebox(0,0){\ldots}}
\put(33,24){\makebox(0,0){\ST{dd}}}
\put(33,24){\oval(10,6)}
\put(0,24){\makebox(0,0){\ST{d8}}}
\put(0,24){\oval(10,6)}
\put(0,21){\line(0,-1){6}}
\put(-1,21){\line(-2,-1){12}}
\put(1,21){\line(2,-1){12}}
\put(2,21){\line(4,-1){24}}
%
\put(-12,12){\makebox(0,0){\ST{a}}}
\put(-12,12){\oval(10,6)}
\put(0,12){\makebox(0,0){\ST{b}}}
\put(0,12){\oval(10,6)}
\put(12,12){\makebox(0,0){\ST{c}}}
\put(12,12){\oval(10,6)}
\put(24,12){\makebox(0,0){\ST{d}}}
\put(24,12){\oval(10,6)}
\put(-13,9){\line(-3,-1){18}}
\put(-12,9){\line(1,-1){6}}
\put(-11,9){\line(5,-1){30}}
%
\put(-32,0){\makebox(0,0){\ST{d99xx}}}
\put(-32,0){\oval(20,6)}
\put(18,0){\makebox(0,0){\ST{c01yy}}}
\put(18,0){\oval(20,6)}
\thicklines
\put(-7,0){\makebox(0,0){\ST{\textbf{e01nn}}}}
\put(-7,0){\oval(20,6)}
\put(-14,-3){\line(-2,-1){12}}
\put(-7,-3){\line(0,-1){6}}
\put(0,-3){\line(2,-1){14}}
%
\put(-32,-12){\makebox(0,0){\ST{\textbf{Mail}}}}
\put(-32,-12){\oval(20,6)}
\put(-7,-12){\makebox(0,0){\ST{\textbf{adresser}}}}
\put(-7,-12){\oval(20,6)}
\put(14,-12){\makebox(0,0){\ST{\textbf{nisse}}}}
\put(-13,-15){\line(-1,-1){7}}
\put(-7,-15){\line(0,-1){7}}
\put(-1,-15){\line(1,-1){7}}
%
\put(-20,-24){\makebox(0,0){\ST{\textbf{fil1}}}}
\put(-7,-24){\makebox(0,0){\ST{\textbf{fil2}}}}
\put(6,-24){\makebox(0,0){\ST{\textbf{fil3}}}}
\end{picture}}
\caption{Del av ett katalogträd i ett Linuxsystem}
\label{fig:tree}
\end{figure}
Längst upp i trädet finns den så kallade \emindex{rotkatalogen} eller
kort och gott roten. Den betecknas med ett ensamt
\rmindex{snedstreck}. I just detta speciella fall är alltså \ST{/}
namnet på en katalog i stället för att skilja katalog- och filnamn åt.
När vi skrev \ST{adresser/nisse} var det vad man kallar en
\emindex{relativ sökväg}\index{sökväg!relativ}, dvs namnet utgår från
den aktuella katalogen. Motsatsen är en \emindex{absolut
sökväg}\index{sökväg!absolut}. Den utgår från roten och samma fil som
ovan heter då \ST{/h/d8/a/e01nn/adresser/nisse}. Sökväg heter förresten
\emph{path}\index{path|see{sökväg}} på engelska.
Den absoluta sökvägen till hemkatalogen för e01nn är
\ST{/h/d8/a/e01nn}. Anledningen att vi skrev den som \rmindex{tilde}
(\ST{\~}) är att man kan använda förkortningar i filnamn (se
tabell~\ref{tab:forkort}).
\begin{table}[tbp]
\hidettindex{.}\hidettindex{..}\index{~@\verb/~/}%
\begin{tabularx}{\linewidth}{|lX|}\hline
\ST{\~{}} & min egen hemkatalog. \\
\ST{\~{}user} & hemkatalog för användaren med användarnamnet
\emph{user}. \\
\ST{.} & Aktuell katalog. \\
\ST{..} & Katalogen ovanför aktuell katalog. \\
\hline
\end{tabularx}
\caption{Förkortningar i filnamn}
\label{tab:forkort}
\end{table}
Med denna nya kunskap kan vi skriva sökvägen till katalogen adresser
på ett par olika sätt:
\begin{ttquote}
adresser \\
\~{}/adresser \\
\~{}e01nn/adresser \\
/h/d8/a/e01nn/adresser \\
./adresser \\
../../a/e01nn/adresser
\end{ttquote}
\subsection{Wildcards}
\label{wildcards}
Det finns två tecken som är speciella i filnamn, nämligen
\emindex{asterisk} (\ST{*})\hidettindex{*} och
\emindex{frågetecken} (\ST{?})\hidettindex{?}.
Dessa har en särskild egenskap, nämligen att de kan motsvara många
olika tecken. Därför kallas de för \emindex{jokrar} eller
\emindex{wildcards}. \ST{?} motsvarar ett godtyckligt tecken, medan
\ST{*} motsvarar noll eller flera godtyckliga tecken. Med hjälp av
dessa tecken kan man alltså räkna upp flera filer på en kommandorad
utan att behöva skriva så mycket.
Om vi har följande filer i en katalog:
\begin{tabular}{@{\hspace{5mm}}lll}
prog1.p & prog2.p & uppgift.txt \\
prog1.o & prog2.o & prog \\
profile.txt & inpris.dat & utpris.dat
\end{tabular}
så kan vi använda kommandona till vänster i stället för de till höger:
\begin{tabular}{@{\hspace{5mm}}l@{\hspace{2mm}}l}
rm prog?.p & rm prog1.p prog2.p \\
rm pr*.* & rm profile.txt prog1.o prog1.p prog2.o prog2.p \\
rm *.o & rm prog1.o prog2.o
\end{tabular}
Observera att Linux antar att man vet vad gör när man skriver ett
kommando. Skriver man \emph{rm *} så kommer \textbf{alla} filer att
försvinna utan att man får en enda fråga. \textbf{Var alltså försiktig
med wildcards}.
\section{Hjälp}
\index{hjälp}I Linuxsystem finns det normalt alltid textbaserade
manualer till alla program.
Programmet som används heter \emindex{man}. Om man t.ex. vill
lära sig allt om ls skriver man
\begin{example}
lo-1\{e01nn\}: \textbf{man ls}
\end{example}
så får man fram den kompletta referensmanualen\label{man-less} för ls.
Manualen navigeras lättast med piltangenterna och när man är klar trycker man \emph{q} (quit) för att avsluta.
%% CHANGE: Ändrade adress
Det finns även en del hjälp på www.student.lth.se/datorsupport/.
Här hittar man information om e-post, egna websidor och annat, och på
förstasidan finns det driftinformation.
Om ni inte själva lyckas hitta lösningen på ett problem är det dags
att prata med någon som kanske vet mer. Har problemet att göra med en
uppgift som man ska lösa i en kurs, bör man prata med institutionen
som ger kursen. Om man däremot misstänker att det är något fel på
själva datorsystemet ska man prata med \emph{Datordriftgruppen (DDG)}.
\section{Datordriftgruppen}
\index{datordriftgruppen}Datordriftgruppen LTH eller kort och gott
\emindex{DDG} har till uppgift att sköta undervisningsdatorerna på
LTH och en del annat. Totalt är vi 10 personer.
\subsection{Felanmälan}
Om man vill rapportera ett fel behöver man inte besöka DDG
personligen. Det går också bra att anmäla fel genom att skicka mail till
\ST{[email protected]}.
Tänk på att berätta utförligt om felet, då ökar chansen att det blir
åtgärdat. Ta med eventuella felutskrifter från datorn i din
felrapport.
Vi har inte möjlighet att gå runt och kontrollera att alla datorer
fungerar som de ska, så därför är vi beroende av felrapporter för att
kunna åtgärda trasiga datorer.
Tro inte att någon annan redan har rapporterat felet. Om alla
resonerar så kan datorerna vara trasiga i flera veckor innan vi
upptäcker det. Vi tar hellre emot flera anmälningar av samma fel, än
inga alls.
%=============================================================================
\chapter{Påbyggnad}
%=============================================================================
\label{cha:pabyggnad}
\section{Skrivare}
\label{sec:skrivare}\index{skrivare}\index{utskrift}
I de flesta datorrum finns en \rmindex{laserskrivare}.
För att kunna skriva ut så kopplar man sitt kontokort till ett skrivarkonto.
Sedan drar universitetet pengar allt eftersom utskrifter görs. Detta systemet kallas för PaperCut. Registrering av kontokort gör man på: \\
http://www.print.lu.se/papercut/ \\
Utskriftssystemet är gemensamt för hela Lunds
unviversitet och går alltså även att använda utanför LTH.
\subsection{Att skriva ut}
Från programmen kan man oftast skriva ut via menyerna, men för att skriva ut
en fil från kommandoraden använder man kommandot \emindex{lp} som står
för line print. För att skriva ut en fil \emph{nisse} skriver man
\begin{example}
lo-1\{e01nn\}: \textbf{lp nisse}
\end{example}
då kommer utskriften att skickas till PaperCut och köas upp i väntan på att du aktiverar utskriften på valfri skrivare, se nedan.
För att få lite snyggare formattering av utskrifterna kan man använda
programmet \emindex{a2ps}. Till exempel gör man så här för att skriva ut ett
dokument med två sidor på varje papper:
\begin{example}
lo-1\{e01nn\}: \textbf{a2ps -2 nisse}
\end{example}
För att se vad man kan göra med \emindex{a2ps} i övrigt, skriv
\begin{example}
lo-1\{e01nn\}: \textbf{a2ps --help}
\end{example}
Självklart går det bra att skriva ut från andra program som stödjer utskift
så som Adobe Reader eller en texteditor. För att skriva ut från dessa program
så trycker man på \emindex{skriv ut} i programmen och sedan väljer PaperCut som skrivare.
\subsection{Skrivarköer}
\index{skrivarkö}När man använder lp skickas inte utskriften direkt
till skrivaren. I stället köas den upp i utskriftssystemet (PaperCut). För att verkligen få ut utskriften så går du till önskad skrivare och följer instruktionerna som är anslagna där för att aktivera utskriften.
\subsection{Papper}
\index{papper} DDG fyller på skrivarna med jämna mellanrum, men ibland
kan det blir tomt i pappersmagasinen. I så fall är det bara att säga till.
\section{Filnamn}
\label{filnamn}
I Linux kan ett \rmindex{filnamn} se ut nästan hur som helst. Det finns
ingen begränsning på hur långa namnen får vara, och formatet kan se ut
nästan hur som helst. I vissa andra operativsystem måste filnamn se ut
som \emph{namn.typ}, men i Linux behöver man inte skriva så. Det är
dock vanligt att man använder den konstruktionen för att tala om vad
det är för slags fil. Några exempel hittar ni i tabell~\ref{tab:filext}.
\begin{table}[tbp]
\begin{tabularx}{\linewidth}{|lX|}\hline
\ST{fil.java} & Javaprogram \\
\ST{fil.c} & C-program \\
\ST{fil.C} & C++-program \\
\ST{fil.cc} & C++-program \\
\ST{fil.txt} & textfil \\
\ST{fil.ps} & grafikformatet postscript \\
\ST{fil.pdf} & grafikformatet PDF \\
\ST{fil.tex} & källkod till typsättningsprogrammet \LaTeX{} \\
\hline
\end{tabularx}
\caption{Vanliga filnamn}
\label{tab:filext}
\end{table}
För att undvika problem bör man begränsa sig till att använda följande
tecken i filnamn: \emph{a--z, A--Z, 0--9, ., --, \_}. Det är i och för
sig tillåtet att använda t.ex. svenska bokstäver i filnamn, men
eftersom många program är skrivna av amerikaner fungerar det inte
alltid.
\subsection{Punktfiler}
Om en fil har en punkt först i namnet brukar den kallas för en
\emindex{punktfil}. Sådana filer syns inte när man skriver
ls. Dessa filer innehåller inställningar till program och annat som
mest är i vägen när man listar sina filer. Det går dock att se
punktfilerna om man skriver \emph{ls -a}.
\section{Kommandon}
Linux skiljer inte på \emindex{kommandon} och
\emindex{program}\index{programstart}. Alla de kommandon som vi har
använt hittills (cat, ls, mv, cp, rm, ...) är fristående program, och
inte på något sätt inbyggda i systemet. Att köra programmet \emph{cat}
fungerar alltså likadant som att köra ett program som man har skrivit
själv.
\subsection{Format}
De flesta kommandon består av kommandots eller programmets namn, följt
av eventuella \emindex{optioner} och \emindex{argument}. Om vi till
exempel skriver
\begin{example}
lo-1\{e01nn\}: \textbf{ls -l adresser}
\end{example}
så är:
\begin{description}
\item[ls] namnet på programmet som ska köras.
\item[-l] en option som i detta fall talar om att ls ska använda ett
längre format när den visar innehållet.
\item[adresser] ett argument, i det här fallet namnet på den katalog
som vi vill se innehållet i.
\end{description}
Vissa program kan använda flera optioner samtidigt. Då kan man oftast
skriva ihop dem. Ordningen mellan optionerna är inte heller viktig för
det mesta. Följade rader är helt ekvivalenta:
\begin{ttquote}
ls -l -F -C -i adresser \\
ls -lF -C -i adresser \\
ls -lFCi adresser \\
ls -ilCF adresser
\end{ttquote}
%Vissa optioner behöver argument. Det har vi redan stött på med lp där
%man kunde skriva
%\begin{example}
%lo-1\{e01nn\}: \textbf{lp -d hacke nisse}
%\end{example}
%I detta fallet är \ST{hacke} ett argument till optionen \ST{-d}. I de
%flesta fall kan man skriva ihop optioner och deras argument:
%\begin{example}
%lo-1\{e01nn\}: \textbf{lp -dhacke nisse}
%\end{example}
%vilket gör att man inte så lätt blandar ihop dem med själva
%programmets argument (i detta fallet filnamnet nisse).
Tänk på att det är skillnad mellan små och stora bokstäver även i
optioner. \ST{ls~-a} är inte samma sak som \ST{ls~-A}.
\subsection{Starta program}
För att starta ett program skriver man helt enkelt programmets
namn. Det har vi gjort många gånger nu, med program som \emph{rm}
eller \emph{cat}.
När vi skapade ett nytt terminalfönster körde vi också program,
men i stället för att skriva programmets namn bad vi fönsterhanteraren
att köra programmet åt oss genom att välja en rad i en meny.
Man kan själv starta nya fönster genom att skriva programmets namn i
ett terminalfönster.
När man startar program i terminalen så kan det hända att terminalfönstret låser sig
tills programmet har avslutats. Detta löser man genom att starta programmet i
\emindex{bakgunden} och detta gör man genom att skriva tecknet \& efter
kommandot, t.ex.
\begin{example}
lo-1\{e01nn\}: \textbf{gedit &}