Jak przywrócić ustawienia panelu MATE ze starej kopii zapasowej

12

Bawiłem się narzędziem MATE Tweak i nagle głupia opcja usunęła wszystkie moje aplety panelu i zastąpiła domyślnym układem - ta rzecz nawet nie potwierdza najpierw destrukcyjnej akcji!

Mam jednak kopię zapasową folderu domowego na starym komputerze ... Co mam skopiować, aby odzyskać panel? Próbowałem szuka .mateconf, .config/matealbo dconf/userbezskutecznie - zarówno na moich nowych i starych komputerów Edytor DConf nie wykazały niczego użytecznego pod org.mate.panel, tylko domyślny rzeczy.

igorsantos07
źródło
1
zastanawiające. Jeśli kliknę „Zapisz układ panelu” w MATE Tweak, zostanie on zapisany, /usr/share/mate-panel/layoutsale w rzeczywistości, gdzie tymczasowe zmiany są przechowywane lokalnie, jeśli nigdy nie kliknę tego przycisku? +1 i badam: -S
Zanna,
Dodałem kolejną odpowiedź, która zadziałała dla mnie
Anwar

Odpowiedzi:

5

Jeśli masz kopię zapasową pliku bazy danych dconf, który zwykle znajduje się w folderze, ~/.config/dconf/usermożesz przywrócić ustawienia z tej bazy danych. Ale trzeba trochę popracować.

Dconf odczytuje wartości bazy danych z pliku profilu (patrz wiki tutaj ). Ścieżka tego pliku profilu jest odczytywana ze DCONF_PROFILEzmiennej środowiskowej.

  1. Najpierw utwórz plik o nazwie user2w katalogu domowym z taką zawartością

    user-db:user2
    
  2. Umieść stary plik bazy danych dconf w ~/.config/dconf/katalogu o nazwie user2. Powinien już być plik o nazwie user.

  3. Otwórz terminal i wyodrębnij ustawienia ze starej bazy danych

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

    Spowoduje to zrzucenie wartości ze starej bazy danych dconf w formacie klucz-wartość w ~/mate-oldpliku.

  4. Teraz załaduj ustawienia z powrotem do bieżącej bazy danych

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

Spowoduje to przywrócenie większości ustawień wiązania.

Dodatkowo: Jeśli chcesz, możesz przywrócić całą bazę danych za pomocą /zamiast /org/mate. Ale nie polecam tego.

Anwar
źródło
Niestety dziwne nastawienie anty-edycyjne StackExchange uderza ponownie, więc komentując tutaj: odpowiedź zawiera błąd. dconf dumpścieżki muszą kończyć się ukośnikami. Ponadto autor poprosił o przywrócenie ustawień panelu i nie ma potrzeby przywracania pełnego /org/mate/drzewa, aby to zrobić - ustawienia panelu są poniżej /org/mate/panel/.
Sam Brightman,
1

Te preferencje są przechowywane w dconfbazie danych, do której zapisuje się przy wprowadzaniu zmian w GUI, gsettingsCLI (gdzie można znaleźć wiele ustawień panelu) lub dconfCLI.

Według /usr/share/doc/dconf-gsettings-backend/README

Wszystkie preferencje są przechowywane w jednym dużym pliku binarnym.

Ustaliłem eksperymentalnie (zmieniając ustawienia i obserwując czas modyfikacji pliku), że ten pojedynczy duży plik binarny w Ubuntu MATE 16.04 jest zdecydowanie

~/.config/dconf/user

co oczywiście nie jest czytelne dla człowieka

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

Jeśli nie masz tego pliku w kopii zapasowej, prawdopodobnie nie możesz użyć kopii zapasowej do przywrócenia ustawień panelu :(

Zanna
źródło
Rzeczywiście jest w kopii zapasowej. Jednak nie ufałbym po prostu skopiowaniu pliku przez - dconf prawdopodobnie zmienił niektóre właściwości podczas mojej nowej instalacji Ubuntu, podobnie jak każda inna aplikacja mogła to zrobić w międzyczasie. Biorąc pod uwagę, że jest to solidny obiekt blob, nie będę w stanie „skopiować” tylko ustawień panelu ... Cóż, próbowałem uzyskać dostęp dconf-editordo tych ustawień i ręcznie skopiować, ale nie znalazłem ich tam: (
igorsantos07