Tastenkombinationen optimieren

Ich hatte mich unter Windows bereits an die Benutzung der Windows-Taste gewöhnt. Windows+D zur Anzeige des Desktops und andere Kleinigkeiten habe ich nun versucht unter Ubuntu nachzubasteln.

Zunächst wird unter Ubuntu die Windows-Taste wie eine richtige Taste behandelt und nicht wie eine Modifizierer-Taste (wie z.B. Shift oder Strg). Das lässt sich jedoch System/Einstellungen/Tastatur ändern. Dort wählt man „Other Options“ (Ubuntu 8.10) bzw. „Belegungseinstellungen“ (Ubuntu 8.04). Dort öffnet man die Ansicht „Alt/Win key behaviour“ und wählt „Hyper is mapped to the Win-Keys“.

Jetzt kann man unter System/Einstellungen/Tastenkombinationen Tasttenkombinationen vergeben und dabei die Windows-Taste verwenden. Wenn man das ohne die vorherige Änderung durchführt erscheint schon beim Druck auf die Windows-Taste der Eintrag „Super L“ und die Festlegung ist schon beendet. Ist „Hyper“ aktiv wartet Ubuntu auf den Druck einer zusätzlichen Taste, so dass Tastenkombinationen verwendet werden können.

Auf diese Weise lassen sich schon einmal folgende Tastenkombinationen aktivieren, die unter Windows standardmäßig so belegt sind:
Desktop anzeigen (Win+D) = Fenstermanagement / Alle Fenster verbergen und den Desktop fokussieren
Ausführen (Win+R) = Desktop / Den „Anwendung ausführen“ Dialog des Panels anzeigen
Bildschirm sperren (Win+L) = Desktop / Bildschirm sperren
Explorer (Win+E) = Desktop / Persönlicher Ordner
Suchen (Win+F) = Desktop / Suchen

Jetzt gibt es an meinem Lenovo 3000 N200 noch Fn-Tastenkombinationen, die zwar unter Windows etwas bewegen, unter Ubuntu jedoch nichts tun. Das ist zum Beispiel die Fn+F5 Taste, die unter Windows eine Auswahl von WLAN Access Points anzeigt. Eine Analyse mittels sudo showkey von einem reinen Textterminal (z.B. Strg+Alt+F1) zeigt, dass diese Taste den Keycode 238 hat. Ob weiterführend diesem Keycode ein X Event zugeordnet ist erfährt man mit xev (X event tester). Es sollte von einer Konsole gestartet werden, damit man die Ausgabe sehen kann. Dort erfährt man, dass das Event XF86WLAN heißt.

Diese Taste möchte ich zum Leben erwecken. Zunächst möchte ich mit dieser Taste das Ethernet (LAN) abschalten. Dazu öffne ich den Konfigurationseditor gconf-editor und setze folgende Einstellungen:
/apps/metacity/keybinding_commands/command_1 = sudo ifconfig eth0 down
/apps/metacity/global_keybindings/run_command_1 = XF86WLAN
Das gibt Ubuntu zu verstehen, dass beim Auftreten des X Events XF86WLAN, welches beim Druck der Taste Fn+F5 ausgelöst wird, das Kommando sudo ifconfig eth0 down ausgeführt werden soll.

Jetzt benötigt dieser Aufruf leider ein Passwort, so dass das Kommando nicht erfolgreich ausgeführt werden kann, wenn die Taste gedrückt wird. Da muss man noch ein bisschen Nacharbeit leisten: mit dem Gruppenmanager (System/Systemverwaltung/Benutzer und Gruppen) oder alternativ auf der Konsole mit sudo nano /etc/group erstellt man eine eigene Gruppe für die Tastatur, z.B. mit dem Namen specialkeyuser. Dieser Gruppe fügt man den Benutzer hinzu, der diese Tastenkombination ausführen können soll. Spätestens jetzt muss man aber wieder einmal die Konsole bemühen, um mit sudo nano /etc/sudoers einen Eintrag zu erstellen, der der Gruppe specialkeyuser das Recht einräumt, sudo für ifconfig aufzurufen, ohne das Passwort einzugeben. Der Eintrag dafür lautet %specialkeyuser ALL=(ALL) NOPASSWD: /sbin/ifconfig.

Jetzt kann ich mit Fn+F5 den Ethernet-Adapter abschalten. Nur einschalten nicht… Dazu braucht man ein kleines Skript, welches den Adapterstatus prüft und abhänging davon den Netzwerkadapter ein- bzw. ausschält. Das könnte z.B. so aussehen:
#!/bin/bash
if [ `ifconfig | grep eth0 | wc -l` = "1" ]; then
sudo ifconfig eth0 down
else
sudo ifconfig eth0 up
fi

Zunächst wird mit ifconfig der Status aller Netzwerkkarten ausgegeben. Dann wird mit grep nach der Netzwerkkarte eth0 gesucht. Mit wc -l werden die übrig gebliebenen Zeilen gezählt. Ist die Anzahl 1, ist der Adapter gerade aktiv und muss beendet werden. Ist die Anzahl Zeilen 0, ist der Adapter nicht aktiv und muss gestartet werden. Das Skript habe ich unter dem Namen network.sh in meinem Home-Verzeichnis abgelegt mit mit chmod +x ausführbar gemacht. Zu guter letzt muss ich anstelle des bisherigen Eintrags mein kleines Skript ablegen:
/apps/metacity/keybinding_commands/command_1 = /home/user/network.sh

Randbemerkungen:
Das Shell-Skript ist vermutlich nicht sonderlich robust. Vergibt man beispielsweise mehrere IP-Adressen pro Netzwerkadapter, so gibt es den Anschluss eth0 mehrfach und das Skript würde das Zählen von Zeilen nicht mehr richtig machen. Für ein einfaches Laptop ohne Serverbetrieb sollte das Skript aber ausreichen.

Über Thomas

Umstieg: Ich stelle gerade von Windows XP auf Ubuntu um - mit mehreren Rechnern: mein etwas älterer Desktop PC (Athlon XP 2400+) und mein ebenfalls etwas älterer Laptop. Dann habe ich einen Testrechner, auf dem ich alles mit Ubuntu mache, was ich auf einem Produktivsystem nicht unbedingt tun möchte (Athlon XP 1700+). Meine Freundin nutzt inzwischen auch Ubuntu (Intel P4 2,6 GHz). Außerdem nutze ich ein NAS (Network attached storage) und einen selbstgebauten Multimedia PC (Duron 700 MHz) zum Abspielen von MP3s. Vorwissen: Meine Erfahrungen beschränken sich bisher hauptsächlich auf Windows und ein bisschen FreeBSD. Ansonsten bin ich Diplom-Informatiker, kenne mich also ein bisschen in den Details aus. Gründe: Windows XP finde ich noch ganz gut, die Frage ist jedoch, bis wann man für dieses OS noch Updates bekommt. Windows Vista ist für mich keine Alternative. Windows XP habe ich bisher aus dem Microsoft Action Pack Subscription bezogen. Seitdem Microsoft jedoch auch dort die Gängelung einführt, steige ich nun um.
Dieser Beitrag wurde unter Einrichtung, Laptop, Programmieren, Tipps, Ubuntu 8.04 Desktop, Ubuntu 8.10 veröffentlicht. Setze ein Lesezeichen auf den Permalink.

4 Antworten auf Tastenkombinationen optimieren

  1. Pingback: Ubuntu: WIN-Taste und FESTSTELLTASTE anpassen | + mzungu's weblog +

  2. Marcus sagt:

    wieso wird in dem Beispiel eth0 und nicht wlan0 verwendet, wenn es doch ums WLAN an/abschalten geht?
    mfg

  3. admin sagt:

    Hallo Marcus,

    in der Tat hätte ich das Beispiel noch auf WLAN abändern sollen. Beim Schreiben des Artikels von meinem Laptop aus (der per WLAN mit dem Internet verbunden ist), wollte ich es jedoch nicht am WLAN Adapter ausprobieren :-) So kommen manchmal eigenartige Berichte zusammen…

    Danke für den Hinweis.
    Thomas

  4. Pingback: Umstieg auf Linux » Ein paar schöne Seiten von Linux Mint

Die Kommentarfunktion ist geschlossen.