ฉันจะเปลี่ยนคีย์ dconf โดยไม่ใช้ gui (สำหรับสคริปต์หลังการติดตั้ง) ได้อย่างไร


31

ฉันได้ติดตั้งเครื่องมือ dconf แล้ว ในกรณีนี้ฉันกำลังควบคุมการแสดงชื่อในพาเนลบนตัวบ่งชี้เซสชัน

ฉันสามารถเปลี่ยนสิ่งนี้ใน dconf-editor gui โดยไม่มีปัญหาฉันไปที่แอพ / ตัวบ่งชี้เซสชันและ untick แสดงชื่อจริงบนแผง

อย่างไรก็ตามฉันได้พยายามที่จะสลับมันเพียงแค่ใช้ dconf ที่บรรทัดคำสั่ง:

dconf write /com/canonical/indicator/session/show-real-name-on-panel false

หลังจากรีบูตเครื่องพาเนลจะไม่เปลี่ยนแปลงและคีย์ใน dconf-editor ก็ไม่เปลี่ยนแปลงเช่นกัน

นอกจากนี้การพยายามอัพเดตฐานข้อมูล dconf ผ่านทางเทอร์มินัลจะทำให้เกิดข้อผิดพลาด:

$ dconf update
fatal: Error opening directory '/etc/dconf/db': No such file or directory

จากประสบการณ์ของฉันดูเหมือนว่า dconf และ dconf-editor ไม่มีความสัมพันธ์ดังนั้นฉันแค่สงสัยว่าฉันทำอะไรผิด

หากฉันสามารถหาจุดนี้ได้ฉันต้องการวางคำสั่งในสคริปต์ทุบตีเพื่อเรียกใช้ในครั้งต่อไปที่ฉันต้องทำการติดตั้งใหม่ทั้งหมดเพื่ออัพเกรด * ฉันทำการปรับแต่งมากมายใน 6 เดือนและฉันต้องการทำให้มากที่สุดโดยอัตโนมัตินับจากนี้

  • ปิดหัวข้อเล็กน้อย: กลไกการอัพเกรดการกระจายไม่เคยทำงานโดยไม่ต้องผูกปมสำหรับฉัน; ฉันลองใช้ตั้งแต่ 11.04 ถึง 11.10 เช่นกัน

คำตอบ:


35

คุณสามารถใช้gsettingsเครื่องมือ

gsettings set com.canonical.indicator.session show-real-name-on-panel false

ขอบคุณที่ใช้งานได้! ใช้งานได้ทุกที่ที่ dconf หรือไม่ มันจะถูกคัดค้านด้วย dconf หรือจะใช้ในอนาคตอันใกล้นี้หรือไม่?
Inkayacu

ใช่การตั้งค่า gsettings สามารถใช้ได้ทุกที่ที่ dconf ต้องการ
ไม่ระบุชื่อ

1
ไม่มันจะไม่ถูกคัดค้าน dconf แทนที่ gconf ซึ่งจะเลิกใช้ GConf สามารถเปลี่ยนแปลงได้ด้วยหรือgconf-editor gconftool-2dconf สามารถเปลี่ยนแปลงได้ด้วยหรือdconf-editor gsettings
ไม่ระบุชื่อ

gconf บันทึกไฟล์ในโฮมไดเร็กตอรี่ของคุณภายใต้. gconf / directory
ไม่ระบุชื่อ

12

การทำงานต่อไปนี้สำหรับฉันใน Ubuntu 14.04:

dconf write /org/gnome/gnome-session/auto-save-session true

ค่ามีการเปลี่ยนแปลงและยังคงมีการเปลี่ยนแปลงหลังจากรีบูต ฉันมีปัญหาอื่นที่ windows ไม่ได้บันทึก แต่นั่นเป็นปัญหาที่แตกต่างกันโดยสิ้นเชิง


6

dconf dump+ loadการส่งออกจำนวนมากและการคืนค่า

  1. ดัมพ์การตั้งค่าทั้งหมดไปยังไฟล์:

    dconf dump / >~/.config/dconf/user.conf
    
  2. เปิดไฟล์นั้นในโปรแกรมแก้ไขข้อความและเลือกการตั้งค่าที่คุณสนใจ:

    editor ~/.config/dconf/user.conf
    

    หากคุณใช้ Vim คุณจะต้องการไฮไลต์ไวยากรณ์นี้

  3. หากคุณไม่ทราบชื่อของการตั้งค่า แต่รู้วิธีการแก้ไขจาก GUI ที่ชอบunity-control-centerให้รัน:

    dconf watch /
    

    แล้วปรับเปลี่ยนพวกเขา การตั้งค่าที่แน่นอนจะปรากฏขึ้นบนเครื่อง

  4. เมื่อคุณต้องการคืนค่าการตั้งค่าเหล่านี้ให้เรียกใช้:

    dconf load / <~/.config/dconf/user.conf
    
  5. Git ติดตามไฟล์ปรับแต่งเพื่อไม่ให้สูญหาย https://github.com/andsens/homeshickhomesickเป็นวิธีที่ฉันโปรดปรานในปัจจุบัน

ทดสอบบน Ubuntu 15.10 เคล็ดลับดัดแปลงมาจาก: http://catern.com/2014/12/21/plain-text-configuration-gnome.html


1

ดูเหมือนว่า (อย่างน้อยใน 15.10) ว่ามีบางสิ่งบางอย่าง (เฉพาะ Compiz) ซึ่งเป็นเพียงการจัดเก็บการตั้งค่าที่ชั้นและไม่สามารถตั้งค่าผ่านทางdconf gsettingsอาจเป็นไปได้ว่าสิ่งนี้จะมีผลต่อพา ธ การกำหนดค่าอื่น ๆ แต่อาจไม่น่าเป็นไปได้ - เนื่องจากคอมพิซอยู่ในเลเยอร์ที่ต่ำกว่าความเป็นเอกภาพฉันจึงไม่แปลกใจที่มันทำงานแตกต่างกัน

เช่นนี้จะทำงาน:

dconf write /org/compiz/profiles/unity/plugins/core/outputs "['3200x1800+288+2160', '3840x2160+0+0']"

ในขณะนี้จะไม่:

gsettings set org.compiz.profiles.unity.plugins.core outputs "['3200x1800+288+2160', '3840x2160+0+0']"
# No such schema 'org.compiz.profiles.unity.plugins.core'

ทีนี้ถ้ามีเพียงฉันเท่านั้นที่จะรู้วิธีโหลด Compiz ได้โดยไม่ต้องหยุดทำงานทุกอย่าง ...

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