Existe alguma maneira de usar o gltext xscreensaver para monitorar as informações do sistema?

0

Estou tentando obter o gltext do protetor de tela X para monitorar o meu sistema temp e talvez algumas outras estatísticas. Escrever um script que reúna as estatísticas periodicamente não é problema, mas a principal coisa em que estou me deparando é que o gltext não é atualizado - qualquer texto que eu o alimente permanece lá.

Então, por exemplo, eu corro este comando:

$ /usr/lib/xscreensaver/gltext -text "'cat /proc/acpi/thermal_zone/THRM/temperature'"

e obtenha uma janela gltext mostrando:

temperature:             60 C

Eu posso manipulá-lo e formatá-lo conforme necessário, mas à medida que meu processador aquece e esfria, ele não é atualizado, mesmo se eu incluir as variáveis de tempo.

Eu tenho um script que alimenta gltext o tempo como a primeira linha e temp como a segunda linha - e embora o tempo seja atualizado continuamente à medida que o tempo muda, o valor da temperatura permanece o mesmo que sempre que o protetor de tela é iniciado. >

É possível fazer o que eu quero, que é mudar o texto a cada 60 segundos se a temperatura mudar?

    
por Shane 26.05.2010 / 04:20

2 respostas

1

Eu percebi isso. gltext tem um sinalizador -program que permite que você alimente qualquer script nele e atualiza a cada 5 segundos. Os códigos de escape strftime não são processados normalmente, portanto, qualquer script executado pelo sinalizador -program precisa ter uma maneira de gerar tempo.

    
por 26.05.2010 / 17:46
1

Lendo a documentação no gltext, diz:

Displays a few lines of text spinning around in a solid 3D font. The text can use strftime() escape codes to display the current date and time

Isso me leva a acreditar que o texto enviado em gltext é dado à função strftime e, por isso, as variáveis de tempo (códigos de escape) serão atualizadas dinamicamente. Não há evidências de alguma funcionalidade semelhante para informações arbitrárias ou execução de programas e, portanto, terei que dizer que não é possível fazer o que você deseja fazer.

No seu caso específico, quando você executa gltext -text "'cat /proc/acpi/thermal_zone/THRM/temperature'" , seu comando é executado uma vez e a saída resultante é convertida em um argumento que é enviado na inicialização para gltext, que não saberá nada sobre qual comando o produziu.

    
por 26.05.2010 / 10:55