Tag Archives: git

awesome: individuelle Hintergrundbilder pro Host

Wer sein ~ in einem Versionskontrollsystem wie z.B. git pflegt, trackt damit seine gesamten Daten, um z.B. auf verschiedenen Rechnern immer gleiche Datenbestände incl. Versionierung zu haben. Das Problem dabei ist, dass der Windowmanager (hier: awesome) für die verschiedenen Geräte ggfs. auch andere Einstellungen braucht, z.B. für das Hintergrundbild. Über den uname des Systems kann man einfach unterscheiden, wo das Script grade aktuell ausgeführt wird und erspart sich das Pflegen von 2 Konfigurationen. Hierzu erstellt man z.B. unter Gentoo die ~/.config/awesome/theme.lua wie folgt:

theme_path = "/usr/share/awesome/themes/default/theme.lua"
theme = dofile(theme_path)
a=io.popen("uname -n");
io.input(a)
 
if io.read() == "laptop" then
theme.wallpaper_cmd = { "awsetbg /home/user/real_1280x800.jpg" }
else
theme.wallpaper_cmd = { "awsetbg /home/user/real_1920x1280.jpg" }
end
 
return theme

Voila – es wird immer das korrekt dimensionierte Wallpaper geladen.

Linux Kernel Regression mit git finden

Falls man nach einem Kernel Upgrade plötzlich Probleme bekommt und googlen nicht mehr hilft, muss man ggfs. selbst herausfinden, warum nun etwas nicht mehr funktioniert. Herzlichen Glückwunsch: eine typische Kernel Regression. Zuerst laden wir einmal die neuste Kernelversion aus dem git Repository von kernel.org ins passende Verzeichnis:

cd /usr/src
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6

Zeit für einen Kaffee! Nachdem wir die etwa 600MB runtergeladen haben, sagen wir git nun, dass wir einen Fehler “bisect”-en wollen. Hierbei wird eine Binäre Suche durchgeführt, denn mehrere hundert bis tausend Kernel-Commits wollen effizient ausgetestet werden. Dafür sagt man dem Kernel, welche Version noch gut war und welche schlecht:

git bisect start
git bisect good v2.6.36
git bisect bad v2.6.37

Continue reading