
Ich würde gerne wissen, wie ich ALLE Tastaturkürzel über das Terminal deaktivieren kann. Ich weiß, dass Sie sie deaktivieren können, indem Sie zu folgendem gehen:
Systemeinstellungen>Tastatur>Tastenkombinationen
aber ich möchte sie über das Terminal deaktivieren. Weiß jemand, wie das geht?
Antwort1
Ich habe keine Ahnung, warum Sie das tun möchten, und ich muss Sie warnen, dass es sehr kompliziert sein kann, die Tastenkombinationen wiederherzustellen. Wenn Sie das wirklich tun möchten, deaktivieren die folgenden Befehle alle Tastenkombinationen. Sowohl die über die GUI von Unity eingerichteten als auch alle, die Sie möglicherweise überccsm
A. Deaktivieren Sie die Unity-Tastaturkürzel
Erstellen Sie zunächst eine Sicherungskopie der aktuellen Bindungen, damit Sie diese später wieder aktivieren können
gsettings list-recursively org.gnome.desktop.wm.keybindings | perl -pe 's/(.*)\s*(\[.*?\])\s*$/$1\t$2\n/' | while IFS=$'\t' read -r key val; do echo -e "$key\t$val"; done > old_settings
old_settings
Dadurch wird eine Datei mit dem folgenden Format erstellt :schema key <TAB> value
Zum Beispiel:
org.gnome.desktop.wm.keybindings unmaximize <TAB> ['<Control><Super>Down']
Deaktivieren Sie nun die Verknüpfungen
gsettings list-recursively org.gnome.desktop.wm.keybindings | perl -pe 's/(.*)\s*(\[.*?\])\s*$/$1\t$2\n/' | while IFS=$'\t' read -r key val; do gsettings set $key ['']; done
Erläuterung
gsettings list-recursively org.gnome.desktop.wm.keybindings
: hier werden alle Tastenkombinationen und ihre aktuellen Werte aufgelistetperl -pe 's/(.*)\s*(\[.*?\])\s*$/$1\t$2\n/'
: Dadurch wird einfach ein TAB-Zeichen (\t
) hinzugefügt, das den Wert vom Schlüssel trennt. Dieser Schritt ist erforderlich, um sie im nächsten Schritt richtig lesen zu können.while IFS=$'\t' read -r key val
: Gehen Sie jede Zeile durch und lesen Sie den Schlüssel in$k
und seinen Wert in ein$val
.$IFS=$'\t'
bedeutetAufteilung auf Registerkartendamit Schlüssel und Wert richtig gelesen werden.gsettings set $key ['']
: Dadurch wird der Wert tatsächlich auf leer gesetzt, wodurch Ihre Verknüpfungen effektiv deaktiviert werden.
Beachten Sie, dass Sie sich möglicherweise ab- und erneut anmelden müssen, damit die Änderungen wirksam werden.
Holen Sie sich (einige) Ihrer Verknüpfungen zurück
while IFS=$'\t' read -r key val; do gsettings set "$key" "$val" done < old_settings
WARNUNG: Das wird wahrscheinlich nicht bei allen Einstellungen funktionieren, da einige davon einen zusätzlichen Parameter
@as
im Schlüsselnamen zu haben scheinen und ich nicht weiß, wie ich damit umgehen soll. Wie gesagt, das ist alles keine sehr gute Idee.
B. Deaktivieren Sie Ihre benutzerdefinierten Verknüpfungen inccsm
gsettings set org.gnome.settings-daemon.plugins.media-keys active false
Dieses Mal ist es einfach, sie zurückzubekommen. Alles, was Sie tun müssen, ist
gsettings set org.gnome.settings-daemon.plugins.media-keys active true
Antwort2
Ich habe auf der Antwort von @terdon aufgebaut undein Skript, das dasselbe tut, allerdings auf eine etwas benutzerfreundlichere Art und Weise.
Sie könnten es folgendermaßen verwenden:
gnome-key-bindings --unset-all --except 'close|switch-applications'
Da ich gerne die Standardtastenkombinationen Alt-F4 und Alt-Tab (und deren Umkehrung mit der Umschalttaste) verwende, würden hierdurch alle Tastenkombinationen außer diesen entfernt.
Es hat auch ein nettes Hilfemenü:
List/disable/enable/set gnome-key-bindings
gnome-key-bindings [-h | option] [value]
Options
--list Lists all the current keybindings
--set=key Set a specific keybinding
--unset=key Unsets a specific keybinding
--unset-all Unsets all keybindings
--except=REGEX Filter out keys matching REGEX from being unset
--print-default Prints the default shortcuts per Ubuntu 18.04
Examples:
Clearing all keys except a few:
gnome-key-bindings --unset-all --except "close|switch-applications|switch-input-source|show-desktop"
Setting a shortcut
gnome-key-bindings --set=maximize "<Super>Up"
Um es auf Ihrem eigenen Computer zu verwenden
curl -s https://raw.githubusercontent.com/fatso83/dotfiles/master/utils/scripts/gnome-key-bindings -o gnome-key-bindings
curl -s https://raw.githubusercontent.com/fatso83/dotfiles/master/utils/scripts/easyoptions.sh -o easyoptions.sh
curl -s https://raw.githubusercontent.com/fatso83/dotfiles/master/utils/scripts/easyoptions.rb -o easyoptions.rb
chmod +x ./gnome-key-bindings
sudo mv ./gnome-key-bindings easyoptions.* /usr/local/bin/
Antwort3
Für Gnome unter Ubuntu 18.04 hat Folgendes funktioniert:
gsettings list-keys org.gnome.shell.keybindings | xargs -I@ gsettings set org.gnome.shell.keybindings @ ['']
gsettings list-keys org.gnome.mutter.keybindings | xargs -I@ gsettings set org.gnome.mutter.keybindings @ ['']
gsettings list-keys org.gnome.settings-daemon.plugins.media-keys | xargs -I@ gsettings set org.gnome.settings-daemon.plugins.media-keys @ ['']
gsettings set org.gnome.mutter overlay-key ''
Ich bin nicht sicher, ob das alle Tastenkombinationen sind, aber es scheint der Großteil davon zu sein