De Help Desk punt NL
Kennisbank
De Helpdesk > De Helpdesk > Kennisbank

Tips & trucs

Oplossing

Beeld vol vreemde tekens

Het beeld kan vol komen te staan met vreemde tekens als je binaire data in een console of terminal laat zien. Dit kan de terminal verwarren, zodat alle tekst daarna uit vreemde karakters bestaat. Je kunt het verhelpen op een van de volgende manieren.

  • reset
  • echo '\033c'
  • echo -ne '\017'
  • Het „direct screen escape command” echo ^O.

Optie 1 is duidelijk het eenvoudigste om in te typen en is een klein tooltje hiervoor. De andere opties zijn mogelijkheden om het meer met de hand te doen. Het vreemde teken achter echo bij mogelijkheid 4 maak je door eerst op ctrl-v te drukken en vervolgens op ctrl-o.

Core dumps

Als een programma vastloopt, zal in een aantal gevallen een core dump worden gemaakt. De informatie daarin is voor een programmeur van nut om de fout die ervoor zorgde dat het programma vastliep te achterhalen. Je kunt het als gebruiker gebruiken om een bug report naar de auteur te zenden.

Je kunt je hele harde schijf laten afzoeken naar core-bestanden en deze verwijderen als ze langer dan vijf dagen niet benaderd zijn met (als root):

find / -name core -atime +5 -exec rm -f "{}" ';'

Om ervoor te zorgen dat ze niet meer worden gemaakt, kun je in /etc/profile het commando ulimit -c 0 opnemen. De 0 staat voor de grootte die core-bestanden maximaal mogen hebben.

Dingen tijdens het opstarten laten uitvoeren

Sommige distributies hebben een script als /etc/rc.d/rc.local of /etc/rc.local om extra dingen bij het opstarten te laten uitvoeren. Dit script zal als laatste worden uitgevoerd tijdens het bootproces. Het is daarmee enigszins vergelijkbaar met autoexec.bat onder DOS. Is er geen dergelijk script, dan zou je het ook wel zelf kunnen aanmaken. Maak rc.local (of elke naam die je leuk vindt) aan en maak een symlink genaamd S99local aan in /etc/rc3.d die wijst naar het script. Vervang hierin 3 door de runlevel waartoe standaard geboot wordt in je distributie. Zie voor meer informatie over runlevels sectie Het opstartproces en runlevels.

Firefox: snel een URL openen

Als je een URL hebt geselecteerd, dan kun je door op de middelste muisknop te klikken op een leeg plekje in een Firefox-scherm die URL openen. Een snelle manier om een link in een nieuw tabblad (of venster, afhankelijk van de instellingen) te openen is door er met de middelste muisknop op te klikken.

Functie ctrl-alt-del

Normaal gesproken wordt er bij het indrukken van de toetsencombinatie ctrl-alt-del een reboot uitgevoerd (tenzij je in X zit, dan wordt X er abrupt mee afgesloten). Je kunt de uit te voeren actie echter veranderen in /etc/inittab. Verander de shutdown -r now in de regel

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

in wat je wilt laten gebeuren als je op ctrl-alt-del drukt. Bijvoorbeeld shutdown -h now. Gebruik init q om de wijzigingen door te voeren. Na een reboot is de wijziging ook van kracht.

Geheugen: er wordt minder gebruikt dan beschikbaar is

Kijk eerst in je BIOS naar de optie memory hole. Schakel die uit. Wordt dan nog niet al je geheugen gebruikt onder Linux, probeer dan de kerneloptie mem=128M (met in plaats van 128 de hoeveelheid geheugen). Dit kun je meegeven bij de prompt van LILO of GRUB. Als het goed werkt, neem het dan op in de configuratie van de bootloader. (Zie ook sectie Bootloader.)

GNOME: fontinstellingen e.d. buiten de desktopomgeving om

Je zult merken dat instellingen van GNOME, zoals de fonts en het thema, niet gebruikt worden als je niet de gehele GNOME-omgeving gebruikt. Bijv. als je een GNOME-applicatie vanuit KDE start. Start gnome-settings-daemon in de achtergrond met gnome-settings-daemon & en de instellingen zullen wel gebruikt worden.

ISO en andere archiefformaten mounten

Je kunt een ISO-bestand mounten met een loopback device: mount -t iso9660 -o loop isofile testdir. Dan staat de inhoud van het ISO-bestand onder de directory testdir gemount.

Naast ISO bestaan er nog een aantal andere archiefformaten. Deze kunnen niet standaard door de kernel worden gemount. Er is wel cdemu (http://cdemu.sf.net), een kernelmodule waarmee je meer soorten achieven kunt mounten. Zie de website voor het gebruik.

Met bchunk (http://he.fi/bchunk/) of bin2iso (http://users.andara.com/~doiron/bin2iso/) kun je een BIN/CUE omzetten naar ISO. Een archief van CloneCD, bestaande uit CCD/IMG/SUB, kan naar ISO geconverteerd worden met ccd2iso (http://sourceforge.net/projects/ccd2iso/) en voor NRG (van Nero) is er nrg2iso http://gregory.kokanosky.free.fr/v4/linux/nrg2iso.en.html.

Knippen en plakken

De service gpm zorgt er niet alleen voor dat je de muis kunt gebruiken in de console. Het zorgt er ook voor dat je kunt knippen en plakken in de console. In X kan dat altijd al.

Om een stuk tekst te kopiëren, moet je het eerst selecteren door eroverheen te slepen terwijl je de linker muisknop ingedrukt houdt. Plakken doe je vervolgens door met de muiscursor op de gewenste positie te gaan staan en de middelste muisknop in te drukken.

In software van GNOME en KDE kun je knippen, kopiëren en plakken met resp. ctrl-x en ctrl-c en ctrl-v. In andere/oudere software kunnen de toetsen verschillen.

Magic SysRq

Indien opgenomen in de kernel kun je met de SysRq-toets (dezelfde toets als waar print screen op staat) direct commando's aan de kernel geven voor noodgevallen. Mogelijkheden zijn het synchen en unmounten van alle partities. Dat kan fouten in het bestandssysteem voorkomen als het systeem om een of andere reden mocht hangen. De kernel reageert vaak nog wel op deze toetsencombinaties. Kijk voor meer informatie in de directory /Documentation/sysrq.txt onder de kernel sources (gebruikelijk in /usr/src/linux).

Maximal mount count

Er wordt een teller bijgehouden die aangeeft hoeveel keer de partities gemount zijn. Als deze teller een bepaalde waarde bereikt, dan worden de partities gecontroleerd op fouten en wordt de teller weer op nul gezet. Je kunt het aantal keren dat er zonder controle opgestart mag worden veranderen. Daar heb je tune2fs voor nodig. Gebruik je een bestandssysteem met journaal, zoals ext3 of Reiser, dan kan het aantal keren ook best op 0 gezet worden. De desbetreffende partitie mag niet gemount zijn. Dezelfde instructies als in sectie Partities op fouten controleren kunnen gevolgd worden. In plaats van e2fsck voer je tune2fs uit. Met tune2fs -c # verander je het aantal reboots. Vervang # door het gewenste aantal.

Melding bij het inloggen veranderen

De inhoud van /etc/issue wordt weergegeven vóór het inloggen in de console, de inhoud van /etc/motd (message of the day) erna. Je kunt hier je eigen boodschappen in opnemen.

Je kunt tekst in een console of terminal in kleur laten weergeven door gebruik te maken van zg. escape characters. Een voorbeeld:

echo "^[[44;33;01mtest^[[m"

Dit laat het woord test zien in gele letters op een blauwe achtergrond. Je moet niet alle tekens zo letterlijk invoeren. Tekens als ^[ zijn escape characters. Die kun je in Bash (en Vim) als volgt aanmaken. Druk op ctrl-v (tijdens de insert mode in Vim) en vervolgens op de toets waar je het escape character van wilt hebben. Bij ^[ is dat ESC.

Een voorbeeldinhoud voor /etc/issue met een tekst in kleur:

44;33;01m
Welkom op mijn Linux-doos

Let op dat bij sommige distributies /etc/issue elke keer bij het opstarten overschreven wordt door bijv. /etc/rc.local. Je kunt de code die /etc/issue overschrijft dan uitcommenten of weghalen en een vaste boodschap in /etc/issue zetten, maar je kunt ook die code aanpassen. Dat laatste is handig als je variabelen in het bericht wilt zetten.

Zie sectie Output van ls in kleur over de kleurcodes.

MPlayer: stream opnemen

Videostreams die je via internet kunt bekijken, kun je ook downloaden met MPlayer. Je moet daarvoor wel eerst de URL van de stream te weten komen. Meestal kan dat door de link naar een stream op te slaan (in Firefox rechtsklikken op de link en kiezen voor Save Link As). Vaak is dit een klein tekstbestandje waar de echte link in staat. De URL begint met rtsp:// of mms://. Als het filmpje in de pagina „geëmbed” zit, is de URL terug te vinden in de HTML-code van de pagina (in Firefox op te vragen door rechts te klikken op een leeg plekje van de pagina en dan te kiezen voor View Page Source).

Je kunt de stream opslaan met mplayer url -dumpstream -dumpfile URL.

Muisknoppen omdraaien in X

Met het programma xmodmap kun je niet alleen de toetsenbordinstellingen veranderen, maar ook de instellingen van de muisknoppen. Wil je de knoppen van een drieknopsmuis omkeren (handig als je linkshandig bent), gebruik dan:

xmodmap -e 'pointer = 3 2 1'

En als je een scrollwieltje hebt:

xmodmap -e 'pointer = 3 2 1 4 5'

Zie ook sectie Xmodmap.

Norton Commander-achtige file managers

Enkele Norton Commander-achtige file managers zijn:

Num-lock in alle consoles inschakelen

Het volgende script schakelt num-lock in op tty1 t/m tty6 (de consoles).

for i in 1 2 3 4 5 6
   do /usr/bin/setleds +num < /dev/tty$i > /dev/null
done

Dit zou je bij het booten kunnen uitvoeren (zie ook sectie Dingen tijdens het opstarten laten uitvoeren).

Omhoog scrollen

Je kunt in een console of terminal omhoog scrollen door op shift en page-up te drukken. Shift en page-down scrolt weer omlaag. Bij xterm kun je ook scrollen door op de schuifbalk (standaard links) te klikken. Om omhoog te scrollen moet je op de rechter muisknop drukken!

Output van ls in kleur

Het listing commando ls kan zijn uitvoer in kleur weergeven. Dat is niet alleen wat minder saai om naar te kijken, maar ook functioneel, omdat je er snel directory's en verschillende typen bestanden mee van elkaar kunt onderscheiden. Gebruik ls --color=auto om de output van ls in kleur te krijgen als dat nog niet standaard zo is. Er zijn een aantal standaard kleuren. Typ dircolors -p om daar een overzicht van te krijgen.

Wil je persoonlijke toevoegingen of aanpassingen maken, dan zul je de variabele LS_COLORS moeten zetten. Je kunt de output van dircolors -p gebruiken om een configuratiebestand voor dircolors te maken. Zet deze output in een bestand en pas het aan. Gebruik dircolors -b file (met in plaats van file onder welke naam je de configuratie hebt opgeslagen) om daar een bruikbare waarde voor de variabele LS_COLORS van te laten maken. Je kunt in ~/.bashrc eval 'dircolors -b file' zetten om elke keer dat je Bash start deze persoonlijke kleuren te laten zetten.

Hier volgt een overzicht van kleurcodes en andere dingen die je kunt gebruiken.

AttributeText colorBackground
00 none 30 black 40 black
01 bold 31 red 41 red
04 underscore 32 green 42 green
05 blink 33 yellow 43 yellow
07 reverse 34 blue 44 blue
08 concealed 35 magenta 45 magenta
  36 cyan 46 cyan
  37 white 47 white

Je kunt meerdere dingen tegelijk gebruiken door de getallen te scheiden met een puntkomma. Gebruik bijv. voor een vette zwarte tekst met rode achtergrond 01;30;41.

Prompt aanpassen

De prompt is het stukje tekst in de shell waarachter je de commando's intikt. Deze prompt kun je zelf veranderen. Een standaard prompt voor alle gebruikers wordt gezet in /etc/profile. Per gebruiker kun je een eigen prompt opgeven in ~/.bashrc. De prompt wordt bepaalt door de variabele PS1. Twee voorbeelden:

export PS1='\u@$PWD>' 
# PWD staat voor Print Work Directory. De prompt is van de vorm user@directory>
 
export PS1="[\u@\h][\w]\\$"
# De prompt is van de vorm [gebruiker@host][directory]$

Voor alle mogelijke elementen in een prompt zie man bash.

Screenshot maken

Je kunt een screenshot van je desktop in X maken met import -window root screenshot.png. Vervang root door de titel van een window om een screenshot van dat window te maken. Gebruik je import screenshot.png, dan kun je door te klikken kiezen waar een screenshot van gemaakt moet worden. Import is een onderdeel van ImageMagick.

Er zijn verder nog veel meer andere tooltjes die een screenshot kunnen maken. Het tekenprogramma GIMP kan ook.

Je kunt ook de tekst uit de console naar een bestand schrijven om zo een soort screendump van de console te maken. Als je script output.log intikt, wordt alle output die daarna komt in output.log gezet. Dit stopt zodra je exit intikt. Met setterm -dump -file output.dump wordt er een screendump gemaakt van de huidige tekst in de console. Laat je de optie -file weg, dan wordt een bestand genaamd screen.dump aangemaakt.

Scripts in je home directory

Maak een directory bin in je home directory aan als deze er nog niet is. Deze direcotry staat meestal al standaard in de PATH-variabele, zodat je alle scripts die je daarin zet kunt starten door alleen hun naam in te tikken.

Sendmail: starten duurt erg lang

Waarschijnlijk heb je geen gekwalificeerde hostname (lees: je hostname komt niet op DNS-servers voor). Sendmail wacht dan op een DNS lookup. Hij stopt daarmee na een timeout. Dat kan na 1 tot 5 minuten zijn. Dit is op te lossen door je eigen hostname achter localhost te zetten in /etc/host.

Signature automatisch laten updaten

Een signature is een afsluiting voor je e-mail en berichten die je post in nieuwsgroepen. Veelal kan e-mailsoftware, zoals Thunderbird, dit uit een bestand naar keuze ophalen. Je zou het volgend scriptje kunnen gebruiken om een leuke signature te maken.

rm -f ~/.signature
echo "Je naam hier" >> ~/.signature
echo "Running Linux kernel $(uname -r)" >>  ~/.signature
echo $(uptime) >> ~/.signature

Om dit script elke vijf minuten te laten uitvoeren kun je een entry voor crontab (zie ook sectie Cron) maken met een inhoud als:

*/5 * * * * /home/jan/bin/makesig

Een andere, bij niet veel mensen bekende, manier om je signature te laten updaten is een named pipe gebruiken. Dan wordt je signature alleen geüpdatet als dat nodig is. Maak eerst een named pipe met mkfifo ~/.signature. Laat daarna een script met een inhoud als het volgende in de achtergrond draaien.

while [ 1 ]; do
   ( echo "Je naam hier"
     echo "Running Linux kernel $(uname -r)"
     echo "$(uptime)"
   ) > .signature;
   sleep 1;
done

Deze tip is afkomstig van Maarten van Steenbergen (Maarten@nl.linux.org).

Opmerking: maak je signature maximaal vier regels lang. Meer wordt erg groot.

Standaard editor

Een aantal (command-line)programma's gebruikt als editor de waarde van de shell-variabele VISUAL of EDITOR. Die kun je in Bash veranderen met:

export VISUAL=editor
export EDITOR=editor

Zet op de plaats van editor je favoriete editor. Zet deze regels in ~/.bashrc om deze variabelen elke keer dat je Bash start te laten gebruiken. Is er geen editor opgegeven, dan zal Vi geprobeerd worden.

Tekstbestanden van/naar DOS-formaat omzetten

Unices maken alleen gebruik van een line feed (LF) om een nieuwe regel te laten starten, terwijl er in DOS/Windows een carriage return én een linefeed (CR + LF) gebruikt wordt. De carriage return is in een aantal editors zichtbaar als ^M. Je kunt de carriage returns weghalen op een van de volgende manieren.

Editor/shellManier
Vim :%s/^M//g
Emacs ESC x replace-string RET ctrl-q ctrl-m RET RET
Bash sed 's/^M//' < dos.txt > linux.txt
Bash cat dos.txt | tr -d \r > linux.txt

De karakters die beginnen met ^ zijn „literal characters”. Om deze in te voeren worden bij Vim dezelfde toetsen gebruikt als in Bash en bij Emacs dezelfde als in de C shell. Gebruik bij Vim en Bash ctrl-v met daarachter het gewenste karakter. ^M moet worden ingevoerd met ctrl-v en daarna enter. (Alternatief werkt ctrl-v ctrl-m ook.) Gebruik bij Emacs ctrl-q i.p.v. ctrl-v. Dit is in bovenstaand overzicht uitgeschreven.

Er is een klein tooltje genaamd dos2unix (http://www.megaloman.com/~hany/software/hd2u/) waarmee je de omzetting ook kunt doen.

Terughalen van verwijderde bestanden

Als je per ongeluk een bestand hebt verwijderd en je wilt het terughalen, dan heb je met ext2 grote kans dat dat kan als je maar niet veel nieuwe bestanden op de desbetreffende partitie hebt gezet. De inodes die van de verwijderde bestanden waren, moeten nog niet overschreven zijn.

Een methode om tekstbestanden met bekende tekst terug te vinden staat beschreven in de Linux HOWTO onder „desperate person's text file undelete”. Methodes voor het terughalen van (ook binary) bestanden zijn te vinden in de Ext2fs Undelete mini-HOWTO.

Op http://packetstormsecurity.nl/UNIX/utilities/ kun je een script genaamd unrm vinden, dat de methode die wordt beschreven in de laatstgenoemde HOWTO gebruikt. Als je verwijderde bestanden hebt teruggehaald met unrm, dan heb je misschien een hele hoop bestanden met een naam die je niet veel zegt (ze worden unrm.inodenummer genoemd). Dan is de GNU-tool file ontzettend handig om een overzicht te krijgen van wat voor data overal in staat (gebruik file *).

Een andere (interactieve) tool is e2undel (http://e2undel.sf.net). Deze tool kan wel de oorspronkelijke bestandsnaam terughalen, maar alleen als je gebruikmaakt van een bijbehorende library, libundel. De bestandsnaam wordt normaal gesproken verwijderd, maar als deze library geladen wordt door alle processen die bestanden verwijderen, kan het in een logbestand bijhouden wat de bestandsnamen waren. Zie de documentatie voor meer details.

Gebruik je ext3, dan wordt er iets anders gedaan bij het verwijderen van bestanden. De inode-data wordt ook weggehaald. Hierdoor is het niet mogelijk verwijderde bestanden terug te halen.

FIXME: Lijkt toch mogelijk. Zie:

Lees over het terughalen van verwijderde bestanden op een Reiser-partitie http://www.antrix.net/journal/techtalk/reiserfs_data_recovery_howto.comments.

Titel van een terminal veranderen

Sommige programma's veranderen de titel van de terminal van waaruit je ze opstart, maar ze zetten het niet meer terug! Of je vindt het misschien wel leuk om de titel van de terminal te veranderen. Je kunt dat voor elkaar krijgen met: echo -n -e „\033]2;nieuwe titel\007”. De 033 is octaal voor ESC en 007 voor ^G (dat je het even weet).

Uitschakelen van de pc-speaker

De pc-speaker kun je in de console uitschakelen door een van de volgende commando's te gebruiken: setterm -blength 0 of setterm -bfreq 0. Ben je aan het werk onder X, dan kan dat met xset -b. Met mixerprogramma's zoals aumix kun je ook het volume van de speaker instellen.

 
Was dit artikel bruikbaar? ja / nee
Gerelateerde artikelen Bash scripting
Errors
Internationalisering
Security
Systeemconfiguratie
Basiskennis
GNU-utility's
Kernel
Op afstand werken
X windowing system
Artikel details
Artikel ID: 750
Categorie: Linux handboek 2008
Zoekwoorden tips & trucs, tips, trucs, core, dump, vreemde, tekens, opstarten, uitvoeren, geheugen iso, mounten, knippen, plakken,
Datum toegevoegd: 6-Dec-2008 03:52:27
Aantal bekeken: 547
Beoordeling (Stemmen): Artikel nog niet beoordeeld (0)

 
« Ga terug