sit*_*lge 5 arch-linux shell-script conky
有没有办法循环conky
?例如,我的.conky
脚本显示 cpu 负载,但是,当我移动到另一台机器时必须重新配置它。一个简单的脚本,如
sudo grep "processor" /proc/cpuinfo | wc -l
Run Code Online (Sandbox Code Playgroud)
提供有关核心计数的信息,可能会在循环中使用,例如
${cpu cpu{1}}
Run Code Online (Sandbox Code Playgroud)
我不是 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
Run Code Online (Sandbox Code Playgroud)
然后在您~/.conkyrc
的conky.config={
部分中添加该行
lua_load = '~/mylua.lua',
Run Code Online (Sandbox Code Playgroud)
(或对于 1.10 之前的旧版 conky lua_load ~/mylua.lua
)以及在您想要获得 cpu 值的地方,该行
${lua_parse conky_mycpus}
Run Code Online (Sandbox Code Playgroud)
当 conky 启动时,lua 脚本将运行,并且该变量listcpus
最终将成为一个合适的字符串,如"${cpu cpu1} ${cpu cpu2}"
,具体取决于 grep 找到的处理器数量。