การค้นหาด้วย google แสดงคำสั่ง
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s <image-path>
ครั้งแรกที่ฉันรันคำสั่งนี้ฉันได้รับข้อความแจ้งว่าคุณสมบัติ / Backdrop / screen0 / monitor0 / image-path ไม่มีอยู่ในแชนเนล xfce4-desktop
ดังนั้นฉันสร้างคุณสมบัตินี้:
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -n -t string -s <image-path>
แต่พื้นหลังยังคงไม่เปลี่ยนแปลง
ฉันเปลี่ยนพื้นหลังจาก space-03.jpg เป็น space-04.jpg ตามปกติจากแอปพลิเคชันการตั้งค่าเดสก์ท็อปของ XUbuntu จากนั้นฉันก็วิ่ง:
$ xfconf-query -c xfce4-desktop -p /backdrop -lv
/backdrop/screen0/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor0/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor0/image-show true
/backdrop/screen0/monitor1/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor1/image-show true
/backdrop/screen0/monitorLVDS1/workspace0/color-style 0
/backdrop/screen0/monitorLVDS1/workspace0/image-style 5
/backdrop/screen0/monitorLVDS1/workspace0/last-image /usr/share/backgrounds/space-04.jpg
อย่างที่คุณเห็นทรัพย์สิน/backdrop/screen0/monitorLVDS1/workspace0/last-image
มีการเปลี่ยนแปลง (!)
ถ้าฉันเปลี่ยนคุณสมบัตินี้แล้วก็ใช้งานได้ดี แต่สิ่งที่ฉันต้องหาวิธีทั่วไปเพื่อใช้ในโปรแกรมของฉัน (Wallch)
แม้Variety
(ซึ่งเป็นโปรแกรมที่ดีมากโดยวิธี) ไม่ทำงานอย่างถูกต้องในเครื่องของฉันและเลือกที่จะเปลี่ยนคุณสมบัติ/backdrop/screen0/monitor0/image-path
ซึ่งไม่ทำอะไรเลย
วิธีหนึ่งคือการสร้างคุณสมบัติที่เป็นไปได้ทั้งหมดและเปลี่ยนแปลงทั้งหมดเมื่อจำเป็นพร้อมกัน ฉันไม่ชอบโซลูชันนี้เนื่องจากเหตุผล 2 ประการ:
- การเรียกระบบจำนวนมากที่จำเป็นต้องมี
- ถึงจุดหนึ่งฉันจะต้องใช้เส้นทางของภาพปัจจุบัน (เพื่อเปิดโฟลเดอร์ของมันคัดลอกเส้นทางของมันลบมันและฟังก์ชั่นอื่น ๆ ที่โปรแกรมให้) ฉันจะไม่ทราบว่าทรัพย์สินใดเก็บเส้นทางของภาพที่ตั้งค่าไว้อย่างแท้จริงเพื่อให้โปรแกรมพร้อมใช้งาน
ฉันเองก็ไม่เข้าใจเหมือนกันว่าทำไม XFCE ถึงทำมันซับซ้อนมาก เหตุใดคุณสมบัติหนึ่งจึงไม่เพียงพอใน gsettings