Làm thế nào để tôi dọn sạch cơ sở dữ liệu dconf của tôi?


40

Dconf còn khá trẻ, nhưng cơ sở dữ liệu của tôi đã là một mớ hỗn độn với rất nhiều khóa "không có lược đồ". Có cách nào để dọn dẹp không, hoặc tôi sẽ cần bắt đầu lại từ đầu (bằng cách xóa ~ / .config / dconf / user tôi đoán)?


bất kỳ cơ hội nào bạn có thể thêm ảnh chụp màn hình về những gì bạn đang thấy? Tôi không thấy vấn đề tương tự.
fossfreedom

1
Sử dụng bất kỳ phần mềm nào sử dụng GSinstall / dconf, thay đổi một trong các giá trị mặc định (ví dụ: gnome-nettool, chạy whois), xóa ứng dụng. Bây giờ bạn có phần còn lại trong cơ sở dữ liệu của mình (ví dụ: trong apps.gnome-nettool). Tốt nếu bạn cài đặt lại phần mềm đó sau, nhưng tôi muốn xóa các khóa đó.
htorque

Một tìm kiếm trực tuyến nhanh cho phép tôi tìm thấy một dự án Google Code dường như làm một cái gì đó tương tự cho gconf ... điều này có thể được sửa đổi để hoạt động với dconf không?
Christopher Kyle Horton

Bạn đã thử nhìn vào tệp văn bản và cố gắng tìm một vở opera thay thế để loại bỏ tất cả các mục không mong muốn khỏi dcs của bạn?
Severo Raz

Câu trả lời:


34

Điều này có thể sử dụng dconf resetlệnh, mặc dù không rõ liệu đó có phải là tác dụng phụ của lỗi hay không.

  • Đối với một khóa duy nhất:

    dconf reset "/path/to/the/key"
    

    Không được kết thúc bằng a /.

  • Đối với toàn bộ con đường:

    dconf reset -f "/path/to/the/path/"
    

    Phải kết thúc bằng a /.

Nếu bạn làm điều này trong khi đã dconf-editormở, nó sẽ có khả năng sụp đổ.


Điều này chỉ hoạt động tốt. Đối với người mới, bỏ qua các dấu hiệu trích dẫn khi bạn chỉ ra đường dẫn. +1 vào @htorque. Tx.
Cbhihe

Để hoàn thiện, tôi thêm vào nhận xét của tôi ngày hôm qua rằng tôi đã sử dụng thành công giải pháp đó trên Trusty 14.04.2.
Cbhihe

3

Nếu bạn muốn dọn dẹp cơ sở dữ liệu dconf, trước tiên bạn phải kết xuất toàn bộ cấu hình dconf thông qua:

morfik:~$ cd ~/.config/dconf/
morfik:~/.config/dconf$ dconf dump / > user-backup
morfik:~/.config/dconf$ ls -al ./user-backup
-rw-r--r-- 1 morfik morfik 30.0K 2015-02-07 08:18:04 ./user-backup
morfik:~/.config/dconf$ rm user

Sau những bước đó, bạn phải mở lại phiên đồ họa của mình (đăng xuất / đăng nhập). Điều này sẽ tạo ra ~/.config/dconf/usertệp một lần nữa với gần 0 nội dung - cài đặt mặc định.

Đối với user-backuptệp bạn đã tạo trước đó, đây chỉ là tệp văn bản thuần túy:

...
[apps/light-locker]
late-locking=false
lock-after-screensaver=uint32 1
lock-on-suspend=true
...

Vì vậy, bạn có thể chỉnh sửa nó và loại bỏ các mục / khối mong muốn khỏi tệp đó. Nói cách khác - làm sạch nó.

Khi bạn hoàn tất, tải nó:

morfik:~/.config/dconf$ dconf load / < ./user-backup
morfik:~/.config/dconf$ ls -al ./user-backup
-rw-r--r-- 1 morfik morfik 14.0K 2015-02-07 08:26:23 ./user-backup
morfik:~/.config/dconf$ dconf update /

Tôi nghĩ bạn nên khởi động lại phiên đồ họa của bạn sau đó một lần nữa.

Và đó là nó, nhưng bạn phải nhớ rằng tất cả các mục có giá trị mặc định sẽ không được lưu - chúng sẽ được tạo lại khi một số ứng dụng sẽ yêu cầu, đó là một điều tốt vì bạn chỉ muốn sao lưu các giá trị bạn đã thay đổi .


Điều này thực sự dường như không có bất kỳ ảnh hưởng nào đến đường dẫn con dcs bị đổ sửa đổi và tải lại. (Tôi làm việc với Ubuntu 14.04.2 được cập nhật đầy đủ và cố gắng loại bỏ tất cả các khóa phải thực hiện với gói chỉ báo-Netspeed-unity từ ppa: fixnix / Netspeed.) KHÔNG ảnh hưởng đến bất kỳ thay đổi.
Cbhihe

Tôi làm lại điều này để chắc chắn, nhưng tôi xác nhận điều này không ảnh hưởng đến bất kỳ thay đổi nào. Tôi đoán tôi đã bỏ phiếu mà trả lời quá nhanh. Không thể hoàn tác ngay bây giờ.
Cbhihe

Tôi đã cập nhật câu trả lời, kiểm tra nó - nó hoạt động với tôi.
Mikhail Morfikov

Vâng, bây giờ nó hoạt động tốt. Xóa ~ / .config / dconf / user trước khi kết thúc phiên thống nhất của bạn và bắt đầu lại là những bước còn thiếu. Các phiếu bầu lên. Cảm ơn bạn.
Cbhihe

Điều này đã cứu tôi khi tôi có một màn hình đen sau khi đăng nhập vào gnome. Sau khi mở một tty với Alt+Ctrl+F3, tôi đã có thể thực hiện các bước này. Một lệnh hữu ích bổ sung là sudo pkill -u <username>khởi động lại phiên máy tính để bàn gnome đang hoạt động.
Zoltán

1

Cài đặt gconf-cleanertừ trung tâm phần mềm.
sudo apt-get install gconf-cleaner

Nói cách riêng của họ "GConf Cleaner là một công cụ để dọn dẹp cơ sở dữ liệu Gconf của bạn có thể bị lộn xộn với các khóa không cần thiết hoặc không hợp lệ."


Không còn tồn tại trong trung tâm phần mềm kể từ Ubuntu 18.04 (và có thể sớm hơn)
vanadi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.