Tips en Truuks
Een (voorlopig) volkomen willekeurige verzameling tips, veelal zelf ontdekt omdat ik iets wilde of nodig had etc. Motto: als je iets wil, kan het in Linux altijd.
Netscape tips
Snellere Netscape
Netscape wordt in SuSE gestart met een "wrapper script" dat allerlei veiligheden biedt. Als je distributie en libraries echter gewoon netjes up-to-date zijn, is veel hiervan overbodig. Voor puur browsen heb je ook niet de mail- en news interface nodig.
Download de nieuwste Navigator (zo je wilt zonder mail en news functies) van ftp://download.xs4all.nl/pub/mirror/netscape/communicator/english. Installeer die, na eerst met
rpm -e netscape
de oude Netscape van je systeem te hebben verwijderd, in /opt
(SuSE) of in
/usr/local/
. Het installatie programmaatje biedt die mogelijkheid. Maak
dan een simpel start-scriptje met als naam /usr/local/bin/netscape
:
#!/bin/sh export MOZILLA_HOME=/opt/netscape exec /opt/netscape/netscape "$@";
Zet MOZILLA_HOME
naar de goede directory. (Weet dat Netscape wordt
gespeld als `N-e-t-s-c-a-p-e' maar uitgesproken als `Mozilla'!) Maak dit
script executable met:
chmod a+x /usr/local/bin/netscape
Voilą! Door een simpeler startmethode en het weglaten van mail en news functies is Netscape een heel stuk lichter en start sneller op.
Je eigen mail programma vanuit Netscape gebruiken
Je hebt een versie van Netscape zonder mail en news of je wilt je eigen mail programma gebruiken in plaats van Netscape Messenger, wanneer je op een mailto: url klikt?
Download
netscape-altmail-0.1.tar.gz (via FTP Search) en pak het uit in je homedirectory (bij voorkeur in een
subdirectory src/
):
tar zxvf ../netscape-altmail-0.1.tar.gz cd netsc (en druk op TAB)
Je ziet nu allerlei kleine C broncode programmaatjes. Kies er een uit voor de
door jouw gewenste mailer (pine, mutt, elm etc.), open die in je favoriete
editor en stel de variabelen goed in in de C broncode, zoals dit voorbeeldje
voor altmail_pine.c
:
#define XTERM "/usr/local/bin/rxvt" #define MAILER "/usr/bin/pine"
Kies in de Makefile
het gewenste operating system. Type daarna:
make
Lees voor verdere informatie de README. Je kunt, met een beetje gevoel voor
C, de broncode bewerken voor iedere gewenste mailer. Plaats de gewenste
shared-object (.so
) files tenslotte bijvoorbeeld in de plugins
directory van je Netscape installatie.
Stel in je ~/.netscape/preferences.js
de gewenste mailer in, volgens de
aanwijzingen in de C broncode van de desbetreffende email plugin,
bijvoorbeeld:
user_pref("mail.use_altmail", true); user_pref("mail.altmail_dll", "/opt/netscape/plugins/altmail_pine.so");
Succes!
Grotere letters in Netscape
Ik ben heel tevreden met al mijn fonts in X, maar de lettertjes in Netscape
zijn niet te lezen! Je kan natuurlijk in /etc/XF86Config
in je FontPath
de 100dpi fonts vooraan zetten, maar dan worden alle fonts zo groot, in alle
programma's.
Er is echter een manier om dat speciaal voor Netscape te regelen. Zet de
volgende regels in je ~/.Xdefaults
file:
Netscape*documentFonts.xResolution*iso-8859-1: 100 Netscape*documentFonts.yResolution*iso-8859-1: 100
Log opnieuw in in X óf geef nu het commando:
xrdb -merge ~/.Xdefaults
en start Netscape opnieuw. Voilą! Supertip: bekijk de application-defaults
file Netscape.ad
die bij je Netscape distributie zit.
X Tips
DPMS (Energy Star) gebruiken in X
DPMS (Display Power Management System (?)) betekent dat als je een tijdje niets doet, je monitor vanzelf standby gaat. Schakel dit in door het commando
xset +dpms
te geven. Dit commando kan je in je ~/.xinitrc
of .xsession
bestand zetten. Het wordt dan altijd uitgevoerd als je inlogt.
Laat je je computer echter lang staan zonder ingelogd te zijn, dan wil je het
wellicht in XDM regelen. Zet het commando dan in het het opstartbestand van
XDM: /usr/lib/X11/xdm/Xsetup_0
. Gebruik je KDM of GDM, zet dan de optie
"power_saver"
in de Device sectie van je /etc/XF86Config
(XFree-3.3.x in elk geval, 4.0 nog niet getest, zie daarvoor man
XF86Config
), ongeveer zo:
Section "Device" Identifier "Primary-Card" VendorName "DIAMOND" BoardName "STEALTH 24" VideoRam 1024 Option "accel" Option "power_saver" EndSection
Let op: de andere opties niet overnemen, het is maar dat je een idee hebt.
Zie verder: man xset
en man XF86Config
.
Een tweede X sessie starten
Iemand is al ingelogd en heeft zijn scherm beveiligd, maar jij wil even iets doen op je Linux bak onder X. Dat is geen probleem:
Log in op een van de (vrije) tekst consoles onder Ctrl+Alt+F1 t/m F6 (soms F4) en typ daar:
startx -- :1 &
De :1
wil zeggen dat X op display 1 wordt gestart. Als X gestart is,
kun je eventueel naar de console terug switchen waar je inlogde en daar weer
uitloggen met Ctrl+D.
Je nieuwe X sessie draait op de eerste vrije terminal; meestal is dat die onder Ctrl+Alt+F8 (soms F6, afhankelijk van het aantal tekst consoles). Met Ctrl+Alt+F7 ga je weer terug naar de oude X sessie.
NEdit starten vanaf de commandoregel en de prompt direct terug krijgen
Zet:
nc.autoStart: true
in je ~/.Xdefaults
file.
Log opnieuw in of doe: xrdb -merge ~/.Xdefaults
.
Start dan NEdit niet met nedit
maar met nc <filenaam>
. Je kan
ook meerdere filenamen geven, en als je later nog een nc-commando geeft, wordt
die file door het reeds lopend NEdit proces geopend. Via het Windows
menu van NEdit kun je snel wisselen tussen de openstaande bestanden.
Dit is de Server Mode van NEdit. Lees meer in de online help van NEdit, te vinden onder het `Help' menu. Homepage van NEdit: http://www.nedit.org/.
Piep uitzetten
In X:
Dat is heel simpel! Met het commando
xset -b
wordt de computer een stuk rustiger (handig 's nachts!). Tip: neem dit
commando op in uw .xinitrc
(zie hier). De
syntax van xset b
is:
xset b <volume(0-100)> [toonhoogte(Hz)] [tijdsduur(ms)]
Zie (wederom) man xset
voor de vele andere mogelijkheden van
xset.
Op de tekstconsole:
setterm -blength 0
Kan opgenomen worden in .bashrc
. Zie man
setterm
.
Het piepen van SuSE6.3 en 6.4 bij afsluiten uitzetten:
In het bestand /sbin/init.d/halt
staat aan het eind dit:
# Make reboot noise and wait a few seconds to give harddisks the chance # to really flush their buffers before power goes down. echo -en "\x07" sleep 2 echo $message echo -en "\x07" exec $command -d -f
De beide echo -en
commando's zijn de boosdoener. Het is bij een
serversysteem wel prettig om door het waarschuwingssignaal te weten dat je hem
uit kan zetten, maar thuis, wanneer je geliefde al in slaap dreigt te vallen,
is het geen prettige feature. Schakel de beide commando's uit door er een #
voor te zetten:
# Make reboot noise and wait a few seconds to give harddisks the chance # to really flush their buffers before power goes down. #echo -en "\x07" sleep 2 echo $message #echo -en "\x07" exec $command -d -f
Slaap lekker!
Gebruik het nice-commando!
Met het nice
-commando kun je applicaties met een lagere of hogere
(alleen root) prioriteit starten. Dit is buitengewoon handig voor zware
processen die gedaan moeten worden naast het gewone interactieve gebruik van
de computer.
Een programma met een lage prioriteit loopt gewoon op volle snelheid, totdat een andere applicatie tijd vraagt. Je merkt dus niets van bijvoorbeeld het compileren van de kernel of het uitpakken van een honderden megabytes groot archief als je het met een lage prioriteit doet. Met:
nice -n 19 make all | mail wilbert -s 'uitvoer van make' &
kun je een groot compileer proces met de allerlaagste prioriteit starten, en
een mail krijgen als het klaar is. De prioriteit is standaard 0 en loopt van
-20 (zeer hoog) tot 19 (laagste prioriteit). In plaats van nice -n 19
kan je ook gewoon doen: nice -19
(en dit is dus niet -19 maar prioriteit
19).
Een programma als xstarfish, dat prachtige achtergrond plaatjes berekent is
ook een goede kandidaat om met nice
gestart te worden.
Doe meer met less!
Doe eens:
less willekeurig-pakketje-1.2.3-1.i386.rpm
Wellicht toont less
netjes een beschrijving en filelist van het RPM
pakket! Hoe kan dat, en, als dat niet werkt, hoe krijg ik dat voor elkaar?
Wel, less
(een krachtiger versie van more
) kijkt naar de
omgevingsvariabele LESSOPEN
. Hierin kan de naam van een script staan dat
moet draaien om de input die aan less
gegeven wordt voor te bewerken.
In mijn (SuSE-6.4) systeem zijn betreffende less
de volgende
omgevingsvariabelen gedefiniėerd:
wilbert@nutnix:~ > env|grep LESS LESSKEY=/etc/lesskey.bin LESSOPEN=|lesspipe.sh %s LESS=-M -S -I LESSCHARSET=latin1 wilbert@nutnix:~ >
We zien dat LESSOPEN
de waarde "|lesspipe.sh
" heeft. Bekijken we
dat programmaatje (/usr/bin/lesspipe.sh
):
#!/bin/sh # Preprocessor for 'less'. # Use with environment variable: LESSOPEN="|lesspipe.sh %s" lesspipe() { case "$1" in *.tar) tar tvvf $1 2>/dev/null ;; *.t[ag]z|*.tar.gz|*.tar.[zZ]) tar tzvvf $1 2>/dev/null ;; *.tar.bz2) tar tIvvf $1 2>/dev/null ;; *.bz2) bzip2 -dc $1 2>/dev/null ;; *.zip) unzip -l $1 2>/dev/null ;; *.[1-9n]|*.man) [ "$(file -L $1|cut -d ' ' -f 2)" = "troff" ] && \ groff -s -p -t -e -Tascii -mandoc $1 ;; *.[1-9n].gz|*.man.gz) [ "$(gzip -dc $1 2>/dev/null|file -|tr -s ' '|cut -d ' ' -f 3)" \ = "troff" ] && \ gzip -dc $1 2>/dev/null|groff -s -p -t -e -Tascii -mandoc - ;; *.gz|*.[zZ]) gzip -dc $1 2>/dev/null ;; *.[rs]pm) rpm -qilp $1 2>/dev/null ;; *.ms) groff -Tascii -ms $1 2>/dev/null ;; esac; } lesspipe $1 # end of shell-script lesspipe.sh
dan zien we dat hier voor allerlei bestandsformaten (beter: extensies) kan
worden aangegeven welke programma's die voor less
moeten openen. We zien
dat:
less pakje.rpm
gelijk staat aan:
rpm -qilp pakje.rpm | less
Willen we nu ook HTML files met less
kunnen lezen zonder de tags erin
kunnen we in de case
-lus de volgende definitie toevoegen (in
/usr/bin/lesspipe.sh
dus):
*.html|*.htm) lynx -dump $1 2>/dev/null ;;
De constructie 2>/dev/null
zorgt ervoor dat foutmeldingen niet
zichtbaar worden. Willen we nu toch de HTML code van een document bekijken,
dan doen we gewoon:
less < webpagina.html
Less weet nu niet wat voor bestand hij krijgt, en laat gewoon de inhoud
zien. De omgevingsvariabele LESSOPEN
kun je system-wide zetten in je
/etc/profile
:
LESSOPEN="|lesspipe.sh %s" export LESSOPEN
Zie verder man less
!
Eerste versie: sep 2000 - mei 2001
Laatste update: wo mei 8 09:05:58 CEST 2002