Возможно ли зациклить conky

Возможно ли зациклить conky

Есть ли способ зациклиться conky? Например, у меня есть .conkyскрипт, который отображает загрузку процессора, однако его нужно перенастроить, когда я перехожу на другую машину. Тривиальный скрипт вроде

sudo grep "processor" /proc/cpuinfo | wc -l

дает информацию о количестве ядер иможет бытьиспользуется в цикле, например

${cpu cpu{1}}

решение1

Я не эксперт по conky/lua, так что может быть есть способ получше, но это работает. Вам нужно создать скрипт lua в, скажем, файле, ~/mylua.luaсодержащем

    local file = io.popen("grep -c processor /proc/cpuinfo")
    local numcpus = file:read("*n")
    file:close()
    listcpus = ""
    for i = 1,numcpus
    do  listcpus = listcpus.."${cpu cpu"..tostring(i).."} "
    end

    function conky_mycpus()
     return listcpus
    end

и затем в вашей части ~/.conkyrcвы можете добавить conky.config={строку

lua_load = '~/mylua.lua',

(или для старых версий conky до 1.10 lua_load ~/mylua.lua) и в том месте, где вы хотите получить значения процессора, строка

${lua_parse conky_mycpus}

При запуске conky будет запущен скрипт lua, и переменная listcpusв конечном итоге станет соответствующей строкой, например "${cpu cpu1} ${cpu cpu2}", в зависимости от количества процессоров, найденных grep.

решение2

Не забудьте добавить новую строку, иначе это приведет к нежелательным результатам в последнем conky.

Также важно загружать несколько lua в одну строку.

Пример:

~/.conky/lua/cpu.lua

function conky_mycpus()
        local file = io.popen("grep -c processor /proc/cpuinfo")
        local numcpus = file:read("*n")
        file:close()
        listcpus = ""
        for i = 1,numcpus
         do listcpus = listcpus.."${offset 15}Core "..tostring(i).." ${color ff8300}${cpubar cpu"..tostring(i).." 6}${color FFFDE2}\n"
        end

        return listcpus
end

загруженный с

lua_load             = "/usr/local/share/lua/5.3/corky.lua ~/.conky/lua/cpu.lua",

Если вы не загрузите все свои lua-файлы в один lua_load, могут возникнуть «исключения NIL».

Связанный контент