Ubuntu 14.04 installieren und konfigurieren

art_tahr
Ich nutze Ubuntu 14.04 nun schon seit fast zwei Monaten und kann sagen, dass es für mich das beste Ubuntu seit 10.10 ist. Man hat das Gefühl, dass endlich alles rund läuft und mal wieder der Fokus auf den Desktop gelegt wurde. Deswegen gibt es für diese Version von mir mal wieder eine ausführliche Anleitung zu diesem Release.

Auch wenn es eine simple Änderung ist, gefallen mir an diesem Release am meisten die Menus in der Titelzeile.
Continue reading

Zerkratzte DVDs mit ddrescue retten

Das Kommandozeilen-Tool dd ist vielen bekannt. Mit dd kann man Rohdaten von einem Blockdevice (Laufwerk oder Datei) auf ein anderes Blockdevice schreiben. Das ist praktisch, wenn man mal schnell die Partitionstabelle der Festplatte sichern will (dd if=/dev/sda of=mbr.img bs=512 count=1) oder z.B. einen bootbaren USB-Stick aus einem Ubuntu-Image erstellen will (dd if=ubuntu.iso of=/dev/sdb bs=4M). Leider versagt dd bei nicht lesbaren Daten und bricht einfach ab. Es eignet sich also nicht, um ein ISO-Abbild einer CD oder DVD zu erstellen, falls diese verkratzt ist.

An dieser Stelle hilft ddrescue. Es gibt verwirrenderweise zwei Programme mit diesem Namen (das andere ist dd_rescue). Ich spreche hier über GNU ddrescue, welches in Debians im Paket gddrescue zu finden ist. Ddrescue erlaubt im Gegensatz zu dd bei kaputten Blöcken mehrere Leseversuche.

Im ersten Schritt wird erst mal alles, was ohne Probleme lesbar ist in eine ISO-Datei geschrieben. Probleme werden in einer Log-Datei mitgeschrieben.

ddrescue -b 2048 -n -v /dev/sr0 dvd.iso rescue.log

Die angegebene Blockgröße (2048) ist die Standard-Blockgröße bei DVDs. Das angegebene Device ist das DVD-Laufwerk und kann auch anders heissen. Bei eingelegter DVD kann man durch einfache Eingabe von mount nachschauen, wie es lokal heisst.

Bei angezeigten Fehlern, startet man einen zweiten Versuch, der sich auf die kaputten Blöcke konzentriert.

ddrescue -b 2048 -d -r 3 -v /dev/sr0 dvd.iso rescue.log

Der Parameter -d sorgt für Direktzugriff auf das Gerät (kein kernel caching) und -r 3 gibt die Anzahl der Leseversuche bei kaputten Blöcken an. Kommt es weiterhin zu Fehlern, kann man noch mal das folgende probieren:

ddrescue -b 2048 -d -R -r 3 -v /dev/sr0 dvd.iso rescue.log

Der Parameter -R kehrt die Leserichtung um, was bei meinen Versuchen häufig noch ein paar Sektoren mehr gebracht hat.

Verbleibende Lesefehler sind bei einer Video-DVD nicht wirklich schlimm, da DVDs in ihren Rohdaten schon ziemlich viel Fehlerkorrekturdaten enthalten (CDs im Übrigen auch). Im schlechtesten Fall hat man also kleine Bildartefakte an den problematischen Stellen.

Die resultierende ISO-Datei kann man einfach mit einem Brenn-Programm seiner Wahl auf eine neue DVD brennen, oder mit einem Videoplayer wie VLC direkt abspielen.

Torrent-Suche in Ubuntu-Dash integrieren

Torrent Scope
Ob man Unity mag oder nicht. Es ist auf jeden Fall gut erweiterbar und es gibt viele interessante Quellen, die man hinzufügen kann. Eine, welche ich schon länger nutze ist die integrierte Torrent-Suche. Seit der Umstellung auf Smartscopes war diese zunächst nicht verfügbar. Nun wird sie laut Entwickler sogar standard im nächsten Ubuntu release. Nutzbar ist sie auch schon jetzt (ab 13.10).

sudo add-apt-repository ppa:scopes-packagers/ppa
sudo apt-get update
sudo apt-get install unity-scope-piratebay

Nachdem man sich neu eingelogt hat, kann man im Dash nun nach Torrents suchen, in dem man der Suche torrent: voranstellt. Ich habe allerdings gern einen seperaten Bereich im Dash für solche Suchen. Momentan muss man das noch von hand per dconf-editor oder gsettings konfigurieren, z.B. so:

gsettings set com.canonical.Unity.Dash scopes "['home.scope', 'applications.scope', 'files.scope', 'video.scope', 'music.scope', 'photos.scope', 'social.scope', 'piratebay.scope']"

Die reine Torrent-Suche kann man nun auch mit Super+x aufrufen.

Die Ergebnisse enthalten nur lizenzrechtlich unbedenkliche Inhalte (opensource, public domain, creative commons, abandonware). Wenn man diese Einschränkung nicht wünscht, lässt sie sich auch leicht aufheben:

sudo sed -i.bak "/LICENSE_STRING = /s/'[^']\+'/''/" /usr/share/unity-scopes/piratebay/unity_piratebay_daemon.py

Drückt man auf den Ergebnissen ENTER öffnet sich direkt der entsprechende Magnet-Link im default Torrent client (bspw. Transmission oder Deluge).

Viel Spass!

Mailboxen auf neuen Server umziehen

Ich musste gerade einen Haufen E-Mail Adressen von einem 1und1 Account auf einen eigenen Server umziehen. Das ganze war dank imapsync ziemlich schnell erledigt. Ein paar Hürden waren allerdings doch zu nehmen, daher poste ich hier mal den kompletten Befehlsaufruf, mit dem es bei mir gut funktionierte.

Beim Umzug wollte ich auf dem Ziel neben den von Usern angelegten Ordner nur noch Standard-Namen wie Sent, Drafts, Spam und Trash (welche in Roundcube auch mit lokalisierten Namen angezeigt werden). Daher umfasst mein Befehlsaufruf auch Migrationen von Ordner wie Gesendete Objekte nach Sent, Entwürfe nach Drafts, usw..

imapsync \
# verbindungsdaten
--host1  --user1 "" --password1 "" --authmech1 PLAIN \
--host2  --user2 "" --password2 "" --authmech2 PLAIN \
# Statistiken auslassen, Geschwindigkeit gewinnen
--nofoldersizes --skipsize --fast \
# nur über Message-ID matchen
--skipheader '^(X-|Received|MIME-|Content-|Disposition-|From|Cc|Reply-|Subject|To|DomainKey|Date).*' \
--useheader Message-ID \
# diese Ordner nicht syncen
--exclude '(?i)\b(Junk|Spam|Trash|Papierkorb)\b' \
# IMAP flags die nicht Standard sind ignorieren (beginnen mit \)
--regexflag 's/\\\\(?!Answered|Flagged|Deleted|Seen|Recent|Draft)[^\s]*\s*//ig' \
# Ordner die im Ziel anders benannt sein sollen
--regextrans2 's/Gesendete Objekte$/Sent/' --regextrans2 's/Entw&APw-rfe$/Drafts/'

Beim ersten Test lohnt es sich noch den Parameter –dry anzuhängen. Die Homepage von imapsync zeigt, wie man in Massen E-Mails abarbeitet.

Ubuntu als Bluetooth Speaker nutzen

Eine Menge Menschen betreiben ihren Medienkonsum ja mittlerweile über ihre Smartphones. Sei es nun ein Android oder ein iPhone. Ich verwalte bspw. alle meine Podcasts auf meinem iPhone im Podcatcher Downcast. Androidnutzer werden vermutlich auf Listen setzen. Ich höre Podcasts meist eh nur, wenn ich unterwegs bin, daher gibt es für mich keinen Grund mit dem Rechner zu synchronisieren.

Manchmal sitze ich aber vor dem Rechner und würde neben der Arbeit gern &¨ber die Boxen einen Podcast hören. Das ist heutzutage mit pulseaudio total einfach. Automatisch geht es leider noch nicht, aber das kriege ich auch noch hin ;-)

Zuerst muss man (mit Bordmitteln) das Telefon mit dem Computer koppeln. Das geht normalerweise out-of-the-box, weshalb ich das nicht weiter bespreche. Ist das Telefon gekoppelt, kann man es mit pulseaudio als Quelle suchen (im Terminal)):

pactl list short sources

In der Ausgabe werden dein alle Audioquellen gelistet. Eine davon sollte das Bluetooth-Gerät sein (bluez_source). Mit der Quellen-Nummer dieses Gerätes erstellen wir nun ein Loopback-Gerät, welches wir als Eingang verwenden können.

pactl load-module module-loopback source=NUMMER

Man kann das natürlich auch in einem Schritt machen

pactl load-module module-loopback source=$(pactl list short sources | grep bluez | awk '{print $1}')

bluetooth audio settings

Nun kann man in den Audioeinstellunges das Telefon (meines heisst MAZE ;-)) als Eingang wählen. Alles was abgespielt wird auf dem Telefon, läuft nun über die Lautsprecher des Rechners. Ist die Wiedergabe gestoppt, sollte man das Gerät wieder entfernen. Dazu listet man zunächst die genutzten Module auf.

pactl list short modules

Nun merkt man sich die Nummer des Loopback-Moduls und entfernt dieses.

pactl unload-module NUMMER

Auch dies geht natürlich in einem Schritt.

pactl unload-module $(pactl list short modules | grep loopback | awk '{print $1}')

Das ganze kann man selbstverständlich ganz einfach mit cuttlefish automatisieren (bei Bluetooth-Verbindung und -Trennung). Noch schöner wäre allerdings eine udev-Regel.

Warum Macs nicht auf Linux drucken können

Gibt man in Ubuntu einen Drucker frei, taucht er auf Macs im gleichen Netz leider nicht auf. Das verwundert, weil Protokolle und Drucksystem identisch sind. Auf beiden Systemen wird als Drucksystem auf CUPS gesetzt. Ausserdem wird auf beiden Systemen die zeroconf-Netzwerklösung mDNS/DNS-SD genutzt (auf dem Mac bekannt als Bonjour, unter Linux Avahi).

Die Schuld liegt hier ausnahmsweise mal nicht bei Linux, sondern in der CUPS-Konfiguration von OSX, die sich irgendwann in einer der letzten Versionen vom default entfernt hat. Macs sind nun so konfiguriert, dass ausschliesslich andere Mac-Drucker angezeigt werden. Soweit ich das sehe liegt das daran, dass nur über AFP freigegebene und Bonjour propagierte Drucker angezeigt werden. Man könnte nun natürlich AFP (netatalk) unter Ubuntu konfigurieren. Oder man stellt einfach auf den Macs den default wieder her, dass auch per CUPS freigegebene Drucker angezeigt werden.

Dazu öffnet man im Browser die Adresse http://localhost:631, um an die grafische CUPS-Konfiguration zu kommen. Dort wählt man im Menu Administration und in der rechten Spalte (Server) Erweitert. Dort setzt man dann die Option, dass auch CUPS-Drucker angezeigt werden (s. Screenshot).

Mac CUPS

Wenn man die Einstellungen nun übernimmt, muss man Benutzername und Passwort eines Admin-Benutzers auf dem Mac angeben. Falls man den “echten” username nicht weiss, hilft ein kurzer Blick in ein offenes Terminal.

Spiele in seperatem X-Server spielen

Manchmal ist es für höhere Frameraten und bei diversen anderen Problemen sinnvoll ein Spiel in einem seperaten X-Server laufen zu lassen. Dies erlaubt es einem Mit STRG+ALT+F7 zum normalen Desktop zu wechseln und mit STRG+ALT+F8 wieder zurück zum Spiel zu gehen. Auch Sound-Probleme lassen sich so oft umgehen.

Zunächst muss man den eigenen Benutzer zur Gruppe audio hinzufügen und erlauben, dass aus einem X-Server heraus ein weiterer gestartet werden kann:

sudo adduser $USER audio
sudo sed -i 's/console/anybody/g' /etc/X11/Xwrapper.config

Diese Änderungen werden erst wirksam, wenn man sich aus- und wieder eingelogt hat. Ein Spiel kann man nun folgendermassen starten:

xinit /opt/Rochard/Rochard.app -- :1

Es muss unbedingt der volle Pfad zum Programm angegeben werden. Gibt man nichts an, wird auf dem blanken X-Server nur ein xterm gestartet und man kann von diesem aus starten, was man möchte. Dieser Weg empfiehlt sich bei Audio-Problemen (die oft mit pulseaudio zusammenhängen). LIMBO hat bei mir immer nur geknackst und dann den Sound ganz verloren. Er funktionierte allerdings gut, wenn ich im xterm (gestartet mit xinit — :1) folgendes eingegeben habe:

killall pulseaudio && pasuspender /opt/LIMBO/LIMBO.run

Die Spiele laufen durchweg schneller, als wenn man sie direkt über den Desktop startet.

Chrome als default in Ubuntu. Eine gute Idee?

Nachdem offenbar viele für den Wechsel zu Chromium in Ubuntu 13.10 sind, möchte ich mal ein paar Punkte dagegen anbringen:

  • Rechnet man die mobile Chrome-Nutzung nicht mit, ist Firefox der bei den Nutzern beliebteste Desktop-Browser.
  • Hinter Firefox steht eine nicht-kommerzielle Stiftung und nicht eine Firma, die mit Werbung und Nutzerdaten Geld verdient. Privatsphäre ist bei Firefox default, inklusive Vorstöße wie do-not-track und Abschaffung von 3rd-party cookies.
  • Mozilla arbeitet aktiv an Webstandards und setzt sich zusammen mit Opera und anderen für ein offenes Internet und offene Standards ein. Google arbeitet im Gegensatz dazu an DRM in HTML5 (wobei sie sich an anderer Stelle durchaus auch für ein offenes Internet einsetzen).
  • Die Pakete für Firefox werden zuverlässig von einer größeren Community erstellt, wärend Chromium momentan nur von einer Person gepflegt wird und in der Vergangenheit aufgrund von Urlaub auch schon mal garkeine Sicherheitsupdates bekam. Das ist eine Stelle an der Canonical unnötig Geld investieren müsste.
  • Firefox-Updates werden zuverlässig von der Community getestet. Bei Chromium gibt es einen regelmäßigen Source-dump von Google der kompiliert wird und ungetestet in einem PPA landet. Auch dort muss unnötig investiert werden.
  • Die Mozilla Foundation kämpft für unser freies Internet. Das Geld dazu kommt grösstenteils von Google. Ist Chromium default in Ubuntu, wird es auch weniger Firefox-Nutzer geben (die meisten Nutzer bleiben beim Default), wodurch diese sinnvolle Stiftung eine Einnahmequelle verliert.
  • Sollte Chromium default werden, dürfte Canonical das interesse daran verlieren aktuelle NSAPI-Versionen von Flash auszuliefern und nur noch die PPAPI-Version von Flash mit Chromium anbieten. Das betrifft dann eben doch Nutzer anderer Browser

Alles in Allem sind es für mich mehr Punkte die gegen Chromium als Default sprechen, als solche die dafür sprechen. Und das sage ich, als jemand der selbst lieber Chrome/Chromium statt Firefox und als Hauptbrowser ohnehin Opera nutzt.

Ubuntu 12.04 installieren und einrichten

Ich weiß, dass ich mit diesem Artikel etwas spät zur Party komme, aber dafür fliessen um so mehr Informationen ein. Ubuntu 12.04 hat insgesamt ein sehr positives Echo bekommen und ich bin der Meinung, das man es out-of-the-box gut einsetzen kann. Wie immer schreibe ich auch ein paar generelle Dinge, die ich größtenteils aus den Vorgänger-Artikeln übernehmen werde.
Continue reading

Darum mag ich Opera

Am Freitag hat Chris von Linux und ich ein Blog-Stöckchen zum Thema Darum mag ich Foobar gestartet. Es geht darum besondere Aspekte eines Programmes hervorzuheben, welches man auf seinem Desktop nicht mehr missen möchte. Blog-Paraden finde ich eher nervig, aber das Konzept von Chris gefällt mir, weil man auch von bekannten Programmen neue Aspekte kennenlernt. Aus Chris’ Darum mag ich Totem habe ich bspw. gelernt, dass man in Totem automatisch Untertitel aus dem Netz laden kann.

Hier also mein ungefragter Beitrag zum meines Erachtens am meisten unterschätzten Stück Software: Dem Opera Browser. Und der Aspekt, den ich hervorheben möchte ist…

Opera als Recherchetool

Opera Sitzungen

Der Schlüssel zu Operas Nützlichkeit als Recherchetool ist die Sitzungsverwaltung, welche man unter Fenster und Tabs -> Sitzungen erreicht. Man kann alle geöffneten Tabs als Sitzung abspeichern. Es werden allerdings nicht nur die Adressen der geöffneten Tabs gespeichert. Es wird die gesamte History jedes einzelnen Tabs gespeichert. Also auch die Seiten, die innerhalb des Tabs zuvor besucht wurden. Ausserdem merkt sich Opera, an welche Stelle die einzelen Seiten gescrollt waren. Das gilt sowohl für die aktuellen Seiten in einem Tab, wie auch für die in der History.

Öffnet man später eine Sitzung kann man so leicht nachvollziehen, wo man in seinen Recherchen stehengeblieben ist. Dadurch ähnelt die Sitzungsverwaltung von Opera eher einem Haufen aufgeschlagener Bücher mit Haftnotizen, als einer Sammlung von Bookmarks.

Ich möchte noch ein paar weitere Punkte nennen, die Opera als Recherechetool nützlich machen. Zum einen gibt es eine Möglichkeit Tabs (thematisch) zu gruppieren. Diese Funktion wird Tab Stacking genannt (Video). Gerade bei einer Recherche navigiert man auch viel in der History hin und her. Opera unterstützt das nicht nur, in dem es sich merkt, wo man vergangene Seiten verlassen hat. Angenehm ist auch die Geschwindigkeit, mit der man navigieren kann. Zum einen gibt es keine Ladezeit. Seiten aus der History werden ohne Verzögerung angezeigt. Zum anderen beschleunigen Operas integrierte Mausgesten die Navigation immens. Will man bspw. 5 Seiten zurückblättern hält man die rechte Maustaste gedrückt und tippt 5x auf die linke Taste. Vorwärts blättern funktioniert genau umgekehrt.

Abschließende Tips: Auf einigen Seiten hat man doch Ladezeiten beim Blättern (wenn sie extensiv Javascript nutzen). Diese Ladezeiten eliminiert man, wenn man opera:config#UserPrefs|HistoryNavigationMode auf dem Wert 3 setzt. Will man Seitenladezeiten noch weiter optimieren, empfehle ich den integrierten Flashblocker zu aktivieren (funktioniert wie das Flashblock-Addon von Firefox) mit STRG+F12 -> Erweitert -> Plug-ins nur auf Aufforderung aktivieren.

gestartet. Es geht darum besondere Aspekte eines Programmes hervorzuheben, welches man auf seinem Desktop nicht mehr missen m