我已经备份了dconf
存储数据库的文件(~/.config/dconf/user
这是一个二进制文件),现在我需要将一些密钥从备份移到dconf
使用中。
如何在dconf
不将备份内容“放置到位”的情况下查看其内容,例如dconf-editor
?
我已经备份了dconf
存储数据库的文件(~/.config/dconf/user
这是一个二进制文件),现在我需要将一些密钥从备份移到dconf
使用中。
如何在dconf
不将备份内容“放置到位”的情况下查看其内容,例如dconf-editor
?
Answers:
要查看该文件的内容,您可以将其重命名-例如test
-将其放在下面~/.config/dconf/
,然后dconf
从该文件中读取/转储设置。
默认情况下,dconf
读取在以下位置找到的用户数据库$XDG_CONFIG_HOME/dconf/
:
甲
"user-db"
行指定的用户数据库。
这些数据库位于中$XDG_CONFIG_HOME/dconf/
。在该目录中打开的文件名与配置文件中写入的文件名完全相同。该文件应采用二进制dconf数据库格式。请注意,XDG_CONFIG_HOME
不能在每个终端或会话上进行设置/修改,因为编写器和读取器将在不同的DB上工作(编写器由DBus启动,无法看到该变量)。
结果,您将需要一个指向该特定db文件的自定义配置文件-例如user-db:test
,然后指示dconf
通过DCONF_PROFILE
环境变量转储数据(使用该自定义配置文件):
cd
cp /path_to_backup_dconf/user ~/.config/dconf/test
printf %s\\n "user-db:test" > db_profile
DCONF_PROFILE=~/db_profile dconf dump / > old_settings
结果是一个文件(old_settings
),其中包含备份dconf
文件中的设置,例如:
[org/gnome/desktop/interface]
font-name='DejaVu Sans Oblique 10'
document-font-name='DejaVu Sans Oblique 10'
gtk-im-module='gtk-im-context-simple'
clock-show-seconds=true
icon-theme='HighContrast'
monospace-font-name='DejaVu Sans Mono Oblique 10'
[org/gnome/desktop/input-sources]
sources=@a(ss) []
xkb-options=@as []
[org/gnome/desktop/wm/preferences]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'
.......
然后,您可以删除这些文件:
rm -f ~/db_profile ~/.config/dconf/test
并将旧设置加载到当前数据库中:
dconf load / < old_settings
如果您只想转储特定设置,请提供路径:
DCONF_PROFILE=~/db_profile dconf dump /org/gnome/desktop/wm/preferences/
[/]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'
但请注意,对于每个路径,您应该有一个不同的文件,并且在加载文件时,应相应地指定路径:
dconf load /org/gnome/desktop/wm/preferences/ < old_wm_settings
还要注意,由于上游的更改,较旧的dconf
数据库可能包含在较新版本中无效的路径,键和值,因此dconf
不能始终保证由不同版本的db-file创建的数据库文件之间的完全兼容性。在这种情况下,您必须检查结果old_settings
文件并手动删除或编辑无效的条目,然后再将其加载到当前数据库中。
XDG_CONFIG_HOME
到另一个目录。无需配置文件魔术。但是,写入任意dconf文件很困难,并且可能使您的配置文件技巧成为必需。
我认为第一个答案使问题变得过于复杂,所以让我们再试一次,/org/cinnamon/
以示例名称空间来备份和还原:
备份/ org / cinnamon /:
在终端上,运行:
dconf dump /org/cinnamon/ > backup_of_my_cinnamon_settings
将backup_of_my_cinnamon_settings
文件保存在某处以备后用
要将/ org / cinnamon /重置为默认值:
dconf reset -f /org/cinnamon/
请注意,这样做可能会使肉桂冻结或崩溃
要恢复/ org / cinnamon的所有设置,请执行以下操作:
dconf load /org/cinnamon/ < backup_of_my_cinnamon_settings
的处理过程与/org/gnome/terminal/
,等等相同。
为了获得最佳结果,请在不运行应用程序引用时对其进行更新。
感谢Cinnamon docs的提示。