Weisen Sie Conky an, die Aktualisierung über einen separaten Prozess durchzuführen

Weisen Sie Conky an, die Aktualisierung über einen separaten Prozess durchzuführen

Ich habe mir von Conky meine aktuelle Lautstärke anzeigen lassen ${exec bash /path/to/script/getvolume.sh}. Allerdings habe ich festgestellt, dass ich nach der Änderung der Lautstärke eine Weile warten muss, bis Conky aktualisiert ist. Ist es möglich, ein weiteres Skript zu schreiben changevolume.sh, das ./changevolume.sh 12nicht nur die Lautstärke ändert, sondern Conky auch unmittelbar danach selbst aktualisiert, sodass ich nicht auf das übliche Aktualisierungsintervall warten muss?

Antwort1

Soweit ich weiß, gibt es keine Möglichkeit, conkyein Update extern zu erzwingen, außer es zu beenden und neu zu starten. Die gute Nachricht ist, dass Sie das nicht müssen. Sie können einfach conkyhäufigere Updates mit der folgenden update_intervalEinstellung festlegen:

update_interval 1

Dies ist eine Konfigurationsoption und muss daher .conkyrcvor dem TEXTBlock in der Kopfzeile Ihres platziert werden.

Bedenken Sie, dass die conkyCPU-Auslastung umso höher ist, je kürzer das Intervall ist, da es häufiger ausgeführt wird. Sie müssen entscheiden, ob es sich lohnt.

Die einzige andere Möglichkeit wäre, Ihr getvolume.shSkript abzubrechen und neu zu starten conky. Fügen Sie diese Zeile am Ende Ihres Skripts hinzu:

killall conky; conky &

@Joseph R hat dies auf conkyder Manpage von gefunden:

   An easy way to force Conky to reload your ~/.conkyrc: "killall -SIGUSR1
   conky". Saves you the trouble of having to kill and then  restart.  You
   can now also do the same with SIGHUP.

Sie können also ein erneutes conkyLesen der Init-Datei erzwingen, indem Sie am Ende Ihrer Datei den folgenden Befehl hinzufügen getvolume.sh:

killall -SIGUSR1 conky

verwandte Informationen