ターミナルからすべてのキーボードショートカットを無効にする方法を教えてください。私はあなたがそれらを無効にすることができることを知っています:
システム設定>キーボード>ショートカット
しかし、私はターミナル経由でそれらを無効にしたいと思います。誰もがこれを行う方法を知っていますか?
ターミナルからすべてのキーボードショートカットを無効にする方法を教えてください。私はあなたがそれらを無効にすることができることを知っています:
システム設定>キーボード>ショートカット
しかし、私はターミナル経由でそれらを無効にしたいと思います。誰もがこれを行う方法を知っていますか?
回答:
なぜこれを実行したいのかわかりません。ショートカットを元に戻すのはかなり複雑になる可能性があることを警告しておきます。これが本当にやりたいことである場合、以下のコマンドはすべてのキーボードショートカットを無効にします。UnityのGUIを使用してセットアップしたものと、使用してセットアップしたものの両方ccsm
最初に現在のバインディングのバックアップを作成して、後で再度有効にできるようにします
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
により、次の形式で呼び出されるファイルが作成されます。
schema key <TAB> value
例えば:
org.gnome.desktop.wm.keybindings unmaximize <TAB> ['<Control><Super>Down']
ショートカットを無効にしてください
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
:これはすべてのキーバインドとその現在の値をリストしますperl -pe 's/(.*)\s*(\[.*?\])\s*$/$1\t$2\n/'
:これ\t
は、キーと値を区切るタブ文字()を追加するだけです。この手順は、次の手順で正しく読み取るために必要です。while IFS=$'\t' read -r key val
:各行を調べて、キー$k
とその値をに読み取ります$val
。キーと値が正しく読み取られるようにタブで分割$IFS=$'\t'
することを意味します。gsettings set $key ['']
:これは実際には値を空白に設定し、ショートカットを効果的に無効にします。これを有効にするには、ログアウトして再度ログインする必要がある場合があることに注意してください。
ショートカットを取り戻します
while IFS=$'\t' read -r key val; do
gsettings set "$key" "$val"
done < old_settings
警告:一部の設定@as
にはキー名に追加のパラメーターがあり、その対処方法がわからないため、これはおそらくすべての設定では機能しません。私が言ったように、これはすべて非常に良い考えではありません。
ccsm
gsettings set org.gnome.settings-daemon.plugins.media-keys active false
今回、それらを取り戻すのは簡単です。実行する必要があるのは
gsettings set org.gnome.settings-daemon.plugins.media-keys active true
私は@terdonの回答に基づいて、同じことを行うスクリプトを作成しましたが、ややユーザーフレンドリーな方法で行いました。
次のように使用できます。
gnome-key-bindings --unset-all --except 'close|switch-applications'
私はデフォルトのキーバインドAlt-F4とAlt-Tab(およびシフトを使用したその逆)を使用するのが好きなので、これらを除くすべてのキーバインドを削除します。
また、便利なヘルプメニューもあります。
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"
自分のマシンで使用するには
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/
Ubuntu 18.04のgnomeの場合、これが機能することがわかりました。
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 ''
それがすべてのショートカットキーかどうかはわかりませんが、それはそれらの大部分のようです