如何从旧备份还原MATE面板设置


12

我当时正在使用MATE Tweak工具,然后突然出现了一个愚蠢的选项,删除了我所有的面板小程序,并替换为默认布局-该东西甚至没有先确认破坏性的动作!

但是,我确实在旧PC上备份了我的主文件夹...应该复制什么内容才能恢复面板?我尝试寻找.mateconf.config/matedconf/user无济于事-在新旧计算机上,DConf编辑器在org.mate.panel下都没有显示任何有用的东西,仅显示默认内容。


1
令人费解。如果我在MATE Tweak中单击“保存面板布局”,则将其保存在/usr/share/mate-panel/layouts其中,但是,如果我从未单击该按钮,实际上在哪里将临时更改存储在本地?+1,而我正在调查:-S
赞娜(Zanna)

我已经添加了另一个答案,并且为我工作
安瓦尔

Answers:


5

如果您有dconf数据库文件的备份(通常在其中),则~/.config/dconf/user可以从该数据库还原设置。但是需要做一些工作。

Dconf从配置文件读取数据库值(请参阅wiki此处)。并且该配置文件的路径是从DCONF_PROFILE环境变量中读取的。

  1. 因此,首先user2在您的主目录中创建一个名称如下的文件

    user-db:user2
    
  2. 将旧的dconf数据库文件放在~/.config/dconf/名称为的目录中user2。应该user已经有一个名称文件。

  3. 打开终端并从旧数据库中提取设置

    DCONF_PROFILE=~/user2 dconf dump /org/mate > ~/mate-old
    

    这将以键值格式将旧dconf数据库中的值转储到~/mate-old文件中。

  4. 现在将设置加载回当前数据库

    dconf load /org/mate/ < ~/mate-old
    

这将恢复配合的大多数设置。

另外:如果需要,可以使用/代替还原整个数据库/org/mate。但是我不建议这样做。


不幸的是,StackExchange再次出现了怪异的反编辑偏见,因此请在此处评论:答案包含错误。dconf dump路径必须以斜线结尾。此外,作者要求还原​​面板设置,而无需还原整个/org/mate/树即可-面板设置在下/org/mate/panel/
山姆·布莱曼

1

这些首选项存储在dconf数据库中,当在GUI,gsettingsCLI(可在其中找到许多面板设置)或dconfCLI 进行更改时,将写入数据库。

根据 /usr/share/doc/dconf-gsettings-backend/README

所有首选项都存储在一个大的二进制文件中。

我已经通过实验(更改设置并观察文件的修改时间)确定,Ubuntu MATE 16.04中的单个大型二进制文件无疑是

~/.config/dconf/user

当然,这不是人类可读的

$ file ~/.config/dconf/user
: GVariant Database file, version 0

如果您的备份中没有此文件,则可能无法使用备份来还原面板设置:(


确实是在备份中。但是,我不相信会简单地复制文件-dconf可能会在我新安装的Ubuntu期间更改了某些属性,并且在此期间其他任何应用程序也可能做了相同的操作。鉴于这是一个可靠的问题,我将无法仅“复制”面板设置...好吧,我确实尝试访问dconf-editor来查找这些设置并手动复制,但没有在此处找到它们: (
igorsantos16年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.