pve显示温度去除弹窗
网络测试
首先我们打开准备好的第三方客户端,链接我们pve的控制台,登录完成后
测试pve宿主机是否连接网络,我们直接ping百度即可,如果有回应,证明宿主机网络是通的,如果ping不通,我们进入管理界面,设置好对应的网关的dns解析地址即可。
软件安装
输入以下命令,升级我们的软件库。
apt update
安装温度显示软件
apt-get install lm-sensors -y
安装完成测试
sensors
脚本安装与使用
我们用 final shell 打开 home 文件夹,创建一个名称为 sensors. Sh 的文件
创建完成后,将我们准备好的命令粘贴进去
#!/usr/bin/env bash
np="/usr/share/perl5/PVE/API2/Nodes.pm"
pvejs="/usr/share/pve-manager/js/pvemanagerlib.js"
plib="/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js"
pvever=$(pveversion | awk -F"/" '{print $2}')
echo pve版本$pvever
echo 备份源文件
[ ! -e $np.$pvever.bak ] && cp $np $np.$pvever.bak || { echo 已经修改过,请务重复执行; exit 1;}
[ ! -e $pvejs.$pvever.bak ] && cp $pvejs $pvejs.$pvever.bak
[ ! -e $plib.$pvever.bak ] && cp $plib $plib.$pvever.bak
therm='$res->{thermalstate} = `sensors`;';
cpure='$res->{cpure} = `cat /proc/cpuinfo | grep -i "cpu mhz"`;';
echo 修改node.pm:
sed -i "/PVE::pvecfg::version_text()/a $cpure\n$therm" $np
sed -n "/PVE::pvecfg::version_text()/,+5p" $np
tmpf=tmpfile.temp
touch $tmpf
cat > $tmpf << 'EOF'
{
itemId: 'thermal',
colspan: 2,
printBar: false,
title: gettext('温度'),
textField: 'thermalstate',
renderer:function(value){
const m = value.match(/(?<=:[^\+]+\+)\d+/g)
return `CPU: ${m[0]}(${m[1]},${m[2]},${m[3]},${m[4]}) | BOARD: ${m[5]} | NVME: ${m[6]}`;
}
},
{
itemId: 'cpumhz',
colspan: 2,
printBar: false,
title: gettext('CPU频率'),
textField: 'cpure',
renderer:function(value){
const m = value.match(/(?<=:\s+)(\d+)/g);
return `CPUMHZ: ${m[0]} | ${m[1]} | ${m[2]} | ${m[3]}`;
}
},
EOF
#找到关键字pveversion的行号
echo 修改pvemanagerlib.js
ln=$(sed -n '/pveversion/,+10{/},/{=;q}}' $pvejs)
echo "匹配的行号pveversion:" $ln
echo 修改结果:
sed -i "${ln}r $tmpf" $pvejs
sed -n '/pveversion/,+30p' $pvejs
rm $tmpf
echo 修改页面高度
sed -i -r '/widget\.pveNodeStatus/,+5{/height/{s#[0-9]+#360#}}' $pvejs
sed -n '/widget\.pveNodeStatus/,+5{/height/{p}}' $pvejs
sed -i -r '/\[logView\]/,+5{/heigh/{s#[0-9]+#460#;}}' $pvejs
sed -n '/\[logView\]/,+5{/heigh/{p}}' $pvejs
echo 修改去除订阅弹窗
sed -r -i '/\/nodes\/localhost\/subscription/,+10{/^\s+if \(res === null /{N;s#.+#\t\t if(false){#}}' $plib
sed -n '/\/nodes\/localhost\/subscription/,+10p' $plib
systemctl restart pveproxy
echo "请刷新浏览器缓存shift+f5"
粘贴完成后保存
输入
cd /home
#进入home文件夹
chmod +x sensors.sh
#赋予脚本可执行权限
./sensors.sh
#执行脚本
至此我们打开管理界面,发现警告弹窗没有了,主界面也显示我们的主板和cpu温度
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 孔昊天的折腾日记!
评论