|
|||||||||||||||
$ rpm -Uvh X[TAB][TAB]
XFree86-3.3.2.3-18.i386.rpm
XFree86-S3V-3_3_2-13_i386.rpm
$ rpm -Uvh XFree86-
Det är uppenbart att det finns 2 filer som börjar med samma bokstav i denna katalogen. Om vi skall installera båda skriver vi bara *[RETURN]. Om det bara är den ena skriver vi S[TAB][RETURN], så hittar skalet automatiskt den enda möjliga filen . Samma trick kan vi använda för program här letar den bara sökvägen (path) istället för katalog. Ex:
[user@localhost user]$ vi[TAB][TAB] vi view virmf viromega viamail viewres virmpost virtex
innehåll i katalog(dir) : ls (-a : alla) (-l : detaljer) kopiera : cp [fil1] [fil2] [destination] radera : rm flytta/döp om : mv [fil] [dest] redigera textfil : pico (^h = [Ctrl] + h) print/skriv ut : lpr skrivarkö : lpq läs fil : cat en sida åt gången : less hjälp : info [kommando] packaupp : tar xfzv (-C [destdir]) packa : tar cfzv [dest] [fil1] [fil2] processlista : top (eller ps mindre detaljerat) döda process : kill [PID] utrymme på hårddisken : df starta X window system : startx SPECIELLA: Fyll i ord : [Tab] historia : [Pilupp] / [Pilned] en sida upp : [Shift][PageUp] avsluta program : q avbryt program : ^C logga ut : ^D (eller exit)
$ echo $OLDPWD
/usr/X11R6/lib/X11/app-defaults
Vi kan behandla variabeln nästan som ett filnamn:
$ cd $OLDPWD
$ echo $PWD
/usr/X11R6/lib/X11/app-defaults
Variabler deklareras (tilldelas innehåll) så här i
bash:
VAR=värde
export $VAR
Du kan se alla dina variabler (bl.a.) med kommandot set|less
less är i verkligheten ett program som används till att visa text en bildskärm åt gången därför kan det användas också i andra situationer t.ex.
tar --help | less
less långtext.txt
| är en 'pipe', dvs. det betyder "tag output från ls och led det vidare igenom less".
[användare@localhost bin]$
Promptens utseende betäms av en variabel som heter PS1 och du kan läsa dess värde i /etc/profile eller /etc/bashrc (Redhat) eller med echo $PS1:
PS1="[\u@\h \W]\\$ "
Koderna finns förklarade i man bash. Jag föredrar att skriva in nya värden på den sista raden i ~/.bashrc (~/ betyder alltid användarens hemkatalog) , så att det inte påverkar alla användare:
PS1="\[\033[34m\][\u@\w]\\$\[\033[39m\] "
Detta tar bort det som regel värdelösa localhost (för den som inte sitter i ett nätverk) och skriver istället ut hela sökvägen och inte bara den aktuella katalogen:
[användare@/usr/X11R6/bin]$
Koderna \[\033[34m\]...\[\033[39m\] färgar prompten blå. Det är en bra ide (tycker jag) att använda olika färger för vanliga användare och en för root, så att man alltid vet vem man är inloggad som. Koden [34m är blå, [39m går tilbaka till normal visning och \003 är en såkallad 'escape sequence', det betyder att: nu kommer det en kod. Se möjliga färger i filen /etc/DIR_COLORS. Detta färgar root-prompten röd: PS1="\[\033[31m\][\u@\w]\\$\[\033[39m\] "
Som alternativ till döda accenter erbjuder Xwindow en 'Compose' tangent. För att få fram u+umlaut på skärmen skall du trycka [Shift][AltGr] + ¨ + u . Det är en bra lösning för en Linux programmerare som självsäkert använder dom tecknen, men det är kanske inte så smart för en sekreterare eller din mor.
En mer permanent lösning är att ändra följande i filen /usr/X11R6/lib/X11/xkb/symbols/se:
key <AE12> { [ acute, grave ],
[ bar, dead_ogonek ] };
key <AD12> { [ diaeresis, asciicircum ],
[ asciitilde, dead_macron ] };
skall ändras till:
key <AE12> { [ dead_acute, dead_grave ],
[ bar, dead_ogonek ] };
key <AD12> { [ dead_diaeresis, dead_circumflex ],
[ dead_tilde, dead_macron ] };
Efter det att du har startat om X fungerar det på samma sätt
som i windows, i varje fall i xterm, KDE, Gnome och Emacs. Några
program är tyvärr så dåligt skrivna att dead_keys
inte fungerar bla. rxvt och NEdit. Om du är beroende av ett sådant
program, så skriv till utvecklaren eller rätta till det själv,
det är visst bara en enda rad som skall tillfogas i koden.
Installation av bdf/pcf fonter under Redhat 6:
1. Placera fonterna (dom får gärna ha ändelsen *.gz) i en mapp (vilken mapp som helst) och kör mkfontdir i den aktuella mappen för att skapa ett fonts.dir fil. 2. Kör xset +fp [sökväg/mapp] för att berätta för X om fonterna eller lägg till raden permanent raden /sökväg/mapp i /etc/X11/fs/config.
Installation av truetype fonter under Redhat 6:
1. Placera truetypefonterna (*.ttf/*.TTF) i en vilkensomhelst mapp och kör ttmkfdir -o fonts.dir. 2. Gör sedan precis som i fallet ovan. Har du en windowspartition kan du helt enkelt ha en symbolisk länk till windows/fonts, t.ex.: ln -s /mnt/win/windows/fonts/ /usr/share/fonts/truetype
Xfontservern
xfsft
Linux TrueType
HOWTO
Inte alla program samarbetar lika bra med cut and paste, i så fall kan man eventuellt använda xclipboard som mellanled.
Under lång tid trodde jag inte att man kunde gripa scrollbaren med musen och köra den upp och ner precis som i Windows, men det visar sig att det kan man, man skall bara använda den mittersta musknappen (i mitt fall skulle jag trycka på höger och vänster knapp samtidigt). Även om man har lärst sig det är det ändå inte så bekvämt. Vänster musknapp scrollar neråt och höger uppåt, men bara häljften så snabbt. Igen, den mittersta knappen placerar scrollbar precis där musmarkören är.
Det har gjorts många saker för att göra det enklare , bl.a. Xaw3d som ger fönster dekorationerna ett mindre platt utseende, NeXtaw, som ger ett Next-aktigt utseende (och gör programmen mycket långsammare, min uppfattning) och Xaw95 inte är så bra som det låter :-). Ingen av dom är helt felfria så gör en backup av dina gamla libs.
Xaw3d 1.5 är visst den mest stabila och bakåtkompatibla av dom. Innan du kompilerar är du tvungen att ändra i filen ?/xc/lib/Xaw3d/Imakefile --rad 38-44:
XCOMM DEFINES = XawI18nDefines LINTLIBS = $(LINTXLIB) $(LINTXTOOL) EXTRA_DEFINES = -DARROW_SCROLLBAR -DUSEGRAY EXTRA_INCLUDES = -I.Kör därefter xmkmf för att skapa en Makefile. Därefter:
`make includes; make depend; make; make install
cp /usr/X11/lib/libXaw3d.so.6.1 /usr/X11/lib/libXaw.so.6.1
(förutsatt att det är Redhat).
Lägg till i ~/.Xdefaults:
*background: Gray
Så skulle alla dina X-apps ha fått ett trevligare utseende och en scrollbar som fungerar precis som i Windåsen.
Skapa en fil och döp den till .Xmodmap :
keycode 0x3B = comma semicolon braceleft keycode 0x3C = period colon braceright keycode 0x3D = minus underscore question keycode 115 = greater keycode 116 = slash keycode 117 = ampersandKör 'xmodmap .Xmodmap' och resultatet är:
[AltGr]+[,] = {
[AltGr]+[.] = }
[AltGr]+[-] = ?
Högra winstart = >
Vänstra winstart = /
winmenu (Högerklick) = &
Läs /usr/lib/kbd/keymaps/i386/qwerty/se-latin1.map.gz för
att se de tillåtna värdena (använd zless
eller mc). Använd xev för att
se vilken keycode ett tryck på en tangent ger. Du skall förvissa
dig om att X anropar xmodmap $HOME/.Xmodmap varje gång
det startar, kolla /etc/X11/xinit/xinitrc, annars skall du lägga
till raden i din .xinitrc eller .Xclients innan raden
som startar din windowmanager (den skall alltid ligga sist).
# Window Maker default X session startup script PATH="$PATH:/usr/local/bin" # If you login from xdm, uncomment this to make error messages appear # in the console window. # # tail -f /home/birger/.xsession-errors > /dev/console exec wmaker #exec icewm #startkde #exec afterstepLägg märke til att de rader som börjar med '#'. Ignoreras av programmet, på det viset kan jag skriva egna små kommentarer eller om jag vill använda en annan window manager, kan jag bara byta # på t.ex.:
.Xclients skall rättigheterna vara ställt som för ett program (-rwx------). Det fixas med chmod +x .Xclients
Läs programmens man-sidor och filerna i /usr/X11R6/lib/X11/app-defaults för att se vilka egenskaper som är möjliga att ändra och hur. Exempel:
emacs*Background: DarkSlateGray emacs*Foreground: Wheat emacs*pointerColor: Orchid emacs*cursorColor: Orchid emacs*bitmapIcon: on emacs*font: 8x13 !emacs.geometry: 80x40Dom här raderna styr Emacs' utseende, om du blivit trött på att se Emacs i ett litet frimärksstort fönster, kan du ändra geometry-raden eller ange ett annat teckensnitt (se giltiga värden i /usr/X11R6/lib/X11/fonts/misc/fonts.alias). Du kan också ändra färgerna, giltiga värden hittar du i /usr/lib/X11/rgb.txt. Välj någon du står ut med att läsa i timmar.
Vim*useSchemes: all Vim*sgiMode: true Vim*useEnhancedFSB: true Vim.foreground: Black Vim.background: Wheat Vim*menuBar*font: 7x13 Vim*font: 9x15Dessa konfigurerar Vim's utseende om du använder det garfiska interfacet gvim. 'Booleska' (boolean) värden är antingen 'True' eller 'False'.
Detta blir defaults för alla xterminaler (och rxvt'er):
XTerm*saveLines: 1500 XTerm*font: 8x13 # En god font för 800x600 XTerm*foreground: burlywood2 # Fontfärg XTerm*background: black # Svart bakgrund XTerm*colorBD: blue # Färg för markerad text (t.ex. i man) XTerm*colorUL: red # Färg för understruken textrxvt är en förbättrad version av xterm, som dessutom använder mindre minnesutrymme.
(global-font-lock-mode t) (setq font-lock-maximum-decoration t) (keyboard-translate ?\C-h ?\C-?) (keyboard-translate ?\C-? ?\C-h) (global-unset-key [backspace] ) (global-set-key [backspace] 'delete-backward-char) (global-unset-key [delete] ) (global-set-key [delete] 'delete-char)Detta möjliggör danska/svenska specialtecken och syntaxfärgning av text. Det gör också så att [Delete] och [Backspace] fungerar som vanligt. Det är inte längre nödvändigt att ange (standard-display-european 1) efter att MULE (MUltiLingual Emacs) har blivit en fast del av Emacs, faktiskt kan det nån gång interferera med MULE.
# .bashrc # farver i bash eval `dircolors /etc/DIR_COLORS` # User specific aliases and functions alias ls='ls -F --color=auto' alias x='startx -dpi 100' # starta X i 100 dpi upplösning
# Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fiAccenterna i `dircolors..` raden skall vara ` (accent grave) av ett eller annat skäl. Använder man apostrof fungerar det inte.
Med kommandot 'alias' kan du binda tecken till kommandon t.ex.:
alias e='emacs mitt_stora_verk.txt' alias rm='rm -i' # fråga om en fil skall raderas (y/n) alias rr='rm -r' # radera katalogen (med underkataloger) alias la='ls -a' # visa också dolda filer alias ll='ls -l' # visa detaljer (precis som vdir) alias lt='ls -tr' # sortera filer efter datum (dom nyaste sist) alias lss='ls -S' # sortera efter storlek (största först) alias lx='ls -X' # sortera alfabetiskt efter ändelse alias bak='cd $OLDPWD' # tillbake til förra katalogen alias pakud='tar xfvz' # packa upp en *tar.gz fil alias pak='tar cfzv' # skapa en komprimerad fil alias dot='ls -d .[a-zA-Z0-9_]*' # visa endast dolda filer alias loacte=locate # en typiskt skrivfel jag brukar göraOm du saknar DOS(!?) kan du återskapa de invanda kommandona:
alias dir='ls -lba --color=yes|more' alias edit='echo "Vill du inte hellre använda vi? ;-)" && pico' alias print='lpr' alias mem='free' alias del='rm -i' alias copy='cp -ai' alias ren='mv -i' alias cls='clear' alias path='echo $PATH' alias type='less -e' alias help='man' alias deltree='rm -r' alias cd..='echo "cd .. är det riktiga, men ok.." && cd ..' alias d:='mount /mnt/cdrom && cd /mnt/cdrom'Man kan också skapa små program i .bashrc, t.ex. en liten räknemaskin:
function calc () {
awk "BEGIN { print $* ; }"
}
$ calc 4*6
24
Pass på så att du inte tar en bokstav eller ett ord som redan
är upptaget.Det kan du kolla genom att skriva whereis [ord]
(whereis kontrollerar om det finn en fil med et namnet i din sökväg).
Tips: När du har ändrat i bash's konfigurationsfiler, måste du logga ut och sedan logga in igen för att ändringarna skall gälla (bara starta en ny xterm).
'ls -F --color=auto' visar filerna med olika färger och ett indikeringstecken efter typen. Vilka färger bestäms i /etc/DIR_COLORS.
$ ln -s /mnt/win/Homepage/ homepage $ ln -s "/mnt/win/Mina dokument/special.doc" special.doc $ ln -s /mnt/win/Program/Netscape/Users/användare/Mail/Inbox ~/Mail/Win-InboxLägg märke till citationstecknen: Linux accepterar iinte utan vidare mellanrum i i filnamnen.
/dev/hda1 /mnt/win vfat auto,user,rw,uid=65534,gid=6,umask=000 0 1Nu skall "rw" vara möjligt för alla. I övrigt är uid=65534 "nobody" och gid=6 är "disk" i detta exemplet och en ls -ld kan se ut så här :
... drwxrwxrwx 5 nobody disk 4096 jun 8 1998 /mnt/win/recycled drwxrwxrwx 6 nobody disk 8192 maj 8 11:06 /mnt/win/tmp drwxrwxrwx 39 nobody disk 16384 jun 7 1998 /mnt/win/windowsViktigt: Kontrollera t.ex. linuxconf för att se om ditt sytem är uppsatt på ett annat sätt, typiskt om det användt en annan uid/gid.
... drwxrwx--x 39 nobody disk 16384 jun 7 1998 /mnt/win/windows ...Och "användarna" läggs till i /etc/group , t.ex. :
.... disk:*:6:user,fido,jan ....Vill man begränsa mount av partitioner till bara gruppen "disk" så ställ in i /dev/hda1 :
brw-rw---- 1 root disk 8, 4 nov 9 1998 /dev/hda1
$ ls -laF
drwxrwxr-x användare användare
.
drwxrwxr-x användare användare
..
drwxrwxr-x användare användare
katalog/
-rw-rw-rw- root
root testscript
Vi skall titta på bokstäverna till vänster (jag har inte tagit med alla detaljer):
d = directory, r = read, w = write, x = execute katalog/fil användare grupp alla d rwx rwx rwxLåt oss säga att vi skapat scriptet 'testscript' som root och nu skall vi göra det körbart (executeable):
Resultatet blir:
$ ls -l testscript
-rwxrwxrwx root root testscript
Som du kan se, kan alla användare på datorn både läsa,
köra och ändra ditt script och det är kanske inte så
lyckat, så vi skall nu ändra det så det ser ut så
här:
-rwxr-xr-x
nu kan bara ägaren ändra i det (klokt av säkerhetsskäl):
$ chmod +xr,go-w,u+w testscript
"ugo" motsvarar user/group/other och xrw är rättigheter. Normalt är det endast +x och t.ex. go-w man behöver använda för filer:
$ chmod +x testscript
$ chmod go-w testscript
eller
$ chmod +x,go-w testscript
Ibland ser man att folk använder siffror istället för bokstäver, t.ex. chmod 755 istället för chmod +xr,go-w,u+w. Detta därför att man använder oktala värden: r = 4, w = 2, x = 1 (4+2+1= 7) r = 4 w = 0 x = 1 (4+0+1= 5). Om du hade valt vanliga tal (1,2,3) istället för oktala kunde chmod 333 ha betytt 2 möjligheter, antingen -r--r--r-- eller --wx-wx-wx, så det finns en mening i galenskapen. De symboliska värden är lättare att komma ihåg för dom som inte är så bra på matte.
Vi ändrar också lätt ägar/grupp tillhörighet
för filer:
$ chown användare.användare testscript
$ ls -l testscript
-rwxr-xr-x användare användare testscript
Om medlemmarna i vår arbetsgrupp skall ha lov att ändra i
testscript , gör vi således:
$ chmod 775 testscript
$ chown användare.posen testscript
$ ls -lF testscript
-rwxr-xr-x användare posen
testscript*
Om kataloger (directories/bibliotek/filmappar):
$ ls -lF katalog/
drwxrwxr-x användare användare
katalog/
x är en såkallad 'searchbit': En katalog kan naturligtvis
inte köras som ett program, så istället används x
till att bestämma vem som får rättighet att tiita i katalogen,
t.ex.: $ chmod 700 chefens_fru.pics/
$ ls -lF chefens_fru.pics/
drwx------ användare användare
chefens_fru.pics/
" . " och "
.. " är blå därför att dom också
är kataloger. " .. "
är föregående katalog (parent) katalog, "
. " är den nuvarande. OM du skall köra
ett program som inte ligger i din PATH (echo $PATH) skall
du anropa det så här: ./testscript
Det verkar besvärligt men det är viktigt av säkerhetsskäl.
En hacker kunde till exempel lägga ner ett virusprogram som
heter ls i en användarkatalog och lura dej att
aktivera programmet när du vill kontrollera innehållet i den
katalogen och på så sätt infektera din dator med ett virus
eller en trojansk häst.
OM du inte har anslutning till Internet och du är den enda användaren
på din Linuxbox och du inte bryr dej om säkerheten kan du lägga
till detta i din .bash_profile:
PATH=$PATH:.
export PATH
Nu är den aktuella katalogen alltid med i din sökväg. Gör aldrig detta för root! Grunden till att det inte finns så många virus för UNIX är att vanliga användare inte kan göra särskilt stor skada, men som root kan man lätt förstöra hela sitt system på grund av lättja.
$ cat ^O (Ctrl-o) [Return] ^DLängre förklaring: Linux använder ^N och ^O för att byta mellan två olika teckenuppsättningar, du har kanske kommit åt att trycka på ^N (eller har du hittat et fel i ditt program). ^D betyder 'End of file' (EOF).
En annan möjlighet tex efter en cat av en binär
fil, är att skriva in reset (inte knappen!), och den
aktuella textskärmen/xterm kommer att blive initialiserad.
Det som hände var bara att ett speciellt styrtecken skickades
till skärmen så att den ställde om sig i grafiskt läge.
2. Det går inte att skriva in i xterm/textskärm.
Kanske har du tryckt Xoff (^S) som låser för ytterligare visning medan utdata sparas i en buffert. Tryck Xon (^Q) för att tända upp igen.
Till sist en länk till diverse linux tips: http://portico.org/
Av Birger Langkjer och Frank Damgaard översättning till svenska Leif Bengtsson
|
||||||||||||||
|
||||||||||||||