Mai 2006 Archives

Fr Mai 19 11:45:59 CEST 2006

Zsh und richtige man menus :)

Heute kam auf der zsh-users eine gepatchte Version für die man Completion, die es einem erlaubt das die Sektion bei der Tab Completion mit übernommen wird. Hier mal kurz eine Anleitung
Wer schon immer mal ein funktionierendes man Menu bei der Zsh haben wollte, hier die ultimative Anleitung (aber zuerst ein paar Bilder ;)
Kill menu #1 Kill menu #2
So, jetzt aber genug bunt und wild usw. ;). Jetzt hier die versprochene Anleitung:
  • Erzeugt ein Verzeichniss wo ihr die neue Completion Funktion abspeichern konnt, z.Bsp. ~/.zsh/fpath
  • Schreibt in eure .zshenv (wenn sie nicht existiert anlegen)
    export FPATH=~/.zsh/fpath/:$FPATH
    
  • Holt euch von http://spamt.net/_man die Erweiterung und legt sie in dem Verzeichniss von vorher ab
  • Schreibt folgendes in euer Startup file, bzw. gebt es einfach mal ein und schaut an, wie es sich verhält:
    zstyle ':completion:*:manuals' separate-sections true
    zstyle ':completion:*:man:*' menu yes select
    zstyle ':completion:*:manuals*' insert-sections true
    zstyle ':completion:*' group-name ''
    zstyle ':completion:*' verbose yes
    zstyle ':completion:*:descriptions' format $'%{\e[0;31m%}completing %B%d%b%{\e[0m%}'
    
So, das wars. Jetzt solltet ihr ein wunderschones, funktionierendes man Menu haben. Ihr konnt mir gerne einen dafür ausgeben ;)

Posted by Ulrich Dangel | Permanent Link | Categories: Shell stuff

Di Mai 16 17:50:57 CEST 2006

Eastereggs bei Debian...

... Wer kennt nicht das berühmte
$ apt-get moo
Wer schon mal aptitude eingesetzt hat und sich gefragt hat, was "This aptitude does not have Super Cow Powers." bei aptitude --help ist, hier mal eine Hilfestellung:
$ aptitude moo
$ aptitude -v moo
....
Viel spass beim ausprobieren.

Posted by Ulrich Dangel | Permanent Link | Categories: Stuff

Do Mai 11 20:13:02 CEST 2006

Umgebungsvariablen bearbeiten

Wer kurz irgendeine Umgebungsvariable seiner Wahl bearbeiten mochte, sollte sich mal vared anschauen. Damit kann man ganz einfach und kurz irgendeine Umgebungsvariable bearbeiten.
Bsp.:
$ vared PATH
/root/bin:/usr/local/bin:/opt/eclipse:/opt/java/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11
Ist imo relativ nützlich, auch wenn man es nicht unbedingt vermisst hätte :) HTH

Posted by Ulrich Dangel | Permanent Link | Categories: Shell stuff

Mi Mai 10 18:52:43 CEST 2006

Jetzt ist es soweit, ein neuer ...

... Jabber Server erblickt die Welt, jabber.ulm.ccc.de
Weitere Informationen gibt es direkt auf jabber.ulm.ccc.de

Posted by Ulrich Dangel | Permanent Link

Mi Mai 10 17:10:40 CEST 2006

Speedport w501v notification :)

Nachdem ich letztens meinen Speedport W500V in einen W501V tauschen lies (einfach 0800 - 3300200 anrufen und von Problemen bei VOIP und Wlan berichten) habe ich mich mal ein bischen näher mit der FritzBox beschäftigt und herausgefunden wie ich mich benarichtigen lassen kann wenn ein Anruf eingeht :)
Es ist für den faulen Informatiker halt schon praktisch zu wissen wer anruft, ohne extra an s Telefon zu springen, deswegen hier mal kurz eine Anleitung.
Was braucht man?
  • Eine Fritzbox/Speedport W501V
  • Ein Adressbuch
Gehen wir das ganze mal durch.
Das Adressbuch erzeuge ich indem ich das Adressbuch meines Nokia Handys per Bluetooth übertrage und abspeicher. Dies erledige ich mit folgendem kleinen Script:
#/bin/sh
ADDRESSBOOK=~/doc/addressbook
gnokii --getphonebook ME 1 end -r | sed -e "s/\+49/0/" | awk -F";" '{print $2":"$1}' >
$ADDRESSBOOK
Falls man das ganze per Hand machen will, das Format ist einfach Telefon Nr:Name
Das gnokii weiss woher es das Adressbuch holen soll, braucht man noch eine Konfigurationsdatei für sein Handy. Bei mir sieht ~/.gnokiirc wie folgt für ein Nokia 6230i über Bluetooth aus:
[global]
port = 00:13:FD:99:C1:0b
model = 6230
connection = bluetooth
rfcomm_channel = 1
Jetzt muss man noch den Anrufmonitor der Fritzbox aktivieren, dazu genügt es #96*5* zu wählen.
Jetzt noch einfach folgendes Script starten und sich über Meldungen freuen :)
#!/usr/bin/perl -w
#
# read_calls.pl
# 
# Synopsis:
# Script is run as a service daemon. It connects to the Fritz!Box Fon Ata
# (port 1012) and receives the calling string (number of the party calling 
# in). This number is passed on to another program. I.e. this could be an 
# Jabber client or a "look who called list".
# 
# Requirements:
# - must be able to reach tcp port 1012 on your FB
# - activate call monitor on FB by dialing #96*5*
# - required perl package
#
# Licence: GPL2
#
# History:
# ver. 0.1 - 20060401 - Lars G. Sander, Zuerich
# First public release.
# ver. 0.2 - 20060510 - Ulrich Dangel <fritzbox@spamt.net>
# Added telefon book support
# To Do:
# - beefed up security?
# - proxy functionality
# - additionally monitor calls OUT
use IO::Socket;
use strict;

# your fritz box (ip or hostname)
my $FRITZBOX="fritz.box";
my $TELEFONBUCH="$ENV{HOME}/doc/addressbook";
my $EXTPRO="/usr/bin/X11/xmessage";
#-------- NO USER SERVICABLE PARTS BELOW -------#


sub read_book {
    my %book = ();
    open(IN, "<", $TELEFONBUCH) || return ();
    while(<IN>){
        chomp;
        my @elements = split(":",$_);
        $book{$elements[0]}=$elements[1];
    }
    close(IN);
    return %book;
}


my %book = &read_book;

my $sock = new IO::Socket::INET (
        PeerAddr => $FRITZBOX,
        PeerPort => '1012',
        Proto => 'tcp'
        );
        die "Could not create socket: $!\n" unless $sock;
    
while(<$sock>) {
        if ($_ =~ /RING/){
                my @C = split(/;/);
                my $nr="";
                if (exists($book{$C[3]})) {
                    $nr=$book{$C[3]};
                } else {
                    $nr=$C[3];
                }
                my @args = ($EXTPRO, "Anruf: ", $nr);
                system(@args); 
        }
}
Ich hoffe das hilft irgendjemanden :) Uli

Posted by Ulrich Dangel | Permanent Link | Categories: Stuff

Mo Mai 8 18:04:11 CEST 2006

Eine nette Firefox Extension für alle die eine Fritzbox haben

Wer, so wie ich, faul ist und sich selbst schon überlegt ob man die Nr. abtipperei vom Computer ins Telefon nicht irgendwie sparen kann ist hier richtig.
Diese Extension für Firefox und Thunderbird erlaubt es, eine Tel. Nr. zu markieren und anzuwählen, so dass dann das Telefon klingelt. Cool, isnt it? :)
Was man dazu alles braucht:
  • Eine Fritzbox, oder eine Fritzbox OEM Version wie z.bsp. das Speedport W501V
  • Ein Telefon
  • Eine Telefonnr. die man Anrufen will. Es bietet sich zum testen z.bsp. irgendwelche kostenfreien Hotlines an, von Arcor z.bsp. wo man sowieso über eine 3/4h in der Warteschlange verbringt.
  • Firefox und die Extension.
Imo eine ziemlich coole Extension, und es zeigt das die AVM Geräte gut durchdacht sind, auch wenn die nat Implementation scheisse ist.

Posted by Ulrich Dangel | Permanent Link | Categories: Stuff

Mo Mai 8 17:50:28 CEST 2006

Ein neues Zeitalter für $EDITOR wars ist angebrochen...

... denn Vim 7.0 wurde jetzt offiziell released.
Also lasst die Leitung glühen, und fangt brav an zu compilieren. Hier kann man sich vim 7 downloaden

Posted by Ulrich Dangel | Permanent Link | Categories: Stuff

Fr Mai 5 11:45:13 CEST 2006

Spread software ;)

Nachdem ich in meinem Bekanntenkreis schon relativ viele von der zsh überzeugt habe, ist meine nächste Mission die Leute zum bloggen bewegen, natürlich mit nanoblogger. Also, fangt an zu bloggen, werft euer S9Y, wordpress oder wie sie auch immer heissen weg, und nehmt nb :)
Den ersten habe ich schon überzeugt, hier ist fires blog
Achja wenn ihr das schon getan habt, konnt ihr gleich noch mysql, php und den ganzen Gruschd (Blodsinn) mit entfernen.
Und da ich nicht so bin, helfe ich euch mal dabei:
$ apt-get --purge remove wordpress mysql php4 php5
$ apt-get install nanoblogger
HTH und noch viel spass :)

Posted by Ulrich Dangel | Permanent Link | Categories: Stuff

Do Mai 4 15:19:13 CEST 2006

Urls in der zsh

Wer ofters mit wget Dateien runterlädt oder ofters mit lynx rumsurft, oder sonst irgendwie mit URLs auf der Komandozeile umgeht, hat sich sicherlich des ofteren darüber aufgeregt, das man die URL entweder quoten muss oder die Sonderzeichen escapen.
Es wäre doch praktisch wenn die Shell einem diese Aufgabe abnimmt, denn warum sollte ich das machen, da solche URLs i.a. immer gleich aufgebaut sind. Jetzt fragt ihr euch sicher, gibts da was?
Ja, da gibts was, und zwar von Ratioph^wder zsh.
Einfach
autoload -U url-quote-magic
zle -N self-insert url-quote-magic
ausführen und dann mal testen.
Dann wird aus
$ http://www.google.de/search?q=bumens+dingens&btnG=Suche&hl=de
$ http://www.google.de/search\?q\=bumens+dingens\&btnG\=Suche\&hl\=de
Ohne das man was dafür tun muss. Ziemlich cool. Je länger ich die zsh verwende um so mehr weiss ich warum ich sie gewählt habe, das rockt :-) Also, nicht länger zogern, sondern die zsh verwenden.

Posted by Ulrich Dangel | Permanent Link | Categories: Shell stuff

Do Mai 4 11:35:43 CEST 2006

zsh Bindings

Wer schon ofters mal kurz was gescriptet hat, einen längeren Befehl eingegeben hat, und sich dann gedacht hat, he, wenn ich das ganze kurz in einem Editor ändern konnte (search&replace) oder ähnliches, ist bei der ZSH gut aufgehoben, denn die kann genau das.
autoload      edit-command-line
zle -N        edit-command-line
bindkey '\ee' edit-command-line
Wenn man nun Alt+e drückt, geht der Editor auf und mann kann die Kommandozeile Problemlos editieren, speichern und sie wird dann übernommen.
Man kann über die Umgebungsvariable VISUAL bestimmen welcher Editor genommen wird.
Wieder mal ein cooles Feature was ich so noch nirgends gesehen habe, ich lasse mich aber gerne belehren, einfach mailen oder anjabber ( schula@jabber.ccc.de )

Posted by Ulrich Dangel | Permanent Link | Categories: Shell stuff