Über Linux

Persönlich

Linux ist das Betreibssystem, mit dem man wirklich fast alles machen kann, man ist keinen blöden Restrikitionen unterworfen, kann es wenn man will erweitern, umschreiben und dergleichen mehr. Ausserdem ist die Idee die hinter freier Software steckt eine sehr schöne.

Vorurteil Nummer eins: Linux ist doch viel zu kompliziert

Naja kommt darauf an wie man kompliziert definiert. Also die Installation von SuSE 8.0 ist einfacher als die von Windows, und das ist kein Witz. Alle PCI Karten werden erkannt und eingerichtet, mit ISA Trümmern ist das eine Spur schwerer aber auch recht einfach.
Und dass das Handling ein wenig anders ist als im Windows, ja, aber komplizierter nein.
Ich finde es ja bemerkenswert, dass es jeder erlenrt hat Windows herunterzufahren, ich persönlich käme nie auf die Idee auf START zu drücken um ein Programm zu beenden
Darüber schimpft ja auch niemand, und das ist ja wohl wirklich verwirrend, oder ?

Please notice this strange release dates...25. every 3 month




Debian packages for musepack codec (mpc) (15.10.2004)

2 Packages, the library and the xmms-plugin. The don't have any dependencies, so don't wonder if you have to manually install other packages (xmms, glib, gtk) but I believe that xmms should be enough! I'll perhaps upstream them one day... libmusepack_1.0.1-1_i386.deb
xmms-musepack_1.1-alpha8_i386.deb
Usage: Download the 2 files and as root type:
dpkg -i libmusepack_1.0.1-1_i386.deb
dpkg -i xmms-musepack_1.1-alpha8_i386.deb

Software for the Samsung SGH-V200 "Matrix" mobile (25.08.2003)

Hey, here is a software able to download the photos you made with your handy via serial data cable It's a quick and dirty hack but I put it online, perhaps somebody wants to implement the missing features (I will definitly not), for the hackers all information is in the samsung.c file.
Usage: to get the number of photos available type "samsung /dev/ttyS0 list" or the ttyS where you connected your handy to

to download a photo type "samsung /dev/ttyS0 get #" where # is the number of the photo you want

In good unix manner you can also use it from your programms, it returns EXIT_FAILURE if anything failes, the list command returns the number of photos the get # command saves the photo creating a filename out of timestamp and name of the photo, the only thing written to stdout is the name of the file, all other output goes to stderr


Get the source, use the force samsung-0.1.tar.gz
This version introduces a tcl/tk GUI samsung-0.2.tar.gz
But there is also a statically linked binary samsung-0.1.x86.static
Feedback welcome! Have Fun!
Changelog for version 0.2
Added a tcl/tk GUI and some minor changes




Lexmark 2050 Driver (25.05.2003)

Here is a driver for the Lexmark c2050 printer originally written by Marco Nenciarini. I just added the -mono flag which converts a colorprint to a blackprint using the black ink and not mixing black with CYM.
Download: c2050-0.4.tar.bz2




CD ripping unter Linux (25.02.2003)

Na dann schauen wir uns doch mal so ein furchtbar kompliziertes LinuxSystem mal genauer an, am allseits beliebten Beipsiel des Audio CD rippens

Voraussetzungen

linux kernel 2.4.x
cdrom laufwerk als emuliertes scsi Laufwerk eingebunden
cdrtools packet installiert
ogg-vorbis lib/tools/utils installiert

Da hier nicht ganz triviale Dinge gefordert sind gehen wir sie kurz durch

Linux Kernel 2.4.x mit CDROM als SCSI-Emulation eingebunden

Da jede aktuelle Distribution auf 2.4.x basiert dürfte schon ein solcher kernel installiert sein, gewissheit bring ein

uname -r
in der kommandozeile. Die SCSI Emulation ist schon weniger trivial, aber so geht es:
1. wie heisst die Gerätedatei deines CDROM Laufwerks, Klarheit bringt:
ls -l /dev/cdrom
Sollte das nicht funktionieren: Das Master des Primären IDE Kanals heisst /dev/hda der Slave /dev/hdb Master des Sekundären IDE Kanals heisst /dev/hdc und Slave (ist es schon klar?) /dev/hdd

2.Solltest du bei 1. gescheitert sein, wäre es vernünftig wieder ein windows zu installieren, oder den Computer zurückzugeben, ich gehe davon aus, dass alles geklappt hat, dann musst du deinem kernel jetzt beim booten sagen dass das cdrom gerät nicht von den IDE Treibern sondern von den SCSI Treiber verwendet werden soll. Dazu fügst du den Bootparameter hdX=ide-scsi hinzu, wofür X steht sollte klar sein.
z.B.: in /etc/lilo.conf append="hdc=ide-scsi" zu deinem bootimage, danach nicht vergessen lilo aufzurufen
wenn Du grub verwendest in /boot/grub/grub.conf z.B.: kernel /boot/vmlinuz hdc=ide-scsi

3.Neustart des Rechners vornehmen, einer der wenigen Anlässe eine Linuxbox neuzustarten

4.Kontrolle: ein
cat /proc/ide/hdX/driver
(X ist klar) sollte nun etwas von ide-scsi faseln
Sollte hier none stehen, dann musst Du noch das ide-scsi via
modprove ide-scsi
nachladen, du musst dazu root sein (eh klar) und solltest diesen Vorgang automatisieren, so wie deine distribution das halt haben will

5.Das war's jetzt ist alles vorbereitet, es kann losgehen

Auf zum lustigen rippen

Das wichtigste tool dazu heisst cdda2wav und ist im cdrtools paket enthalten, deine Distribtion bringt das mit, sonst gibt es mehr infos dazu unter Jörg Schillings Seite Ob es schon auf der Platte verweilt findest Du am besten mit einem

which cdda2wav
heraus, ich verwende hier die version version 2.0_linux_2.4.20-gentoo-r1_i686_amd-athlon-tm--xp-2100+, also 2.0

cdda2wav bedienen

cdda2wav hat viele Parameter, hier soll nur interessieren wie ich eine komplette CD rippen kann, kurz und bündig:

cdda2wav -L1 -B
führt zum Ziel. -L1 aktiviert dabei deine CDDB Abfrage, es entstehen dadurch so nützliche .inf Dateien die den Namen der CD, Titel des Albums und Track Titel enthalten, die werden wir später noch venötigen, eine INternetanbindung ist Voraussetzung um -L1 zu verwenden, die Datenbankabfrage finden auf www.freedb.org statt. -B rippt die ganze D und nicht nur den 1.Track.
So gerippte CD's können übrigens mit cdrecord (ist im cdrtools paket dabei) ganz leicht wieder auf eine CD gebannt werden, darum gehts hier aber nicht, selber die man lesen ;)

Das gesammte Vorgehen also: Verzeichnis anlegen und cdda2wav -L1 -B aufrufen, warten, fertig

Gerippt, was nun

Ja, was nun, oder warum noch mehr? Ein

du -h
in eben genannten Verzeichnis bringt schreckliches zu Tage, fast 600MB Plattenplatz werden da verschlugen, kein Wunder wie cdda2wav ja vermuten lässt legt dieses Tool unkomprimierte wav Dateien an. Die sollte nun schleunigst komprimiert werden, wenn die jetzt mp3 einfätt schlag es die aus dem Kopf es gibt besseres

OGG Vorbis

Schon mal gehört? Xiph.org stellt frei im doppelten Sinne des Wortes Codecs für Audio und Video Dateien zur Verfügung. Ogg/Vorbis bzw. Ogg/Theora. Die Ogg/Vorbis Dateien sind als Ersatz für mp3 gedacht, sie erzeugen kleinere Dateien die qualitativ besseren sound liefern. Sie sind noch dazu unter einer public domain license, also komplett frei für komerzielle und private Anwendungen zu haben.

Deine Distribution stellt dir diese Pakete ganz sicher zur Verfügung, sonst oben downloaden, wir brauchen jetzt folgendes Tool oggenc, den Ogg/Vorbis Encoder

oggenc -a Gruppe -t Tracktitel -l Albumtitel -q Qualität -o Ausgabedatei Eingabedatei
führt zum Ziel. Wobei -a, -t, -l, -q und -o nicht angegeben werden müssen. Da wir ja mit Hilfe der CDDB Datenbank gerippt haben wäre es ja Schade diese ganzen tollen Informationen einfach ungenutz zu lassen und nur Dateien mit dem Namen audio_01.ogg zu erzeugen. Darum hab ich ein kleines Shellscript geschrieben, das einem diese Arbeit abnimmt und ganz einfach zu bedienen ist:
ogg_convert /verzeichnis/mit/wav/und/inf/dateien qualität_der_oggs
die fertigen Ogg Datein landen in dem Verzeichnis in dem man gerade ist. Das Script findet ihr weiter unten zum download.
Welche Qualität soll ich verwenden? Selber probieren, wie es einem gefällt, Standard ist 3 der Wertebereich geht von -1 (schlecht) bis 10 (sehr gut), allerdings wachsen halt auch die Dateigrössen und die Dauer des encodens.

Player die Ogg/Vorbis unterstüzen

xmms
mplayer
KDE Player
winAMP
and many others

Im Zweifelsfalle einfach im Internet danach suchen, da es für den Hersteller keine Kosten verursacht dieses Format zu unterstüzen werden es wohl auch alle tun.

Das Script ogg_convert

Zsätzlich erzeugt es noch für jede grippte CD eine .m3u Datei welche eine Playliste der CD darstellt. Verwendbar unter XMMS womöglich auch unter winAMP, aber winAMP mangels windows nicht getestet.

#!/bin/sh
#
#	version 0.1 copyright by Roland Lezuo 2003, under the terms of the GPL
#
#	please email changes to roland.lezuo@chello.at
#
#	This script converts cdda2wav ripped music cd's
#	to ogg files, uses audio_xx.inf files to name files
#	correctly
#

#
#	Check wheter first parameter is a directory 
#

if (! test -d $1) || (test -z $1); then
	echo "Usage: $0 directory quality" 1>&2
	exit 1
fi

#
#	Wheter second paramater is given an spefifies a quality setting
#
if test -z $2; then
	echo "Usage: $0 directory quality" 1>&2
	exit 1
fi
if (! test $2 -ge -1) || (! test $2 -le 10); then
	echo "Qualitity must be -1 to 10" 1>&2
	exit 1
fi

#
#	Get all wav files an check wheter there is a corresponding .inf file
#

for i in `ls ${1}/*.wav`; do
	i=`basename $i | cut -d"." -f1`
	if ! test -f $1/$i.inf; then
		echo "Missing file $1/$i.inf, aborting" 1>&2
		exit 1
	fi
	#
	#if the .inf file well formed?
	#
	if ! test `grep -c Albumperformer $1/$i.inf` = 1; then
		echo "no or more 'Albumperformer' in $1/$i.inf" 1>&2
		exit 1
	else	
		albperf=`grep Albumperformer $1/$i.inf`
	fi
	if ! test `grep -c Albumtitle $1/$i.inf` = 1; then
		echo "no or more 'Albumtitle' in $1/$i.inf" 1>&2
		exit 1
	else	
		albtit=`grep Albumtitle $1/$i.inf`
	fi
	if ! test `grep -c Tracktitle $1/$i.inf` = 1; then
		echo "no or more 'Tracktitle' in $1/$i.inf" 1>&2
		exit 1
	else	
		tracktit=`grep Tracktitle $1/$i.inf`
	fi

	#
	#	process the string we got so far
	#
	albperf=`echo $albperf | cut -d"'" -f2 | sed -ey/\ /_/ | sed -ey/\\\\//_/`
	albtit=`echo $albtit | cut -d"'" -f2 | sed -ey/\ /_/ | sed -ey/\\\\//_/`
	tracktit=`echo $tracktit | cut -d"'" -f2 | sed -ey/\ /_/ | sed -ey/\\\\//_/`
	
	#
	#	finally convert to ogg
	#
	oggenc -a $albperf -t $tracktit -l $albtit -q $2 -o $albperf-$albtit-$tracktit.ogg $1/$i.wav;
	
	#
	#	and create a properly named .m3u file for use with xmms
	#
	
	if ! test -f $albperf-$albtit.m3u; then
		touch $albperf-$albtit.m3u
		echo "#EXTM3U" >> $albperf-$albtit.m3u
	fi

	echo "$albperf-$albtit-$tracktit.ogg" >> $albperf-$albtit.m3u

done	

exit 0

Download Nicht vergessen es nach dem download via

chmod 755
ausführbar zu machen.

Viel Spass!

omniORB.m4 Macro for use with autoconf/automake

omniorb4.m4 feedback an corrections welcome