วิธีอ่านค่าคีย์เริ่มต้นด้วย dconf หรือ gsettings


13

ฉันต้องการทราบค่าเริ่มต้นของคีย์ dconf / gsettings

คำถามของฉันคือการติดตามคำถามด้านล่าง: ฉันจะรับรายการ SCHEMA / PATH / KEY เพื่อใช้กับ gsettings ได้ที่ไหน

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

ฉันเห็นว่าตัวแก้ไข dconf แสดงค่าเริ่มต้นของคีย์ แต่ฉันชอบสคริปต์นี้มาก นอกจากนี้ฉันไม่เห็นวิธีการแยกวิเคราะห์ schemas /usr/share/glib-2.0/schemas/ สามารถเป็นอัตโนมัติ บางทีใครบางคนสามารถช่วยได้?

gsettings รับเริ่มต้น | รายการเริ่มต้นจะดี =)

(Geesh มันง่ายกว่ามากในวันเก่า ๆ ที่คุณเก็บของ ~ / .somethingrc ไว้ในการโค่นล้ม ... = \


จากคำตอบที่ให้ไว้ด้านล่างฉันได้อัปเดตสคริปต์เพื่อพิมพ์สคีมาคีย์ประเภทข้อมูลของคีย์ค่าเริ่มต้นและค่าจริง:

#!/bin/bash

for schema in $(gsettings list-schemas | sort); do
    for key in $(gsettings list-keys $schema | sort); do
        type="$(gsettings range $schema $key | tr "\n" " ")"
        default="$(XDG_CONFIG_HOME=/tmp/ gsettings get $schema $key | tr "\n" " ")"
        value="$(gsettings get $schema $key | tr "\n" " ")"
        echo "$schema :: $key :: $type :: $default :: $value"
    done
done

วิธีแก้ปัญหานี้โดยทั่วไปครอบคลุมสิ่งที่ฉันต้องการ ฉันจะทำงานต่อในสำเนาสำรองจากที่นี่


หากใครมาที่นี่เพื่อค้นหาวิธีรีเซ็ตคีย์เป็นค่าเริ่มต้นก็gsettings reset KEYเป็นวิธีที่จะไป
Andreas Storvik Strauman

คำตอบ:


11

ดูเหมือนจะไม่เป็นวิธีที่ดีในการรับค่าเริ่มต้นโดยตรง แต่เนื่องจากลูกค้าตรวจสอบ XDG_CONFIG_HOME ในสภาพแวดล้อมการแก้ปัญหาที่เหมาะสมในการรับค่าจากการตั้งค่าใหม่อาจเป็น:

XDG_CONFIG_HOME=/nonexistent gsettings get SCHEMA KEY

1

หากคุณสนใจในการสำรองและคืนค่าการตั้งค่า (ในกรณีนี้คุณควรเปลี่ยนชื่อคำถามของคุณ)

การสำรองข้อมูล

คุณสามารถสำรองการตั้งค่าด้วย

gsettings list-recursively > backup

การเขียนคีย์ทั้งหมดไปยังการสำรองไฟล์ในโฮม - โฟลเดอร์ของคุณ

ฟื้นฟู

เท่าที่ฉันรู้ไม่มีตัวเลือกโดยตรงในการนำเข้าไฟล์กลับไปที่ dconf บางทีคุณอาจจะเขียนรูทีนที่อ่านไฟล์สำรองข้อมูลทีละบรรทัดและดำเนินการgsettings set <input line from backup>เพื่อกู้คืนการตั้งค่าของคุณ

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