Van cd naar bd
Werk je ook vaak in diepe directorystructuren en ben je het zat om opdrachten zoals cd ../../../../..in te typen om naar één van de moederdirectory’s terug te keren? Vigneshwaran Raveendran heeft een heel eenvoudige, maar handige oplossing hiervoor geschreven: bd. Download het shellscript van de website van het project en installeer het zoals daar aangegeven (als root of met sudo). Stel dat je nu in de directory /home/user/project/src/org/main/site/utils/file/reader/whatever zit en naar de directory utils wilt gaan. Normaal type je dan cd ../../.. in en moet je uittellen hoeveel directory’s je moet doorkruisen. Met bd volstaat een eenvoudig bd utils. Het script zoekt naar een bovenliggende directory met die naam en brengt je daarheen. Als er meerdere directory’s met dezelfde naam bestaan, ga je naar de dichtstbijzijnde/onderste, die niet de rechtstreeks bovenliggende directory is.

Meestal zul je de optie -s willen gebruiken, waarmee bd ook werkt met onvolledige directorynamen. Dan volstaat in het bovenste voorbeeld bd -s ut. Bd is ook handig te gebruiken in combinatie met backticks: je krijgt dan het gevraagde pad te zien in plaats van naar het pad te gaan. Zo vraag je bijvoorbeeld eenvoudig de directorylisting van één van de bovenliggende directory’s op, zoals met:

$ ls `bd utils`

http://vigneshwaranr.github.io/bd/

 

Grafiekjes voor tmux
Grafische desktopomgevingen hebben allemaal applets die de toestand van de processor, het RAM en de batterij tonen. Maar wat doe je als je in een terminalvenster leeft? Voor de terminalmultiplexer tmux is er sinds kort het programma rainbarf. Het toont een gecombineerd grafiekje van processor- en RAM-gebruik in tekstvorm om in de statusbalk van tmux te plaatsen. Het staafgrafiekje toont de evolutie van het processorverbruik van de laatste tijd, met op de achtergrond gekleurde blokken die het RAM voorstellen. Zo is groen vrij geheugen, geel actief geheugen, blauw inactief geheugen, cyaan gecachet geheugen en magenta gebruikt swapgeheugen.

Na installatie van rainbarf (bijvoorbeeld met sudo cpan -i App::rainbarf) voeg je de volgende regels toe aan het configuratiebestand ~/.tmux.conf:

set-option -g status-utf8 on

set -g status-right ‘#(rainbarf –bright –bolt)’

Daarna herlaad je je tmux-configuratie met tmux source-file ~/.tmux.conf.

Het programma herkent heel wat opties, die je op de commandline (of in de aanroep in het configuratiebestand van tmux) kunt gebruiken of in het configuratiebestand ~/.rainbarf.conf kunt plaatsen. Wil je de indicator van de batterijlading bijvoorbeeld niet zien, dan gebruik je –nobattery. Wil je zien hoe lang het nog duurt voor de batterij volledig opgeladen of volledig ontladen is, gebruik dan –remaining. En met –rgb gebruik je een kleurenpalet van 256 kleuren. Kleuren kunnen overigens wel eens voor problemen zorgen, afhankelijk van je terminalprogramma en het kleurenschema dat je daarin gekozen hebt. En wil je rainbarf in screen gebruiken in plaats van in tmux, dan moet je opletten. De stabiele versie van screen werkt niet goed met UTF-8 in de statusbalk, dus je moet dan de ontwikkelversie van Git downloaden.

https://github.com/creaktive/rainbarf

 

RedNotebook
Wil je een dagboek bijhouden met je gedachten, observaties, notities, recepten enzovoort, neem dan eens een kijkje bij RedNotebook. Het programma heeft een gebruiksvriendelijke interface, maar biedt heel wat geavanceerde functionaliteiten aan. Je entries zijn niet alleen beperkt tot tekst, maar je kunt ook afbeeldingen, bestanden en aanklikbare links naar websites toevoegen. RedNotebook biedt ook sjablonen aan waarmee je snel vaste types content aanmaakt.

Voor de navigatie heb je heel wat mogelijkheden. Linksboven zie je een kalender waar je een datum kunt selecteren om de entries van die dag te bekijken. Daaronder wordt een woordenwolk getoond met de meest voorkomende woorden in je entries. Klik je op een woord, dan krijg je alle entries te zien waarin dat woord voorkomt. Er is ook een zoekfunctie. Je kunt zelfs categorieën toekennen aan entries, zodat je gemakkelijk bijvoorbeeld professionele en persoonlijke entries kunt scheiden. Alles wat je in RedNotebook invoert, wordt automatisch opgeslagen in ~/.rednotebook/data in de vorm van tekstbestanden. Vanuit het programma kun je entries exporteren naar PDF, HTML, LaTeX of platte tekst.

http://rednotebook.sourceforge.net/

 

Y PPA Manager
Ubuntu heeft met Personal Package Archives (PPA’s) een flexibele manier geïntroduceerd om repository’s toe te voegen, bijvoorbeeld als je experimentele software wilt installeren. Wanneer je er een aantal geïnstalleerd hebt, is het overzicht echter vaak zoek. Daar komt het programma Y PPA Manager van pas. Je installeert het onder Ubuntu of Linux Mint als volgt:

$ sudo add-apt-repository ppa:webupd8team/y-ppa-manager

$ sudo apt-get update

$ sudo apt-get install y-ppa-manager

Start je het programma, dan krijg je in het hoofdvenster alle mogelijkheden te zien. Zo kun je alle geïnstalleerde PPA’s op je systeem bekijken en rechtstreeks de programma’s die je geïnstalleerd hebt verwijderen. Je kunt ook PPA’s toevoegen, bekijken welke pakketten er in een PPA zitten en programma’s uit geïnstalleerde PPA’s installeren. Ook handig is dat je de beschikbare PPA’s op Launchpad kunt doorzoeken. Tot slot helpt Y PPA Manager ook bij het oplossen van problemen. Zo kun je er dubbele PPA’s mee verwijderen. Na een upgrade van Ubuntu worden PPA’s overigens standaard uitgeschakeld om incompatibiliteitsproblemen te vermijden. Vanuit Y PPA Manager schakel je eenvoudig alle PPA’s die de nieuwere versie ondersteunen automatisch terug in, terwijl de andere uitgeschakeld blijven.

https://launchpad.net/y-ppa-manager

Een betere geschiedenis
Met de opdracht history vraag je in een Linux-terminal op welke opdrachten je voorheen allemaal hebt ingegeven. Normaal krijg je eenvoudigweg een genummerde lijst te zien. Wil je een bepaalde opdracht uit je geschiedenis opnieuw uitvoeren, dan volstaat het om een uitroepteken en het bijbehorende nummer in te voeren, waarna je shell (in de meeste Linux-distributies standaard bash) de opdracht opnieuw laat uitvoeren.

Met enkele kleine aanpassingen wordt je opdrachtgeschiedenis echter heel wat handiger. Allereerst vind je het misschien handiger als je bij elke opdracht in je geschiedenis ook de datum en het tijdstip te zien krijgt waarop het uitgevoerd is. Dat kan eenvoudig door de volgende opdracht in je /.bashrc te plaatsen:

export HISTTIMEFORMAT=’%F %R ‘

Je zult in je geschiedenis zien dat je vaak dezelfde opdracht meerdere keren vlak na elkaar ingeeft. Dat zijn meestal vrij triviale opdrachten en het interesseert je waarschijnlijk niet om later te zien dat je toen tien keer dezelfde opdracht na elkaar uitvoerde. Bovendien nemen die dubbele opdrachten ook nog eens plaats in het history-bestand in, waardoor andere opdrachten niet meer in het bestand verschijnen. Die dubbelen sluit je eenvoudig uit met de volgende opdracht in je /.bashrc:

export HISTCONTROL=ignoredups

Dat werkt overigens enkel voor de dubbelen vanaf nu: reeds opgeslagen dubbelen worden niet verwijderd.

Als je vindt dat de geschiedenis niet lang genoeg opgeslagen wordt, dan zijn er nog twee variabelen die je kunt aanpassen: HISTSIZE en HISTFILESIZE. Standaard hebben die in de meeste Linux-distributies de waarde 500. Daardoor houdt de actieve sessie slechts de 500 recentste opdrachten bij (HISTSIZE) en worden ook in het history-bestand (~/.bash_history) slechts de 500 recentste opdrachten opgeslagen (HISTFILESIZE). Verhoog die waardes gerust.

KERNELNIEUWS

Linux 3.14
Btrfs heeft in Linux 3.14 heel wat performanceverbeteringen en bugfixes gekregen. Informatie over bestandssystemen wordt nu geëxporteerd via sysfs. Met de nieuwe code moet het in de toekomst ook mogelijk zijn om attributen zoals compressie over te hevelen per inode. Ext4 heeft vooral bugfixes gekregen. Samsung’s experimentele bestandssysteem F2FS (Flash-Friendly File System) heeft een betere performance en laat nu ook runtime tuning van het bestandssysteem toe via sysfs.

Heel wat DRM graphics drivers zijn onder handen genomen, maar het gaat vooral om code waarop in de volgende kernelversies nog op voortgebouwd moet worden. Zo ondersteunt Nouveau (de open source Nvidia-driver) de nieuwe GeForce 700-serie met hardwareversnelling. Power management werkt echter nog altijd niet naar behoren. De open source driver voor AMD Radeon schakelt dan weer wel dynamic power management standaard in voor nieuwere Radeon HD R200-GU’s. De open source driver voor Nvidia Tegra heeft preliminaire ondersteuning voor PRIME gekregen. En de Intel GMA500 Poulsbo driver is van heel wat bugfixes voorzien, evenals een begin van ondersteuning van 2D-versnelling.

Verder ondersteunt de Linux-kernel uiteraard ook weer heel wat nieuwe hardware. Zo draait de kernel nu op de MIPS interAptiv en proAptiv processorkernen. De Xtensa-architectuurcode ondersteunt nu ook symmetric multiprocessing. En heel wat nieuwe ARM-platforms mogen rekenen op ondersteuning in de nieuwe kernel. Op virtualisatievlak is er ook een nieuwtje: de kernel ondersteunt nu Xen PVH. Dit is een nieuwe virtualisatiemodus, ParaVirtualized Hardware, die eigenlijk een hybride vorm is van PV (ParaVirtualization) en HVM (Hardware Virtual Machine). Het resultaat moet een betere performance zijn. De code vereist Xen 4.4. Linux 3.14 krijgt overigens ook een nieuwe scheduler waar jarenlang aan gewerkt is: SCHED_DEADLINE.

http://kernelnewbies.org/Linux_3.14