Zeige mir meine Aliase und Tastenkürzel

  Ralf Hersel   Lesezeit: 4 Minuten  🗪 8 Kommentare Auf Mastodon ansehen

Wäre es nicht schön, per Tastendruck die eigenen Aliase und Tastenkürzel in einer Übersicht anzeigen zu können? Dieser Artikel beschreibt, was geht und was schwierig ist.

zeige mir meine aliase und tastenkürzel

Ich schreibe gerne Artikel, bei denen am Anfang nicht klar ist, was am Ende herauskommen wird. So auch dieser. Häufig steht am Anfang ein Bedürfnis oder eine Idee. Meistens gibt es mehrere Möglichkeiten, wie sich das Bedürfnis umsetzen lässt.

Das Bedürfnis

Die meisten Anwender:innen der GNOME-Desktop-Umgebung geben sich – früher oder später – nicht mit der Grundfunktionalität zufrieden, sondern konfigurieren ihre Oberfläche so, dass ihr Workflow besser unterstützt wird. Dafür bieten sich die GNOME-Shell-Erweiterungen an, oder auch diverse Tastenkürzel oder Aliase. In meinem Fall habe ich einige Tastenkombinationen mit Befehlen belegt, um bestimmte Anwendungen zu starten. So ruft z. B. bei mir die Tastenkombination SUPER+C den Taschenrechner auf. Zudem habe ich ein paar Aliase eingerichtet, damit ich im Terminal einen Befehl oder eine Befehlskette mit einem einfachen Schlüsselwort starten kann.

Manchmal weiss ich nicht mehr, welche Abkürzungen ich konfiguriert habe, was diese Erleichterung ad absurdum führt. Entweder man weiss auswendig, was man tippen oder eingeben soll, oder eben nicht. Selbstverständlich kann man in den GNOME-Tastatureinstellungen nachsehen oder im Terminal 'alias' eingeben, um zur gewünschten Information zu gelangen, aber damit ist der Vorteil vergeben.

Deshalb möchte ich meine Aliase und Tastenkürzel auf Knopfdruck anzeigen lassen, z. B. mit SUPER+?

Lösungsansätze

Bevor ich das implementieren konnte, musste ich zuerst einmal wissen, wie man programmatisch zu diesen Informationen kommt. Bei den Aliasen ist es sehr einfach: man tippt im Terminal: alias.

Möchte man wissen, welche Tastenkürzel eingerichtet sind, finden sich diese in den GNOME-Einstellungen:

Dabei handelt es sich nur um die "eigenen" Tastenkürzel. Tatsächlich gibt es weitere Shortcuts, welche als Standardeinstellungen zur Verfügung stehen und auf Wunsch belegt werden können, z. B. für den Dateimanager oder den Taschenrechner. Das riecht nach Schwierigkeiten bei der Implementierung meines Bedürfnisses.

Weitere Tastenkürzel in den GNOME-Einstellungen

Folgt man Ockhams Rasiermesser (Prinzip der Parsimonie, Sparsamkeitsprinzip), ist die Lösung klar: Erstelle eine Textdatei mit den gewünschten Informationen und zeige diese auf Knopfdruck an. Zack, fertig:

Der Befehl dafür, in den GNOME-Tastatureinstellungen lautet:

gnome-text-editor ~/alias_and_shortcuts.txt

Damit wird der Standard-Texteditor von GNOME mit der angegebenen Datei geöffnet (Achtung: Pfad).

Wer es etwas nerdiger mag, kann Zenity verwenden, was mir besser gefällt:

Der Befehl dafür heisst:

zenity --text-info --title 'Aliase & Shortcuts' --width 400 --height 550 < ~/alias_and_shortcuts.txt

Das sieht zwar schöner aus, hat aber den Nachteil, dass es eine reine Anzeige ist, ohne Editiermöglichkeiten. Ausserdem müssen die Ausmasse (width, height) manuell an den Text angepasst werden.

Alles halber Kram

Der grosse Nachteil, der oben gezeigten Editor-Lösungen ist, dass sie nicht zwingend der Wahrheit entsprechen. Die Textdatei weiss nicht, welche Shortcuts und Aliase ihr tatsächlich eingestellt habt. Wie man die Aliase ausliest, habe ich oben bereits gezeigt. Bei der Aufbereitung für eine lesbare Anzeige, ergeben sich Probleme, weil z. B. die Zeile:

rec='arecord -vv --format=cd --file-type raw | lame -r - aufnahme.mp3'

... nicht das ist, was man wissen möchte. Sie sollte so aussehen:

Vom Mikrofon aufnehmen: rec

Aufgrund der fehlenden Informationen in der Ausgabe von alias, ist das unmöglich.

Doch wie sieht es bei den Tastaturkürzeln aus? Diese kann man mit diesem Shell-Skript ermitteln:

#!/usr/bin/env bash

schema="org.gnome.settings-daemon.plugins.media-keys"
list=$(gsettings get "$schema" custom-keybindings | tr -d "[]',")

for path in $list; do
  fullpath="${schema}.custom-keybinding:${path}"
  name=$(gsettings get "$fullpath" name)
  command=$(gsettings get "$fullpath" command)
  binding=$(gsettings get "$fullpath" binding)
  echo "Name=$name, Binding=$binding"
done

Das Ergebnis sieht so aus:

Na ja, das geht so, ist aber noch weit entfernt von optimal. Der Nachteil ist, dass nur die 'custom-keybindings' ausgegeben werden. Das kann man erweitern, indem man andere Schemata einbezieht. Doch dazu habe ich jetzt keine Lust.

Fazit

Wer die Hilfe zur Hilfe anzeigen möchte, kann die Alias-Definitionen und die Tastenkürzel programmatisch auslesen und mit viel Gefrickel mittels eines Tastendrucks (z. B. SUPER+?) anzeigen lassen. Da diese Einstellungen nicht so häufig angepasst werden, empfehle ich die einfachere Methode. Falls euch das nützlich ist, könnt ihr die Aliase und Tastenkürzel einfach in eine Textdatei schreiben und diese auf Tastendruck anzeigen lassen.

Es grüsst euch, Wilhelm von Ockham

Titelbild: selbst

Quellen: in Text

Tags

alias, Tastenkombination, Hilfe, Shortcut, Tastaturkürzel

David
Geschrieben von David am 18. Dezember 2025 um 12:07

Ockhams Klinge ist an sich ein erkenntnistheoretischer Ansatz, der bei der Theorienbildung über ein Phänomen zunächst die einfachsten Hypothesen (z.B. die mit den wenigsten Vorraussetzungen; einfachste Mechanismen die eine Erklärungsansatz bieten könnten; über was einfach ist, gibt es gelegentlich Streit) preferiert. Bei Keep It Simple Stupid (KISS) Prinzipien im Bereich Software sehe ich nicht den Zusammenhang, es fehlt die Menge Hypothesen zwischen denen man sich entscheiden soll.

Ralf Hersel Admin
Geschrieben von Ralf Hersel am 18. Dezember 2025 um 18:40

Ich verwende Ockhams Prinzip gerne im Alltag. Die erste Wahl ist meistens die einfachste und beste Wahl.

David
Geschrieben von David am 18. Dezember 2025 um 12:12

Aber was ist die SUPER-Taste ...

Ralf Hersel Admin
Geschrieben von Ralf Hersel am 18. Dezember 2025 um 18:28

Das ist die Windows-Taste (links unten auf der Tastatur). Die betriebssystemunabhängige Bezeichnung lautet SUPER-Taste.

Hesti
Geschrieben von Hesti am 18. Dezember 2025 um 14:55

Bei xfce4 funzt das so nicht! für Alle Shortcuts: xfconf-query --channel xfce4-keyboard-shortcuts --list --verbose oder erweitert für persönliche Shortcuts: xfconf-query --channel xfce4-keyboard-shortcuts --list --verbose | sort | grep "/commands/custom/"

MfG Hesti

niels
Geschrieben von niels am 18. Dezember 2025 um 16:05

Habe früher meine Alias mit einem ## in der Zeile darüber dokumentiert und daraus eine Doku generiert.

werschreibt
Geschrieben von werschreibt am 18. Dezember 2025 um 20:53

Spaßeshalber hier das Tastaturkürzel-Skript shorts.sh adaptiert für mein Linux Mint 22 MATE:

#!/usr/bin/env bash

rootdir="/org/mate/desktop/keybindings/"
customdirs=$(dconf list "$rootdir")

for dir in $customdirs; do
  fullpath="${rootdir}${dir}"
  action=$(dconf read "$fullpath"action)
  binding=$(dconf read "$fullpath"binding)
  name=$(dconf read "$fullpath"name)
  echo "Name=$name, Binding=$binding"
done

Beispielausgabe:

Name='Dateiverwaltung', Binding='\e'
Name='Größe des aktiven Fensters anpassen und zentrieren', Binding='\F12'
Name='CopyQ anzeigen', Binding='\v'
Name='Ein Bildschirmfoto aufnehmen', Binding='\Print'
Name='Ein Bildschirmfoto eines Fensters aufnehmen', Binding='\Print'
Name='Ein Bildschirmfoto eines Bereichs aufnehmen', Binding='Print'

werschreibt
Geschrieben von werschreibt am 19. Dezember 2025 um 11:34

Die Beispielausgabe ist fehlerhaft.

Offenbar hat das Kommentarskript Probleme mit dem Escapen von "kleiner als" und "größer als". In der Vorschau habe ich escapen müssen, damit es korrekt dargestellt wird, aber hier ist es nun falsch.

Hier die korrekte Variante in meinem eigenen Blogbeitrag: Benutzerdefinierte Tastenkürzel unter Linux Mint 22 MATE ausgeben