Может ли Conky выполнять базовые математические вычисления естественным образом?

Всем спасибо. Похоже, это была проблема с ssh-agent. После перезагрузки все ок. Я думаю, что он не обновлял некоторую конфигурацию на лету, когда на сервере были изменены принятые методы входа в систему.

2
20.10.2016, 10:13
1 ответ

Ответ зависит от того, как вы на это посмотрите. Если вы считаете встроенную в Conky -поддержку Lua и связанное с этим использование Lua частью Conky, то да. В противном случае нет.

Использовать Lua для вычислений довольно просто. Вот пример Lua-файла с именем temps.luaдля выполнения некоторых вычислений (Я также добавил в ваш пример )...

function conky_F2C(f)
    local c = (5.0/9.0)*(f-32.0)
    return c
end

function conky_C2F(c)
    local f = c*(9.0/5.0)+32.0
    return f
end

function conky_acpitempF()
    local c = conky_parse("${acpitemp}")
    return conky_C2F(c)
end

function conky_loadavg()
    return conky_parse("${loadavg 1}") * 100
end

В верхней части раздела conky.configмоего файла .conkyrcя поместил следующее...

lua_load = '~/bin/lua_scripts/temps.lua',

А в разделе conky.textя помещаю следующие строки...

ACPI Temp... ${acpitemp}°C
Conv to F... ${lua conky_acpitempF}°F

Body Temp... 98.6°C
Conv to C... ${lua conky_F2C 98.6}°C

Load Avg... ${loadavg 1}
Multipliled by 100... ${lua conky_loadavg}%

Результат на Conky должен выглядеть примерно так, как...

ACPI Temp... 43°C
Conv to F... 109.4°F

Body Temp... 98.6°C
Conv to C... 37°C

Load Avg... 0.28
Multipliled by 100... 28.0%

Обратите внимание, что, насколько мне известно, вы не можете передать объект Conky, например ${loadavg 1}, в функцию Lua. Но вы можете получить доступ к объекту внутри функции Lua, как в приведенном выше примере кода.

2
27.01.2020, 22:10

Теги

Похожие вопросы