Bei einer Google-Suche wird der Befehl angezeigt
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s <image-path>
Beim ersten Ausführen dieses Befehls wurde die Meldung angezeigt, dass die Eigenschaft / backdrop / screen0 / monitor0 / image-path im Kanal xfce4-desktop nicht vorhanden ist.
Also habe ich diese Eigenschaft erstellt:
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -n -t string -s <image-path>
Der Hintergrund änderte sich jedoch nicht.
Ich habe dann den Hintergrund von space-03.jpg in space-04.jpg geändert, normalerweise in der Anwendung Desktop Settings von XUbuntu. Dann laufe ich:
$ 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
Wie Sie sehen, hat sich die Eigenschaft /backdrop/screen0/monitorLVDS1/workspace0/last-image
geändert (!).
Wenn ich diese Eigenschaft ändere, funktioniert sie einwandfrei, aber ich muss einen allgemeinen Weg finden, um sie in mein Programm (Wallch) zu implementieren.
Sogar Variety
(was übrigens ein sehr nettes Programm ist) funktioniert auf meinem Computer nicht richtig und entscheidet sich dafür, die Eigenschaft zu ändern, die /backdrop/screen0/monitor0/image-path
nichts bewirkt.
Eine Möglichkeit wäre, alle möglichen Eigenschaften zu erstellen und bei Bedarf gleichzeitig zu ändern. Diese Lösung gefällt mir aus zwei Gründen nicht:
- Es werden mehrere Systemaufrufe benötigt
- Irgendwann muss ich den Pfad des aktuellen Bildes angeben (um den Ordner zu öffnen, den Pfad des Bildes zu kopieren, es zu löschen und einige andere Funktionen, die das Programm bereitstellt). Ich würde nicht wissen, welche Eigenschaft den Pfad des wirklich festgelegten Bildes enthält, um es dem Programm zur Verfügung zu stellen.
Ich verstehe auch nicht, warum XFCE es so komplex gemacht hat. Warum würde eine Immobilie nicht ausreichen wie in gsettings?
quelle
Antworten:
Ich denke, das sollte den Job machen
Verwenden Sie den folgenden Code, um die angeschlossenen Geräte abzurufen und zu zählen:
dann müssen Sie sie manipulieren und wählen, ob Sie den Wert für den Bildpfad oder das letzte Bild festlegen möchten
Angenommen, 1.jpeg ist eine beliebige Datei, die nur zum Erstellen der Zeichenfolge benötigt wird. Und 2.png ist das gewünschte Bild, das eingestellt werden soll. Ich habe die erste Zeile hinzugefügt, um sicherzustellen, dass xfce4-desktop existiert.
Dieses Skript wurde auf meinem Computer getestet und funktioniert gut.
Hoffe das hilft meinem Freund
EDIT: Eine Liste von Portnamen wurde hier so gefunden:
Weitere Infos findest du hier
quelle