Doom Ghettoblaster

26. Februar 2008 – 23:12

Ich dachte ich kenne bereits alle Waffen in Doom. Aber anscheinend musste ich mich heute eines besseren belehren lassen.


nerviger “Speichern unter” Dialog bei Firefox

25. Februar 2008 – 16:49

Eine Thema, das mich schon länger aufgeregt hat, war dieser nervige “Speichern unter” Dialog von Firefox unter Linux. Dieser wollte einfach nicht seine Fenstergrösse beibehalten. Eine Manipulation der Datei .config/gtk-2.0/gtkfilechooser brachte ebenfalls keinen Erfolg. Bei jedem Speichern musste ich das Fenster wieder manuell gross ziehen. Jetzt bin ich auch eine Lösung gestossen. Einfach die Einstellung
ui.allow_platform_file_picker
auf False im Firefox setzen und es wird der Firefox interne Speichern Dialog benutzt. Zu den Einstellungen kommt Ihr, indem Ihr in die Adressezeile des Feuerfuchses folgendes eingebt.
about:config


Installationsdatum eines Linuxsystems

16. Januar 2008 – 17:24

Heute suchte ich nach einem Weg, das Installationsdatum meines Notebooks festzustellen.
Ich hab viel gesucht und die beste Lösung die ich gefunden hab, scheint das Erstellungsdatum der Root Partition zu sein.

tune2fs -l $dev | grep -i created


Bigbrother

13. Januar 2008 – 01:27

Die Vorratsdatenspeicherung ist ja zur Zeit in aller Munde. Heute bin ich auf ein Video gestossen, dass die Big Brother Szenario aufgreift. Das Video ist vielleicht ganz interessant für Leute dich nicht so informiert in dem Bereich sind.


Regex für Dummies

21. November 2007 – 10:24

Heute bin ich nach einer Empfehlung gefragt worden um regex zu lernen. Mit ist natürlich gleich der Link zu http://www.linux-services.org/selflinux/html/regex.html eingefallen. Ich finde dort werden die Grundlagen, für ein Thema das den meistens schwer fällt, wirklich gut erklärt. Für alle, für die regex nicht anderes als eine Ansammlung von komischen Zeichen ist, ist es auf jeden Fall einen Blick wert.


Neuen google Ableger entdeckt.

19. November 2007 – 23:39

Google Windows Serialz

http://g00gl3.com/

Google Windows Serialz


Ding

19. November 2007 – 18:57

Gestern hab ich durch Zufall ein gutes Wörterbuch Programm names “Ding” gefunden.

Was “ding” meiner Meinung nach wirklich gut macht ist, dass das Programm auf die Zwischenablage zugreifen kann. Einfach ein Wort in einem beliebigen Programm markieren und ding mit folgenden Parametern starten.

ding -x -R

Um Zeit zu sparen, hab ich mir ding gleich in meiner .fluxbox/keys auf eine Tastenkombination gebindet.


centericq thinklight notification

15. November 2007 – 17:00

WindowsIn den letzten Tagen hab ich mein centericq wieder ein bisschen verbessert. Dadurch, dass ich auf bis zu 7 Workspaces arbeite und nebenbei fast immer Mucke höre, passiert es mir des öfteren, dass ich einfach eine neue Nachricht nicht bemerke. Jetzt ist mir eine Idee durch den Kopf geschossen. Mein Notebook hat am oberen Bildschirmrand eine LED Lampe mit der man die Tastatur in der Nacht beleuchten kann. Die Lampe sollte mir nun den Nachrichteneingang durch ein Blinken signalisieren. Die Lampe kann über /proc/acpi/ibm/light angesprochen werden. Ein

echo on >/proc/acpi/ibm/light

schaltet die Lampe ein und

echo off >/proc/acpi/ibm/light

schaltet die Lampe wieder aus. Da ich aber noch im Hinterkopf hatte schon mal ein Script zu diesem Thema gefunden zu haben begab ich mich in das Archiv meine Lesezeichen und wurde auch fündig.

Hier das Script zum Ansteuern des Thinklights
http://www.bundesdatenministerium.de/download/scripts/thinklight.c.html

Schnell ein Binary daraus machen.

gcc -o thinklight thinklight.c

Soweit so gut. Das Problem lag jetzt daran, dass das Script z.B. nur einmal ein Blinken hervorruft. Jedoch wollte ich das Blinken solange bis ich entweder eine Taste berührte oder die Maus bewegte. Also ging es wieder zurück nach /proc. Es dauert nicht lang und ich fand auch schon wonach ich suchte, die Interrupts (/proc/interrupts). Also schnell ein cat /proc/interrupts und die Ausgabe schaute folgendermaßen aus:


>/home/schermfl cat /proc/interrupts
CPU0
0: 149752597 XT-PIC-XT timer
1: 454794 XT-PIC-XT i8042
2: 0 XT-PIC-XT cascade
9: 1543361 XT-PIC-XT acpi
11: 186510223 XT-PIC-XT ehci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4, Intel 82801DB-ICH4, yenta, yenta, wifi0, fglrx, eth0
12: 22504335 XT-PIC-XT i8042
14: 2754153 XT-PIC-XT ide0
15: 14321 XT-PIC-XT ide1
NMI: 0
ERR: 0

Nach ein bisschen Recherche im Netz und herumprobieren (watch “cat /proc/interrupts”) fand ich heraus das 1: die Tastatur und 12: die Maus war.

Jetzt schrieb ich mir ein Script, dass solange eine bestimmte Tätigkeit ausführte, bis entweder eine Taste gedrückt oder die Maus bewegt wurde.


#! /bin/bash
interrupts=( $(sed -n 's/^[[:space:]]*12\?:[[:space:]]\+\([[:digit:]]\+\).*/\1/p' /proc/interrupts) )
while true
do
newints=( $(sed -n 's/^[[:space:]]*12\?:[[:space:]]\+\([[:digit:]]\+\).*/\1/p' /proc/interrupts) )
if(( ${newints[0]} > ${interrupts[0]} )); then
echo "Keyboard Alert!"
interrupts[0]=${newints[0]}
fi
if(( ${newints[1]} > ${interrupts[1]} )); then
echo "Mouse Alert!"
interrupts[1]=${newints[1]}
fi
sleep 2;
done

Das Script brachte mich nun meinem Ziel einen entscheidenden Schritt weiter.
Nun modifizierte ich den vorhandene Code noch ein bisschen und schon kam die erste funktionsfähige Version raus.


#! /bin/bash
interrupts=( $(sed -n 's/^[[:space:]]*12\?:[[:space:]]\+\([[:digit:]]\+\).*/\1/p' /proc/interrupts) )
while true
do
newints=( $(sed -n 's/^[[:space:]]*12\?:[[:space:]]\+\([[:digit:]]\+\).*/\1/p' /proc/interrupts) )
./thinkalert 1 10000
if(( ${newints[0]} > ${interrupts[0]} )); then
exit 0;
fi
if(( ${newints[1]} > ${interrupts[1]} )); then
exit 0;
fi
sleep 2;
done

Das Script funktionierte einwandfrei, doch nach kurzer Zeit stellte ich fest, dass ich einen Fehler gemacht hatte. Jedesmal wenn mehrere Nachrichten eintrudelten, wurden auch mehrere Blinkevents ausgelöst und aus meinem Thinklight wurde ein Discolight. Die Problemlösung war recht einfach und ging auch schnell.


#! /bin/bash
status=$(cat ~/.thinkalert)
interrupts=( $(sed -n 's/^[[:space:]]*12\?:[[:space:]]\+\([[:digit:]]\+\).*/\1/p' /proc/interrupts) )
if [ "$status" = "off" ];
then
echo on > ~/.thinkalert
while true
do
newints=( $(sed -n 's/^[[:space:]]*12\?:[[:space:]]\+\([[:digit:]]\+\).*/\1/p' /proc/interrupts) )
./thinkalert 1 10000
if(( ${newints[0]} > ${interrupts[0]} )); then
echo off > ~/.thinkalert
exit 0;
fi
if(( ${newints[1]} > ${interrupts[1]} )); then
echo off > ~/.thinkalert
exit 0;
fi
sleep 2;
done
else
exit 0;
fi

Wie ihr das Event bei centericq oder inzwischen centerim auslöst will ich euch nicht vorenthalten.

Einfach in die Datei .centericq/external folgendes eintragen:


%action thinklight notification
event msg
proto all
status all
options nowait
%exec
#!/bin/bash
/pfad/zum/script/script_binary


Thunderbird öffnet keine Links

5. November 2007 – 23:04

Wenn Thunderbird in Emails enthaltene Links nicht öffnet, helfen 3 kleine zeilen in der ~/.thunderbird/profile/prefs.js

user_pref("network.protocol-handler.app.ftp", "/usr/bin/firefox");
user_pref("network.protocol-handler.app.http", "/usr/bin/firefox");
user_pref("network.protocol-handler.app.https", "/usr/bin/firefox");


sed entfernt Kommentare aus Textdateien

11. Oktober 2007 – 14:45

Kurztip zum Entfernen von Kommentaren aus Textdateien mit Hilfe von sed

sed -e '/^#| *#/d' /path/to/config