Normalerweise lade ich für jedes Release eine neue Version, um mein Betriebssystem auf dem neuesten Stand zu halten und gleichzeitig die letzte Version auf einer anderen Partition als Backup zu behalten. Ich verwende auch viele benutzerdefinierte Tastenzuordnungen.
Ich habe bisher herausgefunden, wie ich den größten Teil meiner Konfiguration auf verschiedene Systeme übertragen kann, kann aber nicht herausfinden, wo die benutzerdefinierten Tastaturkürzel gespeichert sind.
Weiß jemand, wo der Gnom diese abstellt? Gibt es separate Benutzer-Konfigurationsdateien (zB ~ /) und System-Konfigurationsdateien (zB / etc)?
backup
keyboard-layout
Evan Scholle
quelle
quelle
gconftool-2 --dump /apps/metacity
oder so etwas.Antworten:
Ubuntu hat sich geändert, seit andere Antworten auf diese Frage geschrieben wurden.
Tastenkombinationen wurden von gconf zu dconf verschoben. Gconf speichert seine Daten in XML-Dateien und wurde von
gconf-editor
und zugegriffengconf-tool2
. Dconf speichert seine Daten in einem binären Format und greift aufdconf-editor
und zugsettings
.Die Anzahl der Speicherorte für Tastenkombinationen wird verringert. Es gibt jetzt einen zentralisierten dconf-Pfad zum Speichern von Window Manager-Tastenkombinationen (
org.gnome.desktop.wm.keybindings
). Das Verzeichnis enthält Zuordnungsdateien/usr/share/gnome-control-center/keybindings/
, die zeigen, wie diese auf der Grundlage des Fenstermanagers angewendet werden, den Sie tatsächlich verwenden (compiz oder metacity).Ein zweiter Satz von Tastenbelegungen, die sich nicht auf Window Manager beziehen, wird im Pfad dconf gespeichert
org.gnome.settings-daemon.plugins.media-keys
Es gibt einen dritten Satz von Tastenkombinationen in Bezug auf Netzschalter, die im dconf-Pfad gespeichert sind
org.gnome.settings-daemon.plugins.power
. Derzeit gibt es einen Fehler in der GUI, mit dem Sie Tastenkombinationen konfigurieren können. Es kennt diese Einstellungen nicht. Ich habe eine "Schlaf" -Taste auf meiner Tastatur. Wenn ich es anderen Funktionen zuweisen möchte, muss ich die Einstellungorg.gnome.settings-daemon.plugins.power
manuell deaktivieren . Die GUI erledigt das nicht für mich (obwohl sie die neue Funktionalität gut zuweist).Die andere Falte sind benutzerdefinierte Tastenkombinationen. Diese werden mit einem verschiebbaren Schema in dconf gespeichert. Es ist so gemacht, weil es eine willkürliche Anzahl von ihnen gibt. Ein vernünftiger Ansatz, der es jedoch schwieriger macht, sie über die Befehlszeile aufzulisten oder zu ändern, als es eigentlich sein sollte.
Ich habe auch herausgefunden, dass die GUI, mit der Sie Tastenkombinationen zuweisen können, in einer Weise eingeschränkt ist, die mich ärgert. Über die GUI kann jeder Aktion genau EINE Tastenkombination zugewiesen werden. In dconf können Sie ein Array von Bindungen für eine einzelne Aktion festlegen. Das ist nützlich für mich. Zum Beispiel möchte ich, dass die Aktion "Fenster schließen" sowohl dem traditionellen Alt-F4 als auch einem einfacher zu bedienenden Knopf auf meiner Tastatur zugewiesen wird.
Ich habe ein Perl-Skript geschrieben, um alle Tastenkombinationen in eine CSV-Datei zu schreiben oder sie aus der CSV-Datei wiederherzustellen. Um beispielsweise die Tastenkombinationen zu sichern, die Sie verwenden könnten:
./keybindings.pl -e /tmp/keys.csv
und um sie wiederherzustellen, könnten Sie verwenden:
./keybindings.pl -i /tmp/keys.csv
Dies schließt die Korrektur durch user2589537 ein , um benutzerdefinierte Befehle mit Anführungszeichen zuzulassen.
quelle
[org/mate/marco/global-keybindings]
,[org/mate/marco/window-keybindings]
...)So sichern Sie dconf-Einstellungen wie Tastaturkürzel
Gib sie alle in eine Datei:
Öffnen Sie diese Datei in einem Texteditor und wählen Sie die gewünschten Einstellungen aus:
Wenn Sie Vim verwenden, möchten Sie diese Syntaxhervorhebung .
Sie werden sich bald fragen, was ist
<Primary>
.Wenn Sie den Namen der Einstellung nicht kennen, aber wissen, wie Sie sie von einer GUI aus ändern können, führen Sie Folgendes aus
unity-control-center
:und ändern Sie sie dann. Die genaue Einstellung wird dann auf dem Terminal angezeigt.
Wenn Sie diese Einstellungen wiederherstellen möchten, führen Sie Folgendes aus:
Verfolge die Konfigurationsdatei, um sie niemals zu verlieren. https://github.com/andsens/homeshick ist meine derzeitige Lieblingsmethode.
Getestet unter Ubuntu 15.10. Tipp angepasst von: http://catern.com/2014/12/21/plain-text-configuration-gnome.html
Das Gnome-Terminal kann solche Änderungen leider nicht ausführen, da die Profil-IDs nicht vorhersehbar sind: Bearbeiten Sie das Gnome-Terminal-Profil über die Befehlszeile am 18.04
quelle
Die Tastaturkürzel werden nicht an einem einzigen Ort gespeichert
Abhängig von Ihrer Distributionsversion werden die Tastaturkürzel in der GUI möglicherweise als unterschiedliche Dinge bezeichnet, in der Befehlszeile sollten sie jedoch als "gnome-keybinding-properties" bezeichnet werden. Es stellt sich heraus, dass diese kleine Anwendung alle Verknüpfungen an einem praktischen Ort für die Benutzer zum Bearbeiten bringt.
Da es in Ubuntu kein Ein-Klick-Export- / Import-Tool für Tastenkombinationen gibt, habe ich eines in Python geschrieben:
Hier ist ein Link zum Skript
Ein Export ruft die Einstellungen aus dem System ab. Im Wesentlichen enthält es eine Liste aller Tastenkombinationen, die in einem Wörterbuch im Skript fest codiert sind. Das Skript zählt die Liste auf und führt den Befehl "gconftool-2 --get [location]" für jeden Schlüssel aus und speichert den Wert zusammen mit dem Schlüssel im Wörterbuch. Wenn Sie dann den Speicherort für die Einstellungen angeben, wird das Wörterbuch im json-Format in der Datei gespeichert.
Ein Importskript kehrt diesen Vorgang um. Es lädt das Wörterbuch aus der JSON-Datei. Anschließend werden diese aufgelistet und der Befehl "gconftool-2 --type string --set [location] [value]" ausgeführt, um alle gespeicherten Einstellungen wiederherzustellen.
Ein Schuss auf beiden Seiten und es speichert / stellt jede einzelne Tastenkombination wieder her, ohne eine der anderen Systemkonfigurationseinstellungen zu berühren.
Die einzigen Abhängigkeiten für diese Skripte sind:
Zum Ausführen des Skripts wird Python benötigt, zum Abrufen / Festlegen der Einstellungen wird gconftool-2 verwendet, für die GUI-Dialoge zum Laden / Speichern von Dateien ist Zenity erforderlich.
Ich habe einen Eintrag in Ubuntu Brainstorm erstellt und mache Fortschritte bei der Einführung dieser Funktion in das GUI-Menü 'gnome-keybinding-properties'.
Aktualisieren:
Ich habe die Import- und Export-Skripte zu einem zusammengefasst, die volle Befehlszeilenfunktionalität (einschließlich --help info) hinzugefügt und sie für python2x und python3k kompatibel gemacht. Außerdem wurde der Link zur Ubuntu Brainstorm-Idee hinzugefügt.
quelle
gnome-keybinding-properties
und einen Patch mit Ihrem Skript veröffentlichen.Keyboard Shortcuts
ie.gnome-keybinding-properties
... oder andere Tastenkombinationen, die zum Beispiel vonXbindkeys
... hinzugefügt wurden, also vermute ich, dass gconf 'nicht dort ist, wo die systemweiten Verknüpfungen "gespeichert" sind, sondern dass es sich um eine Schnittstelle zu etwas / irgendwo Tieferem handelt ... (I hab diesen ort gesucht .. :). Vielleicht muss ich nur 3 'exportierte' Listen für denIn 11.10 mit Gnome classic habe ich eine Reihe von Verzeichnissen (Custom0, Custom1 ...) unter gefunden
Ich habe diese Verzeichnisse in einer sauberen 12.04-Installation in denselben Ordner kopiert (wieder mit Gnome-Fallback ausgeführt), mich abgemeldet und wieder angemeldet. Die Tastenkombinationen sind beim Übergang etwas durcheinander geraten (etwas Komisches ist mit dem SUPER-Modifikator passiert), aber ansonsten waren sie da.
quelle
Es gibt ein kleines Problem mit der akzeptierten Antwort, da es keine benutzerdefinierten Befehle mit Anführungszeichen verarbeiten kann. Ich habe nur die Verarbeitung von benutzerdefinierten Befehlen geändert, um eine korrekte Ausgabe zu generieren.
quelle