it's turtles all the way down
Open Source & Co
Images erstellen mit ddrescue
05. Jul
Einige Klassiker und ihre Schwächen
Nicht regelmäßig aber doch immer mal wieder ist man in der unschönen Situation, eine defekte CD, DVD oder gar Festplatte kopieren zu müssen. Wenn man ein Image des ganzen Mediums anlegen möchte, gibt es zunächst einmal das Tool dd. Von der Sicherung defekter Medien mit dd ist allerdings abzuraten: Zum einen ist dd nur sinnvoll zu verwenden, wenn verschiedene Parameter richtig gesetzt werden – ansonsten bricht dd beim ersten Fehler ab oder schreibt unbrauchbare Images. Zum anderen bietet dd aber schlicht einige Features nicht, die man bei der Datenrettung haben möchte: So lässt sich zwar angeben, wie viele Bytes jeweils in einem Rutsch gelesen werden sollen – wenn die Quelle aber defekte Sektoren hat, wird man diese Zahl eher gering ansetzen wollen. Dies führt aber dazu, dass der Auslesevorgang unnötig verlangsamt wird. Setzt man die Anzahl der gelesenen Bytes aber zu hoch, wird im Falle eines Lesefehlers auch gleiche diese (hohe) Anzahl an Bytes als defekt behandelt – es werden somit weniger Daten gerettet als möglich wäre. dd kann also nur schnell oder langsam – eine Unterscheidung zwischen defekten und lesbaren Sektoren gibt es nicht (ich bitte im Zweifelsfall um Verbesserung).
Eine Lösung ist das Programm dd_rescue (der Name des Paketes in den Paketquellen lautet ddrescue). Dieses Programm kopiert ein Medium, indem es zunächst große Blöcke einliest und kopiert – das ist schnell. Tritt nun ein Fehler auf, fällt dd_rescue in den Fehler-Modus zurück, in welchem lediglich kleine Blöcke gelesen werden – das ist langsamer, stellt aber sicher, dass nicht unnötig Daten als “defekt” verworfen werden. Treten über längere Zeit keine Fehler mehr auf, setzt dd_rescue die Blockgröße wieder hoch und beschleunigt somit die Datenrettung erneut. Damit eignet sich dd_rescue schon deutlich besser zur Rettung defekter Medien, ist aber – für sich genommen – noch nicht ganz optimal: Stellt man sich vor, dass eine Festplatte in der Mitte eine große Anzahl defekter Sektoren enthält, wird dd_rescue zunächst die lesbaren Daten am Anfang der Platte kopieren und dann viel Zeit dafür aufwenden, die defekten Sektoren in der Mitte im langsamen Fehler-Modus zu kopieren. Erst danach werden die lesbaren Daten am Ende der Platte kopiert. Es wird also viel Zeit dafür aufgewendet, möglicherweise ohnehin nicht mehr verwertbare Daten aus defekten Sektoren zu kopieren. Auf Grund der mechanischen Beanspruchung wird die Platte aber vielleicht schon beim aufwändigen und kleinteiligen Kopieren der defekten Sektoren endgültig das Zeitliche segnen. Die lesbaren Daten am Ende einer defekten Platte werden so unnötig gefährdet. Diese konzeptionelle Schwäche können erfahrene Nutzer eventuell umgehen, indem sie dd_rescue händisch mehrere Male laufen lassen und jeweils unterschiedliche Start-Positionen angeben oder die Rettung u.a. rückwärts laufen lassen. Auch zusätzliche Skripte wie dd_rhelp könnten das Verhalten von dd_rescue in dieser Hinsicht optimieren. Selbst der Autor von dd_rhelp empfiehlt aber inzwischen ein anderes Tool:
Antonio Diaz’ Programm ddrescue (ohne Unterstrich) aus dem Paket gddrescue ist eigentlich nichts anderes als eine konsequente Neukonzeption von dd_rescue, die die Funktionalität bietet, die dd_rescue nur in Ergänzung mit dem Skript dd_rhelp hatte: ddrescue liest zunächst das defekte Medium in großen Blöcken aus und schreibt die ausgelesenen Daten in das angegebene Ziel. Anders als dd_rescue liest ddrescue aber zunächst schnell über die defekten Sektoren hinweg und notiert das in einer Logdatei. Erst nachdem das ganze Medium so durchlaufen wurde, schaut sich ddrescue die defekten Sektoren erneut an: Es unterteilt die großen defekten Bereiche in mehrere kleine Bereiche und versucht dann diese kleinen “Häppchen” zu kopieren.
Durch dieses Vorgehen verwendet ddrescue zunächst seine Zeit darauf, die noch vorhandenen und lesbaren Daten eines Mediums zu retten. Erst am Ende dieses Vorgangs schaut sich ddrescue die womöglich ohnehin nicht mehr zu rettenden Daten an. Dieses Vorgehen kann gerade beim Kopieren defekter Festplatten ein enormer Vorteil sein: Jede Lesevorgang beansprucht die Mechanik zusätzlich und vermindert die Chance, wirklich die gesamte Festplatte auslesen zu können. Daher bietet es sich an, statt lange über defekte Sektoren zu rödeln zunächst die lesbaren Daten zu kopieren!
ddrescue hat aber noch andere Vorteile: Durch die Log-Datei kann eine Rettung jeder Zeit einfach abgebrochen und später fortgesetzt werden. Richtig genial (wenn auch sicher eher selten benötigt) ist dabei der Umstand, dass ddrescue auch ein funktionsfähiges Images aus mehreren defekten Datenträgern erstellen kann: Aus zwei DVDs mit identischem Inhalt kann ddrescue also ein funktionsfähiges Image erstellen! Auch im Alltag ist diese Funktion aber durchaus hilfreich: So kopiere ich meine defekten und verschmutzten DVDs zunächst mit ddrescue auf die Festplatte. Wenn dabei einige Datenbereiche nicht gelesen werden konnten, kann man seine DVD jetzt aus dem Laufwerk nehmen, (aggressiver) reinigen und es erneut versuchen: Durch die Logdatei “weiß” ddrescue genau, welche Daten beim ersten Durchlauf nicht kopiert werden konnten und schaut sich nur diese Bereiche auf der DVD erneut an. Bevor man seine DVD also mit Gewalt, Wasser und Schmierlappen bearbeitet: Erstmal das auslesen, was noch da ist und in einem zweiten Durchlauf die Lücken füllen.
Benutzung
ddrescue ist denkbar einfach zu benutzen. Beachten sollte man nur, dass man die Log-Datei bei jeder Verwendung selbst angeben muss. Gibt man keine Log-Datei an, wird auch keine angelegt und viele nützliche Features von ddrescue bleiben unzugänglich. Einen einfach Durchlauf startet man wie folgt:
sudo ddrescue -n /dev/sr0 rettungsimage.iso logdatei.log
/dev/sr0 ist dabei durch das zu rettende Laufwerk / Medium zu ersetzen. Das Image wird (naheliegend) in die Datei “rettungsimage.iso” geschrieben, das Log in “logdatei.log”. Dabei ist natürlich darauf zu achten, dass für jede Rettung eine eigene Logdatei verwendet wird.
Da ddrescue in seinem Log notiert, welche Blöcke defekt sind und welche defekten Blöcke nicht kopiert werden konnten, würde ddrescue bei einem weiteren Durchlauf erstmal gar nichts machen – im Log steht ja, dass die verbliebenen Blöcke nicht kopiert werden konnten. Um ddrescue zu einem neuen Versuch zu bewegen, müssen zunächst die defekten Sektoren als “ungetestet” markiert werden, um im Anschluss alle ungetesteten Blocks einem erneuten Test zu unterziehen:
sudo ddrescue -RT /dev/sr0 rettungsimage.iso logdatei.log
Jetzt wird ddrescue nur die vormals defekten Blöcke neu auslesen – und vielleicht retten können.
Fazit
Sicher lassen sich viele der beschriebenen Funktionen auch mit dd_rescue, dd_rhelp und sogar dd erreichen, wenn man die Tools gut zu bedienen weiß, viel Erfahrung im Umgang damit hat oder sich entsprechende Skripte geschrieben hat. ddrescue besticht aber dadurch, dass es all dies aus einer Hand bietet und keine (u.U. langsamen) Skript-Erweiterungen benötigt. Für eine einfache Datenrettung sind keine zusätzlichen Angaben durch den Benutzer nötig und die Überlegung, zunächst erstmal alle lesbaren Daten zu retten bevor man die defekten Sektoren auf Überlebende abklopft, ist sicher in sehr vielen Fällen die sinnvollere Strategie als das sequentielle Vorgehen.
Weitere Informationen
gibt es…
- …auf der sehr ausführlichen Info-Seite von ddrescue,
- …in diesem Artikel,
- …auf der Seite von dd_rhelp und
- …in diesem Foren-Beitrag.
Hinweis
stfischr hat mich auf meine vorschnelle Editierung des Artikels hingewiesen, weswegen ich die ursprüngliche Version wiederhergestellt habe.
In der vorherigen Version des Artikels hatte ich behauptet, dass eine Rettung zunächst mit dem Schalter “-n” angestoßen werden sollte und erst in einem zweiten Durchgang darauf verzichtet werden könne. So wie sich die Sache mir jetzt darlegt, ist das nicht zutreffend und ein Durchlauf ohne irgendwelche Schalter erfüllt bereits seinen Zweck. An dieser Stelle nochmal besten Dank an stfischr für die Korrektur!
Archos Vision und Ubuntu
07. Jun
Der neue MP3-Player im Hause hört auf den schönen Namen “Archos Vision A14VG” und ist ein eher kleiner und leichter Vertreter seiner Zunft. Nachdem mir im Laden versichert wurde, dass sich das Gerät ganz normal ins Dateisystem einbindet, musste ich hier aber feststellen, dass genau das nicht der Fall ist.
Allerdings wurde das Gerät prinzipiell als Laufwerk erkannt, es gab einen neuen Eintrag unter “/dev/sdb” was darauf schließen ließ, dass etwas mit der Formatierung / Partitionierung des Players nicht stimmte. GParted bestätigte diese Vermutung, so dass ich mit dd eine Sicherheitskopie von /dev/sdb angefertigt und den Archos Vision mit Fat32 neu formatiert habe.
Wie erwartet legt das Gerät beim nächsten Start automatisch die erforderliche Verzeichnisruktur an, so dass in dieser Hinsicht keine Probleme entstehen. Danach wurde der Archos ohne Probleme eingebunden und ließ sich mit Musik bespielen.
Ich übernehme natürlich keine Gewähr dafür, dass Neuformatierung euren Player nicht in einen (sehr leichten) Briefbeschwerer verwandelt. Aber für mich war das Problem damit behoben.
DVDs kopieren
01. Jun
In den letzten Tagen habe ich verschieden DVD-Ripping-Tools getestet. Die einfache Aufgabe: DVD mit Filmen aber auch Serien bequem, einfach und schnell mit möglichst hoher Qualität auf die Festplatte befördern.
Die Kandidaten: dvd::rip, AcidRip, ogmrip, HandBrake, k9copy und LemonRip.
dvd::rip
dvd::rip eignet sich sehr gut zum Rippen und Kodieren von DVDs und erinnert mich am ehesten an GordianKnot. Es gibt sehr viele Einstellungsmöglichkeiten, die eigentlich jedem Wunsch gerecht werden. Beim Versuch einen größeren Film in drei Teile zu splitten hatte ich aber das Problem, dass Video und Ton asynchron waren (aus welchem Grund auch immer). Zudem fand ich gerade das Rippen von mehreren Titeln recht unkomfortabel. Sehr positiv: Es ist möglich, das Rippen eines Films auf mehrere Rechner zu verteilen – sogenannte Cluster. Auch finde ich das Programm erstaunlich übersichtlich dafür, dass es dem Nutzer so viele Möglichkeiten bietet.
ogmrip
ogmrip ist in erster Linie ein DVD-Ripper, der Das Rippen einfach machen soll – was m.E. auch gut gelingt. Sehr schön ist die Möglichkeit, verschiedene Profile anzulegen: So kann man mit einem Klick auswählen, ob man den Film für seine Telefon, für den PC oder für seinen DVD-Player kodieren möchte. Dummerweise war ich just in diesem Fall in der unglücklichen Situation, einen Film in Graustufen kodieren zu wollen – keine Ahnung, ob das einen großen Unterschied macht – mit ogmrip war der entsprechende Schalter nicht zugänglich (getestet mit XViD). Viel schlimmer war allerdings die Tatsache, dass ogmrip beim Rippen mehrfach abgestürzt ist und “Segmentation Faults” ausgespuckt hat. Weiterhin hat sich das Programm beim Zuschneiden mehrfach aufgehängt. Positiv dahingegen fand ich die Möglichkeit, mehrere Titel einer DVD in den Queue zu schieben und dann in einem Rutsch abarbeiten zu lassen.
AcidRip
AcidRip ist ein weiteres Frontend für den mencoder. Im Gegensatz zu ogmrip wird hier der mencoder aber nicht so sehr vor dem Benutzer versteckt: Einige wichtige Optionen (wie Audio, Untertitel, Codec, Bitrate, Crop und Scale) sind über Schalter zugänglich, weitergehende Funktionen müssen als mencoder-Parameter in Textboxen eingetragen werden. AcridRip ist insgesamt leicht zu bedienen, bietet aber nur die Möglichkeit, jeweils eine Audio- und Untertitelspur zu setzen.
AcidRip wird häufig als Ripper für Einsteiger bezeichnet, ich sehe darin aber eher ein mencoder-Frontend, das den mencoder nicht so weit “wegabstrahiert”, wie etwa ogmrip. Für ein Einsteigerprogramm wirkt AcidRip dann auch reichlich unübersichtlich und müsste anders strukturiert sein. Insgesamt aber eigentlich ein schönes Tool für Fortgeschrittene die eine GUI nutzen möchten, ohne sich von dieser in der Wahlfreiheit beschneiden zu lassen.
k9copy
Bei k9copy handelt es sich – der Name deutet es an – um ein KDE-Programm. Da ich für Gnome aber lediglich DVD95 als Alternative kenne und mit dieser in der Vergangenheit nicht sonderlich zufrieden war, habe ich mir stattdessen mal k9copy näher angesehen. k9copy (und DVD95) sind in erster Linie dazu da, große DVDs (DVD9) so zu verkleinern, dass sie auf einen handelsüblichen DVD Rohling passen (DVD5). Um das zu erreichen werden die Filme umkodiert, es lassen sich aber auch Tonspuren und Untertitelspuren streichen, weiterhin werden die Menüs etwas zusammengestaucht. Vorteil dieser Methode ist der Umstand, dass man ein komplettes Backup seiner DVD hat, ohne auf besondere Features (wie Kommentare des Regisseurs) verzichten zu müssen. Auch findet ja mancheiner Gefallen an aufwändig gestalteten Menüs und möchte diese nicht missen. Der Nachteil liegt auf der Hand: Durch das Umkodieren auf DVD5 nimmt die Qualität des Materials deutlich ab. Das Ausmaß der Qualitätseinbuße hängt aber in erster Linie davon ab, auf wie viele Tonspuren man verzichten kann und wie groß das Ausgangsmaterial ist. Nicht jede DVD9 ist prall gefüllt und eine sechs GB große DVD lässt sich durchaus ohne große Einbußen zusammenstauchen.
Sowohl DVD95 als auch k9copy bieten die Möglichkeit, die DVD nicht zu verkleinern, sondern zu rippen (weswegen die beiden Programme hier überhaupt Erwähnung finden). Während diese Möglichkeit bei DVD95 aber sehr rudimentär ist und sich kaum beeinflussen lässt, bietet k9copy ein breites Spektrum verschiedener Einstellungen. Es lassen sich viele verschiedene Codecs definieren, wobei jeweils die Parameter für ffmpeg oder mencoder von Hand eingegeben werden müssen. Es gibt allerdings auch Codec-Vorgaben, so dass die meisten Benutzer vom händischen Einstellen verschont bleiben. Zum Kodieren muss der Benutzer dann lediglich einen der Codecs auswählen und noch einige Details wie Dateigröße oder Bitrate auswählen und kann entscheiden, ob es zwei Durchläufe geben soll oder nicht. Auch das Cropping kann man sich dabei abnehmen lassen.
Hier fiel mir allerdings sehr negativ auf, dass man diese Einstellungen (Dateigröße, Video-Bitrate, Audio-Bitrate, Cropping) für jeden einzelnen Titel auf einer DVD wiederholen muss; ich habe keinen Schalter gefunden, mit dem sich diese Einstellung auf alle zu rippenden Titel anwenden ließ. Im Regelfall möchte man vermutlich nur einen einzigen Titel (etwa den Hauptfilm) auf die Festplatte bringen und wird sich daran nicht stören. Sobald man aber 6 Folgen einer Serie kopieren möchte, wird das schon sehr mühselig. So ist k9copy für KDE-Film-Liebhaber eine gute Wahl, Gnome-Serien-Fans werden sich aber oft darüber ärgern.
Lemonrip
Lemonrip ist ein beeindruckendes kleines Perl-Programm: Gerade einmal 1750 Zeilen wiegt es und kommt dafür mit einer praktischen GUI daher. Auch Lemonrip setzt auf mencoder auf und vereinfacht das Rippen von DVDs deutlich. Leider geht das in diesem Beispiel sehr zu Lasten der Konfigurierbarkeit: So konnte ich bei meinem Test lediglich zwischen 5 Profilen wählen, etwa “XVID 700MB” und “XVID 1100MB”. Weitere Einstellungen (Graustufen, Audio-Format und Audio-Bitrate, Anzahl der Durchläufe u.v.m.) ließen sich nicht über die GUI vornehmen. Zwar kann man weitere Profile direkt im Quellcode ergänzen und anscheinend auch in bestimmten Dateien eintragen – allerdings nur als komplette mencoder-Befehlszeile. Für Anfänger ist diese Möglichkeit also denkbar ungünstig. Auch gab es keine Möglichkeit, eine ISO-Datei oder DVD-Struktur auf der Festplatte als Quelle anzugeben. Angesichts der Tatsache, dass mencoder sowohl ISO-Dateien als auch DVD-Strukturen wie gewöhnliche DVDs einlesen kann, also eigentlich eine unnötige Beschränkung. Schließlich könnte die GUI auch an der einen oder anderen Stelle noch optimiert werden: So kann man zwar für jeden Titel einer DVD ein anderes Profil wählen – der Dialog dazu lässt sich aber nur über die Werkzeugleiste aufrufen, obwohl das jeweilige Profil in einer Liste neben dem Titel eingetragen ist. Hier wäre eine DropDown-Box sicher intuitiver. Auch die Auswahl der Sprache und des Untertitels könnte auf diese Weise deutlich vereinfacht werden.
Insgesamt stören an Lemonrip viele Einschränkungen und “Nicklichkeiten”. Vielleicht werden zukünftige Versionen in dieser Hinsicht Abhilfe schaffen. Sehr gefallen hat mir dahingegen die übersichtliche Darstellung des DVD-Inhaltes: Alle Titel werden in einer Liste dargestellt und lassen sich mit einem Hacken zum Rippen anwählen. Damit wäre Lemonrip gerade auch zum Rippen von Serien ideal und hatte im “Test” nach meinen Dafürhalten die intuitivste GUI.
HandBrake
Bei HandBrake sollte man die größte Einschränkung vorwegnehmen: Mittlerweile ist das Programm fast ausschließlich auf H.264 ausgelegt. Zwar gibt es noch die Möglichkeit, mit FFmpeg ein nicht näher spezifiziertes MPEG-4 zu erstellen, das ist aber anscheinend eher zu Testzwecken gedacht.
Wenn man diese Prämisse aber akzeptieren kann, erledigt HandBrake seine Aufgabe bestens: Man kann zwischen verschiedenen Presets wählen und jeder Zeit neue anlegen. Als Quelle akzeptiert HandBrake DVDs, DVD-Verzeichnisstrukturen und ISO-Dateien gleichermaßen. Die einzelnen Titel einer DVD können sehr leicht mit unterschiedlichen Einstellungen gerippt werden, wobei jeweils auch mehrere unterschiedliche Audio- und Untertitelspuren gewählt werden können.
Sehr gut gefallen hat mir auch die “Picture Settings”-Funktion: In einem speziellen Fenster kann man nicht nur die automatische Beschneidung kontrollieren und anpassen oder ggf. eine Größenveränderung einrichten: Man kann auch sehr einfach einen beliebigen Zeitabschnitt von einer beliebigen Stelle des Videos “probekodieren”. Dabei finden alle gemachten Einstellungen (also etwa Video-Bitrate, B-Frames, u.v.m.) Berücksichtigung. So erhält man frühzeitig einen Eindruck davon, wie sich die Einstellungen auf das Endresultat auswirken.
Zum Rippen von Filmen ist HandBrake also geradezu ideal. H.264 ist ohnehin eine bessere Wahl als das etwas in die Jahre gekommene XViD – allerdings benötigt es (auch beim Abspielen) mehr Ressourcen und wird von vielen DVD-Playern noch nicht unterstützt.
Fazit:
Auch wenn ich den ein oder anderen Ripper mehr kritisiert habe: Insgesamt machen die Programme ihren Job durchaus ordentlich. Wer häufig Filme mit dem selben Encoder und den selben Einstellungen rippen möchte, wird sich sicher auch nicht daran stören, dass er bei AcidRip und Lemonrip einige Optionen einmalig von Hand eintippen muss. Ogmrip ist dabei in mancher Hinsicht ein guter Kompromiss zwischen Konfigurierbarkeit und Einsteigerfreundlichkeit, auch wenn ich hier und da einen Schalter vermisse. dvd:rip und HandBrake sind aber m.E. die Programme, die einem auf Wunsch die vielen Einstellungen am besten abnehmen, sie aber nicht völlig verstecken und somit auch Perfektionisten gefallen dürften.
cURL
17. Mai
Ich benutze curl in der Regel als eine Art “Internet cat”: Damit kann man beispielsweise schnell den HTML-Code einer Seite nach einer beliebigen Information durchsuchen – hier etwa meiner IP:
curl -s http://www.wieistmeineip.de/|egrep -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"
Mit curl kann man sich aber nicht einfach nur Internetseiten im Terminal ausgeben lassen: Auch einfache Interaktionen via POST sind möglich. So nutze ich curl beispielsweise, um mich bei meinen Router anzumelden und dort die Verbindung mit dem ISP zu trennen und neu aufzubauen.
Worauf ich erst vor ein paar Tagen gestoßen bin und was mir sehr gut gefällt: curl unterstützt auch Gruppen und Bereiche von URLs. So würde mir folgender Befehl nacheinander die Seiten eins.html, zwei.html und drei.html auf example.com anzeigen:
curl http://example.com/{eins,zwei,drei}.html
Bereiche werden wie folgt definiert:
curl http://example.com/[1-3].html
Ein Bereich wie [1-50:5] definiert dabei einen Schrittzähler: Hier wird also nur jede fünfte Seite angezeigt 1, 6, 11, … 46. Auch Bereiche von Buchstaben können angegeben werden.
Das Ganze kann beispielsweise dann äußerst hilfreich sein, wenn man sich mal wieder durch eine grottenschlechte HTML-Bildergalerie klicken muss. Anstatt sich mit jedem Klick etwas mehr zu ärgern, befördert man die Bilder in einem Rutsch auf den lokalen Datenträger und betrachtet sie dort mit dem Bildbetrachter des Vertrauens. Zur Veranschaulichung habe ich im Rahmen dieses Artikels einmal 50 kleine Bildchen erstellt. Mit folgendem Befehl laden wir diese direkt auf die heimische Festplatte:
curl -s www.xn--ngel-5qa.de/wordpress/wp-content/uploads/2010/05/wp_bilder/[1-50].png -o test/bild_#1.png
In diesem Fall wird im aktuellen Verzeichnis ein Ordner test angelegt, in dem die Bilder gespeichert werden. Neu ist hier der Parameter -o, mit dem die Ausgabe von curl in eine Datei umgeleitet wird. Die Zeichenkette “#1″ wird dabei von curl durch die jeweilige Bild-Nummer ersetzt.
Insgesamt ist curl ist recht mächtiges Tool, dessen Einsatzbereiche sich nicht auf http beschränken. So verbindet sich curl auch mit FTP oder gar IMAP-Servern und kann (anders als wget) Dateien auch hochladen.
Änderung: Die Beispiele sollten jetzt Copy&Paste-kompatibel sein.
Patent-Pool gegen Theora
03. Mai
Ich wollte ja schon vor einigen Tagen zum FUD gegen Theora schreiben, an dem sich auch Apple-Chef Steve Jobs beteiligt haben soll.Ich habe mich aber dann doch entschlossen, noch etwas abzuwarten.
Bei heise sehe ich dann heute diesen schönen Abschnitt:
MPEG LA deute bereits seit Jahren an, dass man keinen Videocodec programmieren könne, ohne Patente zu verletzen. Genau genommen wolle die MPEG LA deutlich machen, dass sie ein Monopol auf Videokodierung habe, mit dem kein andere konkurrieren dürfe, so der Xiph.Org-Gründer.
Natürlich wird diese Aussage vermutlich kein Patent-Pool-Betreiber und FUD-Panikmacher als Problem auffassen. Ich frage mich aber wirklich, ob das Patentrecht nicht offensichtlich aus dem Ruder gelaufen ist, wenn ganze Branchen dadurch einfach stillgelegt werden können. Oder anders: Wenn das derzeitige Patentrecht dazu führt, dass beteiligte Unternehmen ihre Patente in einem Pool sammeln und dann jeden Neueinsteiger aus dem Geschäft klagen, hat es m.E. jede Legitimation verloren.
Der Schutz von geistigem Eigentum und Technologien muss da an seine Grenze stoßen, wo er für andere Marktteilnehmer zu einem unkalkulierbaren Risiko wird oder sie gleich von jeder möglichen Beteiligung ausschließt. Neben den Softwarepatenten selbst scheinen besonders Patent-Pools ein großer Teil des Problems zu sein, wenn sie gewissermaßen als “Kriegskasse” eingesetzt werden. So oder so verdeutlichen derartige Pools aber den ganzen Missstand im Patentwesen, weil ja offensichtlich selbst etablierte Firmen (beispielsweise im Bereich der Videokodierung) nicht mehr arbeiten können, ohne sich mit eigenen Patenten gegen die Ansprüche anderer Firmen zu schützen. Patent-Pools werden also nicht nur eingesetzt, um die eigene Vorherrschaft auf dem Markt zu sichern, sie sind ohnehin schon Ausdruck eines ausufernden Patentwesens, in dem Patente nicht Entwicklungskosten vergüten, sondern Entwicklungen verteuern und hemmen.
Bei einer Reformierung des Patentwesens kann es natürlich nicht darum gehen, die Rolle von geistigen Eigentum generell zu schwächen oder es völlig abzuschaffen (was häufig unterstellt wird). Es muss aber so umgewandelt werden, dass es reale und teure Innovationen belohnt und triviale sowie günstige, abgeleitete Ideen freistellt. Schon heute soll es zwar vorgeblich keine Patente auf triviale Erfindungen und konsequente (und somit naheliegende) Weiterentwicklungen geben. Die Realität – gerade in der Softwarebranche – sieht aber bisweilen anders aus.
Aktualisierung:
Richard Stallman hat sich die Anatomie von Trivialpatenten einmal näher angesehen. Und seit einigen Wochen gibt es zu dem Thema auch etwas aufs Auge: Patent Absurdity.
Wine + Office
02. Mai
Bisweilen kommt man ja nicht umhin Microsofts Office zu nutzen, weil man .doc-Dateien erstellen muss, die beim Empfänger ohne Formatierungsfehler angezeigt werden.
Da Office unter Linux aber nur in einer Wine-Umgebung läuft, kann man nicht wie gewohnt die Datei einfach an das ausführende Programm übergeben: Man muss zunächst den Pfad der Datei an die Wine-Umgebung anpassen – das Ergebnis könnte wie folgt aussehen:
z:\home\benutzer\dokumente\arbeit\123.doc
Außerdem möchte man unter Umständen auch noch eine WINEPREFIX-Angabe setzen. Kurzum: Ein Skript muss her:
#!/bin/sh # DIE NÄCHSTEN BEIDEN ZEILEN SOLLTEN ANGEPASST WERDEN PREFIX=~/.wine/officesp1 EXEC_PATH=~/.wine/officesp1/drive_c/Programme/Microsoft\ Office/Office12/WINWORD.EXE wine_path=$(WINEPREFIX=$PREFIX winepath -w "$@") WINEPREFIX=$PREFIX wine "$EXEC_PATH" "$wine_path"
Dieses kleine Skript wandelt den Pfad der übergebenen Datei um, ruft Wine mit entsprechendem Prefix auf und übergibt Office die Datei. Das Ganze kann dann beispielsweise unter /home/BENUTZER/.wine/open.sh abgelegt und ausführbar gemacht werden. Um nun eine beliebige .doc-Datei zu öffnen, wählt man in deren Kontextmenü einfach Öffnen mit…->Andere Anwendungen aus und gibt die oben erstellte open.sh an. Der Dateiname kann natürlich auch angepasst werden – “MS Word” wäre vermutlich ein eindeutigerer Name.
Mit diesem Skript lassen sich problemlos mehrere Dateien gleichzeitig öffnen und auch Leerzeichen stellen kein Problem dar.
Guayadeque
23. Apr
Durch Zufall bin ich heute über Guayadeque gestolpert. Dabei handelt es sich um eine Musikverwaltung wie beispielsweise Rhythmbox. Ich bin ja schon länger auf der Suche nach einer guten Musikverwaltung – eigentlich so lange ich Ubuntu nutze. Aus lauter Verzweiflung habe ich mich zwischenzeitlich sogar mit Konsolen-Minimalismus angefreundet. Das Problem: Amarok2, Rhythmbox, Exaile, Listen und wie sie alle heißen sind entweder recht wackelig unterwegs, kommen mit großen Musiksammlungen nicht klar oder haben ein Bedienkonzept, das einen an der eigenen Auffassungsgabe zweifeln lässt.
Wie auch immer: Guayadeque kommt mit großen Sammlungen sehr gut zurecht und ist dabei noch zügig unterwegs. Die einzelnen Panels lassen sich einfach und intuitiv anordnen, überflüssige Informationen/Filter werden mit einem Klick entfernt.
Sehr gut gefällt mir auch der Smart Mode, der die Wiedergabelist auf Wunsch mit ähnlich klingenden Stücken auffüllt (wobei ich auf die Schnelle nicht rausfinden konnte, ob dafür LastFM befragt oder tatsächlich das Musikstück ausgewertet wird).
Auch beliebte Funktionen wie Coverbrowser, LastFM-Integration, Liedtext-Anzeige, Bewertungen und Cover-Download gibt es. Insgesamt macht Guayadeque (trotz der Verwendung von wxWidgets
) einen recht runden Eindruck. Ich empfehle aber die SVN-Version, weil die einige neue Funktionen und vor allem eine halbwegs anständige deutsche Übersetzung bietet.
Weitere Informationen gibt es imm UU-Wiki und auf der Homepage von Guayadeque. Viel Spaß beim Ausprobieren
.
Kleine Verzögerung
15. Apr
Hello Daniel Nögel,
On 2010-03-24 13:38z (21 days 19 hours 41 minutes ago), you uploaded a
translation template for pytv in ooaTV trunk in Launchpad.The template has now been imported successfully.
Thank you,
The Launchpad team
Abstürzende Mediaplayer
10. Apr
Unter verschiedenen Linux-Distributionen kann es unter bestimmten Umständen dazu kommen, dass Mediaplayer abstürzen, wenn sie in den Vollbildmodus geschaltet werden. Teilweise passiert das sogar, wenn man das Fenster des Mediaplayer nur vergrößert.
Üblicherweise spuckt die Konsole eine Fehlermeldung wie diese aus:
BadAlloc (insufficient resources for operation)
Das Problem tritt anscheinend nur in Verbindung mit Compiz auf: Das Abschalten der Fenstereffekte kann das Problem also beheben. Wer auf wackelige Fenster & Co nicht verzichten möchte, kann das Problem beheben, indem er die Videoausgabe verändert.
Für den VLC:
Unter Extras->Einstellungen->Video die Option Ausgabe auf “X11-Videoausgabe” ändern.
Für Totem und viele mehr:
Programme, die auf GStreamer basieren (Totem etwa), lassen sich über das Programm gstreamer-properties konfigurieren. Im Reiter Video wählt man als Plugin im Bereich Default Output “X Window System (Kein XV)”.
Danach sollten die Videos in den genannten Programmen problemlos mit Compiz harmonieren.
Upload aus dem Kontext-Menü
05. Apr
Dieses Skript lädt die ausgewählten Dateien auf einen FTP Server. Angepasst werden müssen:
FTP-Server: Der zu nutzende FTP-Server
Server: Der gleiche Server – über HTTP
sowie
BENUTZERNAME (selbsterklärend).
Das Passwort wird jeweils vorher abgefragt. Wie zuvor wird das Paket zenity benötigt, ebenso das Paket wput.
#!/bin/sh paths=$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS selected=$NAUTILUS_SCRIPT_SELECTED_URIS cur=$NAUTILUS_SCRIPT_CURRENT_URI if ! PASS=$(zenity --entry --hide-text --text "Bitte geben Sie das Passwort ein:" --title "Und das Passwort?"); then exit; fi for x in $selected do name=$(echo $x|sed 's/file:\/\///') timestamp=$(date +%s.%N) #lastchar=$(echo $name|tail -c 5) nn=$(echo $name|awk -F/ '{print $NF}') output="$timestamp-$nn" wput "$name" ftp://BENUTZERNAME:$PASS@FTP-SERVER/bilder/$output error=$? uri=http://SERVER/bilder/$output if [ $error != 0 ] then zenity --info --text "Fehler beim Hochladen der Datei $name" --title "Fehler" else zenity --info --text "Datei $name erfolgreich hochgeladen\nUrl:\t $uri" --title "Abgeschlossen" fi done
Wie schon zuvor gilt: Abzulegen ist das Ganze in einer ausführbaren Datei im Verzeichnis ~/.gnome2/nautilus-scripts.
Letzte Kommentare