Как восстановить настройки панели MATE из старой резервной копии

12

Я поигрался с инструментом MATE Tweak, и внезапно глупая опция удалила все мои апплеты панели и заменила макет по умолчанию - эта штука даже не подтверждает сначала разрушительное действие!

Тем не менее, у меня есть резервная копия моей домашней папки на старом ПК ... Что я должен скопировать, чтобы вернуть панель? Я пытался искать .mateconf, .config/mateили dconf/userбезрезультатно - и на моих новых, и на старых компьютерах редактор DConf не показывал ничего полезного в org.mate.panel, только по умолчанию.

igorsantos07
источник
1
озадачивает. Если я нажимаю «сохранить макет панели» в MATE Tweak, он сохраняется, /usr/share/mate-panel/layoutsно где, на самом деле, хранятся временные изменения локально, если я никогда не нажимаю эту кнопку? +1 и я расследую: -S
Занна
Я добавил еще один ответ, и это сработало для меня
Анвар

Ответы:

5

Если у вас есть резервная копия файла базы данных dconf, который обычно находится в ней, ~/.config/dconf/userвы можете восстановить настройки из этой базы данных. Но некоторая работа должна быть сделана.

Dconf читает значения базы данных из файла профиля (см. Вики здесь ). И путь к этому файлу профиля читается из 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к этим настройкам и вручную скопировать их, но не нашел их там: (
igorsantos07