Я хочу сбросить все клавиши в GSettings к их значениям по умолчанию ; желательно с помощью одной команды или простого скрипта bash. Как я могу это сделать?
Как правило, вы можете сбросить один ключ до значения по умолчанию с помощью
gsettings reset SCHEMA [:PATH] KEY
, поэтому вы можете использовать скрипт bash для всех доступных ключей.
Нечто подобное (псевдокод):
for i in /dir/of/keys
do
gsettings reset <key-path>
done
Посмотрите на его man-страницу для получения дополнительной информации: man gsettings
Далее будут сброшены все те настройки, которые «не перемещаются». То есть те, которые хранятся в стандартном местоположении и, следовательно, не нуждаются в дополнительном пути, указанном после них. Например, он сбросит все клавиши org.gnome.eog.fullscreen
, но ни одну из org.compiz.unityshell:/org/compiz/profiles/unity/plugins/unityshell/
. Это делается только для пользователя, выполняющего его.
gsettings list-schemas | xargs -n 1 gsettings reset-recursively
У меня была такая же проблема с некоторыми медиа-ключами, они иногда работали, поэтому мне нужно было перезагрузить или сбросить их вручную с помощью dconf-editor или gsettings.
Может быть, вы могли бы сделать скрипт bash, как этот
#!/bin/bash
#To get in a list all the keys of that directory
list=$(gsettings list-keys <keys-path-directory>);
for i in $list; do
echo "resetting $i";
gsettings reset <keys-path-directory> $i;
done