ループする方法はありますかconky
?たとえば、.conky
CPU負荷を表示するスクリプトがありますが、別のマシンに移動すると再構成する必要があります。次のような簡単なスクリプトです。
sudo grep "processor" /proc/cpuinfo | wc -l
コア数に関する情報を提供し、多分ループ内で使用される
${cpu cpu{1}}
答え1
~/mylua.lua
私はConky/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 をロードすることも重要です。
例:
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 例外」がスローされる可能性があります。