ฉันจะล้างฐานข้อมูล dconf ของฉันได้อย่างไร


40

Dconf ยังเด็กอยู่ แต่ฐานข้อมูลของฉันยุ่งอยู่กับคีย์ "schema-less" จำนวนมากอยู่แล้ว มีวิธีในการทำความสะอาดหรือฉันจะต้องเริ่มต้นจากขั้น (โดยลบ ~ / .config / dconf / ผู้ใช้ฉันเดา)


โอกาสใดที่คุณสามารถเพิ่มภาพหน้าจอของสิ่งที่คุณเห็น ฉันไม่เห็นปัญหาเดียวกัน
fossfreedom

1
ใช้ซอฟต์แวร์ใด ๆ ที่ใช้ประโยชน์จาก GSettings / dconf เปลี่ยนหนึ่งในค่าเริ่มต้น (เช่น gnome-nettool เรียกใช้ whois) ลบแอปพลิเคชันออก ตอนนี้คุณมีสิ่งที่เหลืออยู่ในฐานข้อมูลของคุณ (เช่นใน apps.gnome-nettool) ดีถ้าคุณติดตั้งซอฟต์แวร์นั้นอีกครั้งในภายหลัง แต่ฉันต้องการลบคีย์เหล่านั้น
htorque

การค้นหาออนไลน์อย่างรวดเร็วให้ฉันค้นหาโปรเจ็กต์ Google Codeที่ดูเหมือนจะทำอะไรบางอย่างที่คล้ายกันกับ gconf ... สามารถแก้ไขให้ทำงานกับ dconf ได้หรือไม่
Christopher Kyle Horton

คุณลองดูที่ไฟล์ข้อความและพยายามหาโอเปร่าแทนที่เพื่อลบรายการที่ไม่ต้องการทั้งหมดออกจาก dconf ของคุณหรือไม่
Severo Raz

คำตอบ:


34

สิ่งนี้เป็นไปได้โดยใช้dconf resetคำสั่งแม้ว่าจะไม่ชัดเจนว่าเป็นผลข้างเคียงของบั๊กหรือไม่

  • สำหรับคีย์เดียว:

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

    ไม่ต้อง/จบลงด้วยการ

  • สำหรับเส้นทางทั้งหมด:

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

    จะต้อง/จบลงด้วยการ

หากคุณทำสิ่งนี้ในขณะที่dconf-editorเปิดอยู่อาจมีปัญหาได้


มันใช้งานได้ดี สำหรับมือใหม่ให้ละเว้นเครื่องหมายคำพูดเมื่อคุณระบุเส้นทาง +1 ถึง @htorque Tx
Cbhihe

เพื่อเพิ่มความสมบูรณ์ฉันเพิ่มความคิดเห็นของฉันเมื่อวานนี้ว่าฉันใช้โซลูชันนั้นใน Trusty 14.04.2 เรียบร้อยแล้ว
Cbhihe

3

หากคุณต้องการล้างฐานข้อมูล dconf คุณต้องทำการดัมพ์การกำหนดค่า dconf ทั้งหมดผ่านทาง:

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

หลังจากขั้นตอนเหล่านั้นคุณต้องเปิดเซสชั่นกราฟิกของคุณอีกครั้ง (ออกจากระบบ / ใน) สิ่งนี้จะสร้าง~/.config/dconf/userไฟล์ใหม่ที่มีเนื้อหาเกือบ 0 - การตั้งค่าเริ่มต้น

สำหรับuser-backupไฟล์ที่คุณสร้างไว้ก่อนหน้านี้มันเป็นเพียงไฟล์ข้อความธรรมดา:

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

ดังนั้นคุณสามารถแก้ไขและลบรายการ / บล็อกที่ต้องการจากไฟล์นั้น ในคำอื่น ๆ - ทำความสะอาด

เมื่อเสร็จแล้วให้โหลด:

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 /

ฉันคิดว่าคุณควรเริ่มเซสชันกราฟิกของคุณหลังจากนั้นอีกครั้ง

และนั่นคือมัน แต่คุณต้องจำไว้ว่ารายการทั้งหมดที่มีค่าเริ่มต้นจะไม่ถูกบันทึก - พวกเขาจะถูกสร้างขึ้นใหม่เมื่อแอพบางตัวถามมันซึ่งเป็นสิ่งที่ดีเพราะคุณต้องการสำรองเฉพาะค่าที่คุณเปลี่ยนแปลง .


สิ่งนี้ดูเหมือนว่าจะไม่มีผลกระทบใด ๆ ต่อ subpath dconf ที่ถูกทิ้งและแก้ไข (ฉันทำงานกับ Ubuntu 14.04.2 ที่ได้รับการอัปเดตอย่างสมบูรณ์และพยายามลบคีย์ทั้งหมดที่เกี่ยวข้องกับตัวบ่งชี้แพ็คเกจ - netspeed-unity จาก ppa: fixnix / netspeed) ดูเหมือนว่าจะเป็นวิธีที่ดี ไม่มีผลกับการเปลี่ยนแปลงใด ๆ
Cbhihe

ฉันเปลี่ยนมันให้แน่ใจ แต่ฉันยืนยันว่านี่จะไม่มีผลกับการเปลี่ยนแปลงใด ๆ ฉันเดาว่าฉันโหวตให้ตอบเร็วไปหน่อย ไม่สามารถยกเลิกได้ในตอนนี้
Cbhihe

ฉันอัพเดตคำตอบตรวจสอบ - มันใช้ได้กับฉัน
Mikhail Morfikov

ใช่มันทำงานได้ดี การลบ ~ / .config / dconf / user ก่อนสิ้นสุดเซสชันความสามัคคีของคุณและการเริ่มต้นใหม่เป็นขั้นตอนที่ขาดหายไป ยืนขึ้นโหวต ขอขอบคุณ.
Cbhihe

สิ่งนี้ช่วยฉันเมื่อฉันมีหน้าจอสีดำหลังจากเข้าสู่ระบบ gnome หลังจากเปิด tty ด้วยAlt+Ctrl+F3ฉันก็สามารถทำตามขั้นตอนเหล่านี้ได้ คำสั่งที่มีประโยชน์เพิ่มเติมคือsudo pkill -u <username>รีสตาร์ทเซสชันเดสก์ท็อป gnome ที่ใช้งานอยู่
Zoltán

1

ติดตั้งgconf-cleanerจากศูนย์ซอฟต์แวร์
sudo apt-get install gconf-cleaner

ในคำพูดของพวกเขาเอง "GConf Cleaner เป็นเครื่องมือในการทำความสะอาดฐานข้อมูล Gconf ของคุณซึ่งอาจทำให้รกด้วยคีย์ที่ไม่จำเป็นหรือไม่ถูกต้อง"


ไม่มีอยู่ในศูนย์ซอฟต์แวร์ตั้งแต่ Ubuntu 18.04 (และอาจเป็นไปได้ก่อนหน้านี้)
vanadium
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.