Dienstag, 14. Juni 2011

Was tun, wenn ein USB-Gerät das System einfriert?

Heute ist mir beim Kopieren einer größeren Datei auf den MP3-Player Meizu M6 das gesamte System eingefroren. Im Kernel-Log fanden sich dann folgende Zeilen:
Jun 14 17:53:51 localhost kernel: [ 3818.812989] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 17:53:53 localhost kernel: [ 3821.222980] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 17:53:56 localhost kernel: [ 3824.246313] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 17:53:59 localhost kernel: [ 3826.692983] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 17:54:00 localhost kernel: [ 3828.616313] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 17:54:04 localhost kernel: [ 3832.339688] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 17:54:08 localhost kernel: [ 3836.059653] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 17:54:10 localhost kernel: [ 3838.526313] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 17:54:12 localhost kernel: [ 3840.516323] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 17:54:16 localhost kernel: [ 3844.146325] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 17:54:18 localhost kernel: [ 3846.112990] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 17:54:19 localhost kernel: [ 3846.686312] usb 1-6: device not accepting address 8, error -71


Dies ist ein bekanntes Problem, siehe zum Beispiel hier. Wie auf der soeben verlinkten Seite vorgeschlagen, hilft ein Entfernen des Moduls ehci-hcd via rmmod ehci-hcd. Die Übertragung wird zwar ziemlich langsam - das Modul wird für Hochgeschwindigkeitsübertragung benötigt - allerdings gibt es keine Abstürze mehr.

edit: Tja, und nun ist auch die Ursache für die Fehlermeldungen gefunden: ein defektes USB-Verlängerungskabel. Direkt angeschlossen gibt es die volle Geschwindigkeit, keine Fehlermeldungen und keine System-Freezes.

Sanftes Ausblenden von Benachrichigungsblasen mit Xfce und Compiz

Ein sehr nerviges Problem habe ich heute endlich lösen können: Mit aktiviertem Compiz war das Ausblenden von Benachrichtigungsblasen des Benachrichtigungsdienstes xfce4-notifyd von Xfce mit einem kurzzeitigen Aufleuchten der Blasen am Ende des Ausblendens verbunden. Das lag an einer Einstellung des Animations-Plugins von Compiz: In der Standardeinstellung war dort in der Kategorie "Animation 'Schließen'" der Effekt "Ein-/Ausblenden" mit folgenden Code für die Fensterwahl eingetragen:
(type=Tooltip | Notification | Utility) & !(name=compiz) & !(title=notify-osd)

Da unter Xfce der hauseigene Notification-Daemon xfce4-notifyd statt Ubuntu's notify-osd verwendet wird, kann diese Zeile nur Probleme machen. Folgende Code-Zeile ermöglicht ein flüssiges Ausblenden der Benachrichtigungsblasen:
(type=Tooltip | Notification | Utility) & !(name=compiz) & !(title=xfce4-notifyd)

Dienstag, 30. Juni 2009

LaTeX - Erste Schritte 3 - fancybox

Ich habe als einziger LaTeX-Nutzer die Erstellung der Abizeitung unseres Jahrgangs übernehmen müssen und so haben sich wieder einige nützliche Packages und Befehle angesammelt, die ich gerne hier aufnehmen würde. Alle Packages werden wie in den ersten beiden Posts erklärt mit dem \usepackage{Package}-Befehl im Header des Dokuments eingebunden.

fancybox


Das Paket fancybox benutzte ich für abgerundete Boxen um Kommentare. Vielen Dank an |Zz| aus dem #latex-Channel für den Tip! Aufgerufen wird der Befehl folgenderweise:

\ovalbox{
\parbox{0.95\textwidth}{
Kommentartext
}
}
\newline


Nun wieder die Erklärung: \ovalbox{} ist der eigentliche Befehl für abgerundete Boxen um einen Textabschnitt. Hier sind einige Alternativen aufgeführt, die alle mit dem fancybox-Paket realisiert werden können.
\parbox{0.95\textwidth}{} bewirkt, dass innerhalb der Ovalbox noch eine unsichtbare "Parbox" positioniert wird, deren Breite auf 95% der Textbreite begrenzt wird. Ohne der Parbox würde der Text in der Ovalbox nicht umgebrochen werden, bei einem Text, der nicht in eine Zeile passt, würde die Box einzeilig bleiben und in unbekannter Richtung aus dem Dokumenten verschwinden (oder genauer gesagt ohne Beachtung des rechten Rands nach rechts ausgedehnt sein). ;) Den Wert der Breite kann man natürlich nach seinen Bedürfnissen anpassen.
Nach einer Ovalbox sollte der \newline-Befehl gesetzt werden, der eine neue Zeile anfängt. Ansonsten würde die nächste Ovalbox nicht unter sondern neben der vorhergehenden platziert werden und entsprechend auch den rechten Rand sprengen.

Freitag, 26. Dezember 2008

LaTeX - Erste Schritte 2

Nach dem ersten Test ging es für mich weiter in Sachen LaTeX. Lang hat das Durchforsten des Internets gedauert, doch nun habe ich eine Vorlage zusammenbasteln können, die für Facharbeiten meiner Meinung nach so gut wie perfekt angepasst ist. Und so sieht sie aus:


\documentclass[12pt,oneside,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[onehalfspacing]{setspace}
\usepackage{german}
\usepackage[left=4cm,right=2cm,top=2.5cm,bottom=2cm]{geometry}
\usepackage{indentfirst}
\begin{document}
\thispagestyle{empty}
Titelseite
\newpage
\thispagestyle{empty}
\tableofcontents
\newpage
Inhalt
\end{document}


Aber alles der Reihe nach. Betrachten wir jede Zeile einzeln.

\documentclass[12pt,oneside,a4paper]{article}

Der Tag \documentclass{article} ist, wie ich früher schon feststellen musste, obligatorisch. Interessant sind aber die Attribute in eckigen Klammern. Genau dort wird die Größe der normalen Schrift festgelegt (12pt), die Tatsache, dass die Blätter beim anschließenden Drucken einseitig gedruckt werden (oneside) und die Papiergröße A4 (a4paper).

\usepackage[utf8]{inputenc}

Diese Zeile ist sehr wichtig, wenn man Umlaute richtig dargestellt bekommen möchte. Ohne dieser Zeile hätte man die Umlaute als "u statt ü oder "a statt ä schreiben müssen, normale Umlaute ließe der Compiler einfach aus. So aber kann normaler deutscher Text richtig umgesetzt werden.

\usepackage[T1]{fontenc}

Diese Zeile bewirkt, dass Fonts verwendet werden, die extra Zeichen für Umlaute bereitstellen. Eigentlich funktioniert es auch ohne, ich sehe in der fertigen Version keinen großen Unterschied: Auch ohne dieser Zeile werden alle Umlaute richtig dargestellt. Wenn es aber Probleme mit den Umlauten gibt, könnte diese Zeile eventuell Abhilfe schaffen.

\usepackage[onehalfspacing]{setspace}

Diese Zeile setzt den Zeilenabstand auf 1,5, so wie es sich in einer Facharbeit gehört. Ob es wirklich 1,5 sind, ist aber strittig, hierzu gibt es hier eine interessante Diskussion. Möchte man einfachen oder doppelten Zeilenabstand haben, so verwendet man statt "onehalfspacing" einfach "singlespacing" bzw. "doublespacing".

\usepackage{german}

Diese Zeile bewirkt, dass der Zeilenumbruch nach deutscher Rechtschreibung erfolgt, außerdem kann man nun die integrierte Rechtschreibprüfung von Winefish verwenden. Zuerst spuckte der Compiler mit dieser Zeile Fehlermeldungen aus, Abhilfe schaffte das Paket texlive-lang-german, das es in den Ubuntu-Quellen gibt.

\usepackage[left=4cm,right=2cm,top=2.5cm,bottom=2cm]{geometry}

Diese Zeile legt die Ränder fest. Die für eine Facharbeit üblichen 4cm links und 2cm rechts, sowie die improvisierten 2,5cm bzw. 2cm oben und unten tun ihren Dienst. Meine Versuche, die Abstände auf dem Bildschirm abzumessen ergaben unsinnige Ergebnisse, gedruckt waren aber alle Abstände exakt eingehalten!

\usepackage{indentfirst}

Diese Zeile bricht mit einer etwas seltsamen Tradition von LaTeX, nämlich beim ersten Absatz eines Abschnitts (dazu später mehr) die erste Zeile nicht einzurücken. Der Tip für dieses Package kam im Ubuntuusers-Forum, vielen Dank an Rorschach dafür!

Die Zeilen \begin{document} und \end{document} kennen wir schon aus dem ersten Teil dieses kleinen HowTos, also wenden wir uns der nächsten Zeilenkombination zu:

thispagestyle{empty}
Titelseite
\newpage


Die erste Zeile bewirkt hierbei, dass die Nummerierung auf dieser einen Seite nicht angezeigt wird - so ist es bei der Titelseite einer Facharbeit üblich. Die Nummerierung geht aber trotzdem weiter und so hätte die nachfolgende Seite die Nummer 2.

Statt "Titelseite" befindet sich in einem fertigen Dokument natürlich die eigentliche Titelseite. Die letzte Zeile "\newpage" bewirkt, dass die Titelseite abgeschlossen und die nächste Seite angefangen wird.

Diese zweite Seite sollte die Gliederung der Facharbeit beinhalten und so sieht sie aus:

\thispagestyle{empty}
\tableofcontents
\newpage


Der Befehl \tableofcontents erzeugt vollautomatisch eine vollständige Gliederung des nachfolgenden Dokuments - mit Seitenzahlen, Einrückungen und sogar den Punkten, die von einem Kapitel zu seiner Seitennummer führen. Wie aber funktioniert es?

Ganz einfach! Wir sagen dem Programm selbst, wo die jeweiligen Kapitel liegen. Das funktioniert mit den Befehlen \section, \subsection und \subsubsection. Und so wendet man sie an:

\section{Große Überschrift}
\subsection{Mittlere Überschrift}
\subsubsection{Kleine Überschrift}
\subsubsection{Noch eine kleine Überschrift}
\section{Noch eine große Überschrift}
\subsection{Noch eine mittlere Überschrift}


Dieser Code würde Folgendes ergeben:

1. Große Überschrift

1.1 Mittlere Überschrift

1.1.1 Kleine Überschrift

1.1.2 Noch eine kleine Überschrift

2. Noch eine große Überschrift

2.1 Noch eine mittlere Überschrift


Es wird also automatisch nummeriert, eingerückt und formatiert (wobei ich hier leider nur die Nummerierung nachmachen kann). Die gleiche Struktur wird dann auch in der Gliederung verwendet.

Die nächste Herausforderung ist das Einbinden von Formeln, Tabellen und Bildern.

Donnerstag, 25. Dezember 2008

LaTeX - Erste Schritte 1

Da der Abgabetermin für Facharbeiten nun schon in greifbare Nähe gerückt ist, habe ich mir vorgenommen, mich etwas mit der Formatierung von Facharbeiten auseinanderzusetzen. Das erste Programm, das sich zum Verfassen formatierter Texte anbot, war OpenOffice Writer - sicher eine gute Lösung für "normale" Texte. Da ich bei meiner Facharbeit aber häufig mit Formeln zu tun hatte, beschloss ich, mich ins Neuland professioneller Software zu wagen - LaTeX, von dem ich schon oft als der Software für Wissenschaftliche Texte gelesen habe, kam mir in den Sinn. Doch ich hätte mich wohl nie dazu entschlossen, mal selbst mit LaTeX zu experimentieren, wäre da nicht ein glücklicher Zufall: Im Forum von Computerbase hat mich ein Benutzer auf ein LaTeX-Applet, dem - oh Wunder! - ein kleines LaTeX-Math-Tutorial beigefügt war, weitergeleitet.

Ermutigt durch das leicht verständliche Tutorial entschied ich mich zu einem Versuch. Ich installierte zunächst Lyx, einen in Ubuntu's Paketverwaltung erhältlichen LaTeX-Editor. Doch Lyx bot eine WYSIWYG-Oberfläche an und die ganzen Codeschnipsel aus dem oben erwähnten Tutorial blieben, was sie waren - reiner Text. Um Lyx weiszumachen, dass es sich um Befehle handelt, musste man das Mathematik-Werkzeug anwählen - viel zu umständlich für meinen Geschmack.

Ich machte mich also auf die Suche nach einem einfachereren Editor - und fand Winefish, einen Editor eher puristischer Art, genau richtig also, um Codeschnipsel zu auszuprobieren. Winefish hatte alles Nötige und nichts darüber hinaus: Ein großes Eingabefeld, eine Statusleiste mit den allernötigsten Informationen und die obligatorische Menüzeile - sonst nichts. Keine bebilderte Buttons, keine Sidebars mit leeren Projektbäumen - etwas karg und zugleich erschreckend für einen Klickibunti-User wie mich. Doch ich lernte die einfache Winefish-Oberfläche schon bald zu schätzen.

Als ersten Gehversuch musste das Wort "test" dienen - als Nicht-Programmierer kam mir das obligatorische "Hello World!" erst zu spät in den Sinn. Doch wie bringt man Winefish dazu, den "Quellcode" in ein PDF umzuwandeln? Gut versteckt, unter "External" nämlich, fand sich der Menü-Punkt "Latex", der so etwas wie einen Compiler zu starten schien. Doch schon gab es die erste Fehlermeldung:
LaTeX Error: Missing \begin{document}.

Dr. Google belehrte mich, dass ein jedes LaTeX-Dokument mit dem Tag \begin{document} anzufangen und mit einem \end{document} zu enden hat, ziemlich logisch, wenn man es weiß. Zudem muss an den Anfang einer LaTeX-Datei immer der Tag
\documentclass{article}
wobei statt "article" auch andere Klassen möglich sind, so belehrte mich dieses sehr schöne Tutorial. Ich empfand aber "article" am passendsten für eine Facharbeit und so ließ ich es sich dabei bewenden. Und so sah das erste kompilierbare LaTeX-Dokument, das ich je erstellt hatte, aus:
\documentclass{article}
\begin{document}
test
\end{document}
Der Compiler meldete nichts Auffällige und ich entdeckte die Datei test.dvi im gleichen Verzeichnis, in dem auch schon die LaTeX-Datei von mir gespeichert wurde. Inmitten einer leeren Seite befand sich das einsame "test" - es funktionierte!

Donnerstag, 28. August 2008

Google kündigt Partnerschaft mit Umwelt-Suchmaschine

Die neue Suchmaschine "Forestle" hat sich ein ehrgeiziges Ziel gesetzt: Durch Werbeeinnamen wollten die Betreiber Regenwald retten. Pro Suche wurde dabei immerhin 0,1m² Regenwald für die Ewigkeit gerettet.

Forestle hat einen großartigen Start hingelegt: Nach gerade mal einem Monat im Netz betrug die Gesamtfläche des geretteten Regenwaldes über 20km². Allein am letzten Tag vor der Kündigung wurden 200$ eingenommen, was 4km² geretteter Waldfläche entspricht.

Doch heute wurden alle Forestle-Nutzer mit einer Fehlermeldung und einer Ansprache des Forestle-Teams überrascht: Google, der die eigentliche Suche für Forestle übernommen hatte, hat nun die Partnerschaft mit der Öko-Suchmaschine beendet! Begründet wurde diese Kündigung dadurch, dass Forestle "Anreize geschaffen haben, künstlich auf Google-Anzeigen zu klicken". Diese Begründung erscheint ziemlich weit hergeholt, denn in den letzten Tagen vor der Kündigung hat ein großer grüner Kasten am Kopf der Seite den Benutzer dazu aufgefordert, "nur auf Anzeigen zu klicken, wenn ein echtes Interesse daran besteht".

Es ist sehr schade, dass Google ein solches Projekt schon im Keim erstickt, obwohl es doch dem Benutzer eine einfache Möglichkeit gab ohne großen Aufwand zumindest ein kleines Bisschen für unsere Erde zu tun.

Bis die ganze Sache geklärt ist, empfiehlt Forestle einen anderen Google-Partner: Znout läuft auf solarenergie-betriebenen Servern und hilft schon mit dem schwarzen Hintergrund Energie beim Suchen zu sparen - zumindest Röhrenmonitore verbrauchen bei schwarzen Flächen wesentlich weniger Energie als bei sonst üblichen weißen Hintergründen.

Samstag, 23. August 2008

Canonicals neue Namenspolitik

Wie ich kürzlich aus dem ubuntuusers.de-Forum (Forumthread) erfahren habe, hat Canonical, die Firma hinter Ubuntu, eine neue Namenspolitik verabschiedet, die es nicht gestattet, "buntu" im Namen anderer Projekte oder Firmen zu nutzen, oder zumindest verlangt, sich für eine solche Nutzung eine entsprechende Erlaubnis bei Canonical selbst einzuholen. Die ersten Auswirkungen dieser Namenspolitik sind, dass die Projekte Ubuland und Playbuntu nun ihre Namen ändern müssen.

Ich finde, eine solche Politik seitens Canonical grenzt schon beinahe an Verrat - an Ubuntus eigenen Idealen Freiheit, Offenheit und Menschlichkeit. Durch die neue Namenspolitik werden Projekte, die sich speziell an Ubuntuanwender richten so wie das oben genannte Playbuntu, eine extra für Ubuntu ausgerichtete Repository mit Spielen , zu einem Namenswechsel gezwungen - angeblich, weil Ubuntu dadurch die Unverwechselbarkeit des eigenen Namens gewährleisten möchte. Aber ist das denn ein angemessener Dank an ein Projekt, das sich zum Ziel gesetzt hat, Ubuntu noch besser und benutzerfreundlicher zu gestalten? Es grenzt ja schon an Ironie, dass getdeb.net Ubuntus Mutterdistribution Debian nachahmend "getdeb" heißt, obwohl die Pakete, die getdeb zur Verfügung stellt, extra für Ubuntu konzipiert sind.

Es ist leider ein allzu deutlicher Trend, dass Opensource-Projekte ab einer bestimmten Entwicklungsstufe plötzlich nur noch gewinnorientiert agieren und restriktive Politik betreiben, ob es um den Namen oder ums Logo geht. Vor einiger Zeit hat die Mozilla Foundation es vorgemacht - und rief Iceweasel, Icedove und Iceape ins Leben, Debians freie Äquivalente zu Firefox, Thunderbird und Mozilla/Seamonkey (siehe Wiki). Nun scheint Canonical und somit Ubuntu mitzuziehen - eine bedauernswerte Entwicklung.

An sich ist diese neue Namenspolitik nichts besorgniserregendes. Aber sie setzt ein deutliches Zeichen dafür, wohin die Entwicklung der nächsten Jahre gehen könnte, in eine Richtung, in die ein Projekt wie Ubuntu nie gehen darf.

Debian wird oft dafür kritisiert, dass es zu konservativ ist. Auch in dem oben erwähnten Streit mit Mozilla schien die Position von Debian sturköpfig. Aber gerade in Distributionen mit so einer kompromisslosen Haltung, die nicht bei solchen juristischen Spielchen mitmachen, sehe ich die Zukunft von Linux und Freier Software!