Shift-Backspace beendet X

31. Oktober 2009

Unglaublich, wie oft man <Shift>-<Backspace> drückt, ohne es zu merken. Normalerweise, denn seit dem Upgrade auf Karmic beendet mir diese Tastenkombination den X-Server, er wird heruntergefahren und ich muss mich neu anmelden. Natürlich sind alle Programme dann geschlossen und alle nicht gesicherten Änderungen verloren.

Schuld daran ist Xmodmap, irgendwie wurde die Datei ~/.Xmodmap verändert, darin findet sich nämlich jetzt die Zeile

keycode 22 = BackSpace Terminate_Server BackSpace Terminate_Server BackSpace Terminate_Server

Die Lösung fand ich im Forum von ubuntuusers.de, einfach die Zeile so ändern:

keycode 22 = BackSpace BackSpace BackSpace BackSpace BackSpace BackSpace

GnuPG und Enigmail unter Karmic

29. Oktober 2009

Ich nutze Thunderbird, um meine eMail-Korrespondenz zu erledigen, und Enigmail mit GnuPG, um die Mails zu signieren. Doch seit dem Upgrade auf Karmic meldet Enigmail jedes Mal eine Fehlermeldung von GnuPG:

Fehlermeldung von GnuPH

Fehlermeldung von GnuPG

Das Problem ist wohl, dass seit Karmic der so genannte Agent seit Karmic in dem Extra-Paket »gnupg-agent« vorliegt und daher nachinstalliert werden muss:

sudo apt-get install gnupg-agent

Damit wird auch gleich das Paket pinentry-gtk2 mitinstalliert, über das das Passwort abgefragt wird. Es besteht die Hoffnung, dass sich dieses im Gegensatz zum Vorgänger in Zukunft immer in den Vordergrund schiebt, wenn es um das Passwort bittet.

Doch mit der Installation ist es noch nicht getan, der Daemon muss auch gestartet werden. Dazu legt man die Datei ~/.xinitrc an (wenn noch nicht vorhanden) und trägt Folgendes ein (wenn die Datei schon vorhanden ist, fügt man die zweite Zeile an das Ende an):

#!/bin/sh
/usr/bin/gpg-agent ‐‐daemon ‐‐enable-ssh-support ‐‐write-env-file “${HOME}/.gpg-agent-info”

Die Datei muss noch ausführbar gemacht werden und schon klappt es wieder mit dem Signieren und Verschlüsseln:

chmod +x ~/.xinitrc

Die Fehlermeldung in (such)maschinenlesbarer Form:

Send operation aborted. Error - bad passphrase gpg command line and output: /usr/bin/gpg --charset utf8 --batch --no-tty --status-fd 2 -t --clearsign -u <user@mail.tld> use-agent gpg: GPG-Agent ist in dieser Sitzung nicht vorhanden gpg: Passwortsatz kann im Batchmodus nicht abgefragt werden gpg: Ungültige Passphrase; versuchen Sie es bitte noch einmal... gpg:  »<user@mail.tld>« übersprungen: Falsche Passphrase gpg: [stdin]: clearsign failed: Falsche Passphrase

Karmische Nacharbeit

29. Oktober 2009

Wie üblich stehen nach einem Upgrade einige kleinere Nacharbeiten an:

  • Auf dem einem meiner Systeme wird Compiz nicht mehr automatisch gestartet, hier half ein Eintrag unter System » Einstellungen » Startprogramme. Einfach auf Hinzufügen klicken, als Name “Compiz” eintragen, der Befehl ist"/usr/bin/compiz.real ‐‐replace" und als Kommentar zum Beispiel “Startet den Composite- und Fenstermanager Compiz” (kannst Du aber auch leer lassen). Nochmal auf Hinzufügen klicken, fertig.
    Startprogramm einrichten

    Startprogramm einrichten

  • Auf dem anderen System stand ich auf einmal ohne WLan da. Ich habe eine Atheros-Karte, die den Treiber “ath5k” verwendet. Nach ein bisschen nachforschen fand ich heraus, dass das Treibermodul wegen der Bugs #315056 & #323830 auf einer eigenen Blacklist steht. Laut dieser soll man jockey () verwenden, um einen entsprechenden Treiber auszuwählen. Dummerweise bat jockey ihn mir nicht an.
    Um sofort wieder WLan zu haben, genügt ein “sudo modprobe ath5k” im Terminal, damit es aber auch in Zukunft geladen wird, muss die Zeile “blacklist ath5k” aus der Datei “/etc/modprobe.d/blacklist-ath_pci.conf” auskommentiert (“#blacklist ath5k”) oder die Datei gelöscht werden (“sudo rm /etc/modprobe.d/blacklist-ath_pci.conf” im Terminal).
  • Beim Ersetzen von firefox-3.0 durch firefox-3.5 werden leider viele Desktop-Verknüpfungen nicht aktualisiert. Zwar zeigen sie nach wie vor auf /usr/bin/firefox, das jetzt Firefox 3.5 aufruft, aber als Icon nutzen die nach wie vor die nicht mehr vorhandene Datei /usr/share/pixmaps/firefox-3.0.png. Das Ergebnis sind unschöne fehlende Icons:

    Fehlendes Firefox-Icon

    Fehlendes Firefox-Icon

    Ein einfacher Link löst das Problem:

    sudo ln -s /usr/share/pixmaps/firefox-3.5.png /usr/share/pixmaps/firefox-3.0.png

    (Eventuell muss das Paket firefox neu installiert werden)

  • Seit GNOME 2.28 werden in Menüs standardmäßig keine Icons mehr angezeigt. Dies ist eine Entscheidung, die Upstream von den GNOME-Entwicklern getroffen wurde, nicht von Canonical oder der Ubuntu Community. Wenn du das alte Verhalten wiederherstellen möchtest, genügt ein Befehl in der Konsole:
    gconftool-2 -s --type bool /desktop/gnome/interface/menus_have_icons true

    Um die Icons wieder auszuschalten ebenfalls:

    gconftool-2 -s --type bool /desktop/gnome/interface/menus_have_icons false
  • Grub kommt mit Karmic in der Version 2, wird aber bei einem Upgrade aus Sicherheitsgründen nicht automatisch mit upgegradet. Wie man das manuell nachholen kann, findet man auf ubuntuuusers.de.

Karmischer Koala

29. Oktober 2009

Heute hat die neuste Ubuntu-Version 9.10 mit Namen »Karmic Koala« (Karmischer Koala) das Beta-Stadium verlassen und ist veröffentlicht worden.
Den direkten Download gibts auf der offiziellen Seite, oder man nutzt BitTorrent, um die Servlast zu minimieren.

Erste Eindrücke sind:

  • Das neue Design gefällt, ganz besonders usplash und xsplash beim Booten
  • Gnome aktualisiert nun auch nach dem Booten, mit welcher Stromquelle mein Laptop gerade betrieben wird

PDFs nachträglich bearbeiten

21. Oktober 2009

Hin und wieder kommt man in die Verlegenheit, ein pdf-Dokument ändern zu müssen. Mit Openoffice.org 3 Zeichnung (auf Englisch Draw), was ab Ubuntu 9.04 Jaunty Jackalope standardmäßig installiert ist, funktioniert das mit vielen (leider nicht allen) pdf-Dokumenten ganz gut. Voraussetzung ist aber ein installiertes Plugin, das normalerweise nicht installiert ist.

Es handelt sich dabei um die Sun PDF Import Extension, die sich in Ubuntu unter dem Namen openoffice.org-pdfimport ganz bequem über die Paketverwaltung beziehen und installieren lässt.

Beim Bearbeiten stößt man oft auf das Problem, dass die korrekten Schriftarten fehlen, stattdessen wird eine Ersatz-Schriftart verwendet, die natürlich nicht die gleichen Breiten hat, und somit das Layout zerstört. Abhilfe schafft natürlich, die Schrift zu installieren, natürlich sofern man weiß, wie die Schriftart heißt. Dies ist kein Problem, einfach das pdf-Dokument mit dem Dokumentbetrachter evince öffnen, dort auf Datei » Eigenschaften (oder Alt+Enter) und den Reiter Schrift wählen. Hier befindet sich eine Liste aller Schriftarten:

Reiter "Schrift" in evince

Reiter "Schrift" in evince

Hostname in der Fritzbox

13. September 2009

Wer eine Fritzbox sein Eigen nennt, wird festgestellt haben, dass sowohl Windows- als auch MacOS-Systeme ihren Hostnamen korrekt an die Fritzbox melden, mit Ubuntu-Systemen klappt dies jedoch nicht.

Um das zu ändern ist nur ein kleiner Eingriff ins System nötig. Zuerst braucht man die MAC-Adresse seiner WLAN-Karte. Diese erhält man am einfachsten im Terminal mit folgendem Befehl:

% ifconfig <Gerät>

<Gerät> steht hierbei für die WLAN-Karte und ist meist etwas wie eth0 oder ath0. Wenn man das Gerät nicht kennt, kann man es auch weglassen, dann werden alle Geräte angezeigt, und man muss die richtige heraussuchen.

In der Ausgabe findet man nun die MAC-Adresse:

ath0      Link encap:Ethernet  Hardware Adresse 00:1a:2b:3c:4d:5e
inet Adresse:192.168.178.22  Bcast:192.168.178.255  Maske:255.255.255.0
inet6-Adresse: fe80::219:e0ff:fe8c:cd3d/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
RX packets:226783 errors:0 dropped:0 overruns:0 frame:0
TX packets:188469 errors:1 dropped:1 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:257943867 (257.9 MB)  TX bytes:19894136 (19.8 MB)

In meinem Fall ist es 00:1a:2b:3c:4d:5e

Diese Adresse am besten in die Zwischenablage kopieren (Strg-Shift-C). Danach öffnet man mit superuser-Rechten die Datei /etc/dhcp3/dhclient.conf im bevorzugten Editor:

% gksu gedit /etc/dhcp3/dhclient.conf

In der Datei muss man die Zeile

#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;

suchen, auskommentieren und die Adresse durch die eigene ersetzen (mit Strg-V):

send dhcp-client-identifier 00:1a:2b:3c:4d:5e;

Jetzt noch die WLAN-Verbindung neu starten (Rechtklick auf den NetworkManager, Funknetwerk deaktivieren und wieder aktivieren) und schon steht der Hostname in der Liste der Fritzbox. (dabei bekommt der Rechner aber auch eine neue IP-Adresse zugewiesen)

APE tags entfernen

07. Juni 2009

Mit der neuen Ubuntu-Version Jaunty Jackalope vom April 2009 wurde Amarok auf Version 2 (meiner Meinung nach) verschlimmbessert. Für mich ein Grund, auf den Rhythmbox – den Standardplayer unter Ubuntu GNOME – umzusteigen, auch wenn der noch viele Macken hat. (Was sich auch in einer Version < 1.0 niederschlägt)

Mich stört unter anderem das folgende Problem: Falls eine mp3-Datei auch einen APE tag besitzt, wird dieser bevorzugt angezeigt. Leider lässt sich der nicht über Rhythmbox oder EasyTAG bearbeiten geschweige denn entfernen. Im Internet findet man an mehreren Stellen Anleitungen, (leider auf Englisch) diese funktionieren bei mir aber nicht. Stattdessen nutze ich HexEdit (hexedit in universe) und schneide einfach (per Esc-T) den Tag ab. (natürlich lege ich vorher eine Sicherheitskopie an) Dieser wird eingeleitet mit “APETAGEX” und endet am Dateiende. (zu diesem kann man mit “>” springen. Danach macht auch Rhythmbox keine Mucken mehr.

Bluetooth beim Booten abschalten

05. April 2009

Ich nutze meine Bluetooth-Schnittstelle so gut wie nie, umso mehr ärgert es mich, dass sie nach jeden Neustart eingeschaltet ist. Bisher hab ich sie immer manuell abgeschaltet, um Strom zu sparen. In den seltenen Fällen, in denen ich sie benötige, kann ich sie ja jederzeit mit Fn + F5 wieder einschalten.

Mit einem kleinen Skript an der richtigen Stelle wird Bluetooth beim Systemstart automatisch abgeschaltet. Hier eine kleine Schritt für Schritt Anleitung:

  • die Datei thinkpad-bluetooth-off (mit root-Rechten) im Verzeichnis /etc/init.d/ erstellen
  • Folgenen Inhalt eintragen:

#!/bin/sh
# This script turns off bluetooth.
# As I rarely need it I want it to be switched
# off by default after booting.
# Superuser priviliges are needed to access acpi
# and therefore to run this script

# Script idea copied from ThinkWiki
# http://www.thinkwiki.org/wiki/Script_for_toggling_bluetooth
if [ "$1" = 'start' ]; then
echo -n “disable” > ‘/proc/acpi/ibm/bluetooth’
else
echo “Call this script with the parameter \”start\” in order to turn bluetooth off.”
fi

  • die Datei ausführbar machen: sudo chmod +x thinkpad-bluetooth-off
  • In den »Autostart« der entsprechenden Runlevel eintragen: sudo update-rc.d thinkpad-bluetooth-off start 99 2 3 4 5 . (auf den “.” achten)

Sound stumm schalten

05. April 2009

Will man den Sound über die Konsole stumm schalten, bietet sich amixer an:

amixer -c 0 sset Master mute

stellt (zumindest bei mir) die erste Soundkarte stumm.

Verknüpft mit einem Resume-Skript kann man auf einfache Art und Weise dafür sorgen, dass keine peinlichen Startgeräusche beim Aufwecken des Laptops entstehen:

#!/bin/sh
# Auto-mute on resume to avoid embarrasing situations…
# Script written by Matthäus Brandl <mbrandl@gmx.de>
# Published under the GPLv3 or newer

case $1 in
 hibernate|suspend)
  # Do nothing on suspend
  exit 0
  ;;
 resume)
  # Normally after »Suspend to RAM« there is no need to mute
  exit 0
  ;;
 thaw)
  # Now mute the sound on resume
  amixer -c 0 sset Master mute
  ;;
 *)  echo “Error! Call this script with either hibernate, suspend, thaw or resume” >&2
  exit 1
  ;;
esac

Ein Script ausführen bei suspend und resume

05. April 2009

Es sind die verschiedensten Szenarien denken, für die man ein Skript direkt vor dem »Suspend to Disk« oder »Suspend to RAM« respektive direkt nach dem jeweiligen Aufwachen ausführen will.

Zu diesem Zweck nutzt man am Besten (unter Hardy) die pm-utils. Mit root-Rechten muss man eine Datei im Verzeichnis /etc/pm/sleep.d/ anlegen. Es beginnt am Besten mit einer zweiziffrigen Zahl, welche die Ausführreihenfolge festlegt, und hat die Dateiendung »sh«. Nicht vergessen, es ausführbar zu machen. Das Skript wird dann mit root-Rechten und dem folgenden Parameter ausgeführt:

  • hibernate: Starte »Suspend to Disk«
  • thaw: Erwache von »Suspend to Disk«
  • suspend: Starte »Suspend to RAM«
  • resume: Erwache von »Suspend to RAM«

Legt man also das Skript /etc/pm/sleep.d/99-test.sh mit dem folgenden Inhalt an:

#!/bin/sh
echo “$(date): Script called with $1″ >> /home/user/Desktop/sleep

erhält man auf seinem Dektop die Datei sleep mit zB folgendem Inhalt:

Sun Apr  5 19:31:11 CEST 2009: Script called with hibernate
Sun Apr  5 19:32:51 CEST 2009: Script called with thaw
Sun Apr  5 19:34:03 CEST 2009: Script called with suspend
Sun Apr  5 19:34:32 CEST 2009: Script called with resume

Ein universelles Gerüst für diese Dateien findet man im ArchWiki (en):

#!/bin/bash
case $1 in
    hibernate)
        echo "Hey guy, we are going to suspend to disk!"
        ;;
    suspend)
        echo "Oh, this time we're doing a suspend to RAM. Cool!"
        ;;
    thaw)
        echo "oh, suspend to disk is over, we are resuming..."
        ;;
    resume)
        echo "hey, the suspend to RAM seems to be over..."
        ;;
    *)  echo "somebody is calling me totally wrong."
        ;;
esac

Viel Spaß