Vorrei sapere come posso disabilitare TUTTE le scorciatoie da tastiera tramite il terminale. So che puoi disabilitarli andando a:
impostazioni di sistema> tastiera> scorciatoie
ma voglio disabilitarli tramite terminale. qualcuno sa come si può fare?
Vorrei sapere come posso disabilitare TUTTE le scorciatoie da tastiera tramite il terminale. So che puoi disabilitarli andando a:
impostazioni di sistema> tastiera> scorciatoie
ma voglio disabilitarli tramite terminale. qualcuno sa come si può fare?
Risposte:
Non ho idea del motivo per cui vorresti farlo e dovrei avvertirti che potrebbe essere complicato recuperare le scorciatoie. Se questo è davvero ciò che vuoi fare, i comandi seguenti disabiliteranno tutte le scorciatoie da tastiera. Entrambi quelli configurati tramite la GUI di Unity e quelli che potresti aver impostato utilizzandoccsm
Prima fai un backup dei binding attuali in modo da poterli riattivare in seguito
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
Questo creerà un file chiamato old_settingsnel seguente formato:
schema key <TAB> value
Per esempio:
org.gnome.desktop.wm.keybindings unmaximize <TAB> ['<Control><Super>Down']
Ora disabilita le scorciatoie
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
gsettings list-recursively org.gnome.desktop.wm.keybindings : elenca tutte le combinazioni di tasti e i loro valori correntiperl -pe 's/(.*)\s*(\[.*?\])\s*$/$1\t$2\n/': questo aggiunge semplicemente un carattere TAB ( \t) che separa il valore dalla chiave. Questo passaggio è necessario per poterli leggere correttamente nel prossimo.while IFS=$'\t' read -r key val: passa attraverso ogni riga e leggi la chiave in $ke il suo valore in $val. $IFS=$'\t'significa dividere nelle schede in modo che la chiave e il valore siano letti correttamente.gsettings set $key [''] : questo in realtà imposta il valore su vuoto, disabilitando efficacemente le scorciatoie.È possibile che sia necessario disconnettersi e riconnettersi per rendere effettiva questa operazione.
Ottieni (alcune) delle tue scorciatoie
while IFS=$'\t' read -r key val; do
gsettings set "$key" "$val"
done < old_settings
ATTENZIONE : Questo probabilmente non funzionerà per tutte le impostazioni poiché alcune di esse sembrano avere un parametro aggiuntivo @asnel nome della chiave e non so come gestirlo. Come ho già detto, questa non è una buona idea.
ccsmgsettings set org.gnome.settings-daemon.plugins.media-keys active false
Questa volta, recuperarli è facile. Tutto quello che devi fare è correre
gsettings set org.gnome.settings-daemon.plugins.media-keys active true
Ho costruito la risposta di @ terdon e creato uno script per fare lo stesso , ma lo fa in un modo un po 'più user friendly.
Puoi usarlo in questo modo:
gnome-key-bindings --unset-all --except 'close|switch-applications'
Siccome mi piace usare le combinazioni di tasti predefinite Alt-F4 e Alt-Tab (e il loro contrario usando shift), questo rimuove tutte le combinazioni di tasti tranne queste.
Ha anche un bel menu di aiuto:
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"
Per usarlo sul tuo computer
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/
Per gnome su Ubuntu 18.04, ho scoperto che funzionava:
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 ''
Non sono sicuro che siano tutti i tasti di scelta rapida, ma sembra essere la maggior parte di essi