Я пытаюсь заставить X экранных заставок gltext контролировать мой системный временный файл и возможно некоторую другую статистику. Запись сценария, который соединяет статистику периодически, не является никакой проблемой, но главное, с которым я сталкиваюсь, состоит в том, что gltext не обновляется - безотносительно текста, который я подаю, это остается там.
Так, например, я выполняю эту команду:
$ /usr/lib/xscreensaver/gltext -text "`cat /proc/acpi/thermal_zone/THRM/temperature`"
и получите gltext показ окна:
temperature: 60 C
Я могу управлять им и отформатировать его по мере необходимости, но поскольку мой ЦП нагревается и остывает, это не обновляет, даже если я включаю переменные времени, которые делают.
У меня есть сценарий, который подает gltext время как первая строка и временный файл как вторая строка - и хотя время обновляет непрерывно, когда время изменяется, температурное значение остается тем же как каждый раз, когда запущенная экранная заставка.
Действительно ли возможно сделать то, что я хочу, который является изменением текст каждые 60 секунд если изменения температуры?
Я понял это. gltext имеет a -program
флаг, который позволяет Вам подавать любой сценарий в него, и он обновляет каждые 5 секунд. strftime
управляющие коды обычно не обрабатываются, таким образом, любой скрипт, запущенный -program
отметьте должен иметь способ произвести время.
Читая документацию относительно gltext, это говорит:
Дисплеи несколько строк текста, кружащегося в твердом 3D шрифте. Текст может использовать strftime () управляющие коды для отображения текущей даты и время
Это приводит меня полагать, что текст, отправленный в gltext, дан функции strftime и из-за этого, переменные времени (управляющие коды) будут динамично обновлены. Нет никакого доказательства некоторой схожей функциональности для произвольной информации или выполнения программы, и поэтому я должен буду сказать, что не возможно сделать то, что Вы хотите сделать.
В Вашем конкретном случае, когда Вы работаете gltext -text "`cat /proc/acpi/thermal_zone/THRM/temperature`"
, Ваша команда выполняется однажды, и получающийся вывод преобразовывается в аргумент, который отправляется при запуске в gltext, который ничего не будет знать о том, какая команда однажды произвела его.