เปลี่ยน gsettings โดยไม่ต้องรัน X และ Unity


13

ฉันพยายามเปลี่ยนการตั้งค่า gconf ใน Ubuntu 12.10 ฉันต้องการเปลี่ยนพื้นหลังสีเขียวอ่อนของ lightdm

ฉันได้ค้นพบว่าในขณะที่ลงชื่อเข้าใช้ด้วยความสามัคคีในฐานะผู้ใช้ในขณะที่ใช้งานเซิร์ฟเวอร์ X ฉันสามารถทำได้ด้วย:

sudo xhost +SI:localuser:lightdm
gsettings set com.canonical.unity-greeter background "'/usr/share/backgrounds/micros-background.png'"

ปัญหาคือสิ่งนี้ทำให้ฉันต้องเข้าสู่ระบบในฐานะผู้ใช้ภายใต้ X เพื่อให้ตัวจัดการหน้าต่างทั้งหมดต้องทำงาน แต่ฉันต้องการใช้ chroot เพื่อเปลี่ยนการตั้งค่าเหล่านี้โดยไม่ต้องใช้เซิร์ฟเวอร์ X ใด ๆ ฉันแค่ต้องการติดตั้งพาร์ติชั่นและเปลี่ยน gsettings โดยไม่ต้องใช้ตัวจัดการหน้าต่างแบบเต็ม

มีวิธีในการเปลี่ยน gsettings โดยตรงโดยไม่ต้องเข้าสู่ระบบ X และ Unity หรือไม่?

หรืออีกวิธีหนึ่ง ... มีวิธีที่จะนำเซิร์ฟเวอร์ X และ Unity ขึ้นมาในพื้นหลังเพื่อให้ฉันสามารถทำการเปลี่ยนแปลงโดยไม่ต้องมีจอแสดงผลแบบเต็มหน้าต่างปรากฏขึ้นบนหน้าจอของฉันหรือไม่

คำตอบ:


17

เป็นไปได้ที่จะทำงานgsettingsโดยไม่ใช้ X11 โดยใช้dbus-launch --exit-with-session:

dbus-launch --exit-with-session gsettings set com.canonical.unity-greeter background "'/usr/share/backgrounds/micros-background.png'"

ขอบคุณสำหรับสิ่งนี้! ฉันใช้การตั้งค่าการตั้งค่าสำหรับผู้ใช้อื่นที่ไม่ได้เข้าสู่ระบบเช่นนี้sudo -u "username" dbus-launch --exit-with-session gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'nothing'
HarlemSquirrel

หากคุณเติมบรรทัดที่ 5cdhn แนะนำด้วย sudo คุณสามารถแก้ไข dconf ของรูท (เมื่อใช้ dconf-editor และ gsettings ด้วย sudo / gksu จะโยนข้อผิดพลาดนี้) อีกวิธีในการทำเช่นนี้คือ 'sudo / gksu dbus-launch gsetttnigs / dconf-editor' ตามที่ Paco Porras แนะนำ
Que Quotion

สิ่งนี้จะไม่ทำงานเมื่อคุณมีเซสชันที่ใช้งานอยู่ ตัวอย่างเช่นฉันต้องการเปลี่ยนเค้าโครงแป้นพิมพ์เมื่อฉันเสียบ / ถอดปลั๊กแป้นพิมพ์ การเรียกใช้ gsettings ภายในสคริปต์ udev แม้ใช้ dbus-launch ไม่ได้ใช้การตั้งค่าสำหรับเซสชันที่กำลังทำงานอยู่
เบ็นเดวิส

“ ไม่ได้ระบุโปรโตคอล” ในความพยายามทดสอบ
realkstrawn93

-1

บางคนบอกว่าคุณต้องนำหน้าคำสั่ง "gsettings" ด้วยคำว่า "dbus-launch" แต่ฉันไม่ได้ลองเลย

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