Wie kann ich benutzerdefinierte Tastaturkürzel vom Terminal für verschiedene Linux-Versionen festlegen?
Grundsätzlich möchte ich wissen, wo Linux die Tastenkürzeldateien speichert und wie sie bearbeitet werden können.
Bei meinen Recherchen habe ich eine Datei gefunden, die ~/.config/compiz-1/compizconfig
jedoch mehr oder weniger verschlüsselt war, als ich sie öffnen wollte nano
.
command-line
keyboard
shortcut-keys
Anonymes Schnabeltier
quelle
quelle
Antworten:
Hinzufügen von Tastenkombinationen in zwei Schritten über die Befehlszeile (14.04+)
Das Hinzufügen von benutzerdefinierten Verknüpfungen über die Befehlszeile ist zwar möglich, jedoch etwas kompliziert. Dies muss pro Tastenkombination in wenigen Schritten erfolgen. Auf der anderen Seite, es ist ziemlich einfach und sehr gut scripted werden kann , wenn man es irgendwie von der Kommandozeile tun will (das war die Frage, nicht wahr?).
Wie in Ihrer Benutzeroberfläche (Systemeinstellungen> "Tastatur"> "Kurzbefehle"> "Benutzerdefinierte Kurzbefehle") werden benutzerdefinierte Kurzbefehle in zwei Schritten über die Befehlszeile erstellt:
Erstellen Sie die Tastenkombination, indem Sie die vom Befehl zurückgegebene Liste bearbeiten (hinzufügen):
Die zurückgegebene Liste sieht wie folgt aus (wenn es derzeit nur eine Verknüpfung gibt):
Wenden Sie die bearbeitete Liste mit dem folgenden Befehl an:
(Beachten Sie die doppelten Anführungszeichen)
NB überflüssig zu erwähnen , dass die Erwähnung in der Liste (zB
custom1
,custom2
) sollte ein einzigartiger sein. Wenn Sie ein Skript erstellen, sollte das Skript Duplikate verhindern. In diesem Fall sollte die bearbeitete Liste wie folgt aussehen:um eine Tastenkombination hinzuzufügen:
custom1
Setze seine Eigenschaften:
Name:
Befehl:
Tastenkombination (zum Beispiel
<Primary><Alt>g
):Nützliche Informationen finden Sie hier
Beispielskript zum Festlegen einer neuen benutzerdefinierten Verknüpfung
Mit dem folgenden Skript können Sie eine neue Tastenkombination über die Befehlszeile festlegen. Es kann mit dem Befehl verwendet werden (vorausgesetzt, die Tastenkombination ist verfügbar):
Ein Beispiel:
So legen Sie fest, dass eine Tastenkombination
gedit
mit der Tastenkombination Alt+ geöffnet wird 7:Das Drehbuch:
Wie benutzt man:
Fügen Sie das Skript in eine leere Datei ein, speichern Sie es unter
set_customshortcut.py
und führen Sie es wie oben beschrieben aus.Einige der am häufigsten verwendeten Schlüsselerwähnungen (experimentell gefunden, unter Berücksichtigung der Änderungen, die die grafische Benutzeroberfläche an dem Bindungswert vorgenommen hat):
usw.
quelle
custom-keybinding
sollte am Ende kein "s" enthalten, wenn Sie sich in einem Schema befinden. Es sollte jedoch "s" enthalten, wenn es als Schlüssel oder im Pfad fungiert. Andernfalls löst der Befehl "set" eine Ausnahme aus. Entfernen Sie daher das "s" voncustom-keybinding
im Schema. Außerdem sollte Ihr Python-Skript auch aktualisiert werden.gsettings
zurückgegeben,@as []
was nicht ausgewertet wird.Es gibt eine einfache Möglichkeit, dies zu tun
dconf
:Verwenden von
gsettings
:Sie müssen die Anzahl im
custom0
Teil erhöhen, um weitere Bindungen hinzuzufügen, d. H.custom1
,custom2
Usw.Um es dauerhaft zu machen, fügen Sie es einfach
.bash_profile
einem oder einem ähnlichen Skript hinzu, das von Login-Shells ausgeführt wird. Nur tun Sie es nicht für Nicht-Login - Shells ,.bashrc
weil aus meiner Erfahrung dieserdconf
undgsettings
langsam es deutlich nach unten. Das Ändern / Hinzufügen von 30 Bindungen dauert eine Sekunde! Sie möchten dies nicht in der Nicht-Login-Shell (.bashrc
)!quelle
custom0
der benutzerdefinierten Verknüpfungsliste hinzufügen , zgsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['.../custom1/']"
. B. mit . Ich weiß es nichtdconf
.dconf dump DIR
auf eine ganze subpath zu stdout Dump. Die Ausgabe erfolgt in einem keyfile-ähnlichen Format mit Werten in GVariant-Syntax.Alle Einstellungen für benutzerdefinierte Tastaturkürzel werden in der Datenbank dconf gespeichert.
Sie können leicht darauf zugreifen mit
dconf-editor
:Gehen Sie dann im Editor zu folgendem dconf-Pfad:
quelle
Hinzufügen von Tastenkombinationen über die Befehlszeile in 12.04
Um zu verhindern, dass die akzeptierte Antwort zu umfangreich wird, veröffentlichen Sie eine separate Lösung für den 12.04.
Bis einschließlich 12.04 werden benutzerdefinierte Tastenkombinationen nicht in der
dconf
Datenbank gespeichert, sondern in~/.gconf/desktop/gnome/keybindings
(in einer XML-Datei, in Unterordnern wiecustom0
usw.).Das folgende Skript erstellt die
xml
Datei und den zugehörigen Ordner, die automatisch korrekt benannt werden.Wie benutzt man
set_customshortcuts_12.py
Führen Sie es mit dem Befehl aus:
key3
ist optional, Befehle können zum Beispiel sein:oder
Anmerkungen
quelle
Sie können mithilfe von sed eine neue benutzerdefinierte Verknüpfung ohne Python-Skript festlegen. Sie müssen nur Name , Bindung und Aktion in dem folgenden Skript auf Ihre Wahl einstellen :
quelle
Schrieb ein Skript dafür. Siehe unten.
Siehe die Verwendung im
creatShortcut
Aufruf.quelle
Ich fand die Antwort von @JacobVlijm sehr nützlich, insbesondere das Skript. Ich habe den Code nach portiert
bash
. Ich bin nicht der Meinung, dass diese Funktion perfekt ist. Sie enthält möglicherweise einige Fehler, funktioniert jedoch bei mir.quelle