それを繰り返す方法はありますかconky
?たとえば、CPU負荷を示すスクリプトがあり、.conky
別のシステムに移動するときにそれを再構成する必要があります。このような単純なスクリプト
sudo grep "processor" /proc/cpuinfo | wc -l
コア数に関する情報を提供します。おそらくたとえば、ループに使用されます。
${cpu cpu{1}}
答え1
私はconky / luaの専門家ではないので、より良い方法があるかもしれませんが、この方法はうまくいきます。~/mylua.lua
以下を含むファイルに 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',
(または1.10より前のconkyバージョンの場合lua_load ~/mylua.lua
)CPU値を取得したい場所では、次の行を使用してください。
${lua_parse conky_mycpus}
conkyが起動するとluaスクリプトが実行され、変数はたとえばgrepで見つかったプロセッサの数に応じてlistcpus
適切な文字列になります。"${cpu cpu1} ${cpu cpu2}"
答え2
新しい行を追加することを忘れないでください。そうしないと、最新のconkyで不要な結果が発生する可能性があります。
1行に複数の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",
1つのlua_loadにすべてのluaファイルをロードしないと、「NIL例外」が発生する可能性があります。