登陆的时候提示没有有效的订阅You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options.
用的是免费版的,所以每次都提示这个没有有效的订阅.
解决方法1:
修改文件/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
修改之前记得先备份一下
然后找到
if (data.status !== 'Active') {
修改为
if (false) {
然后保存,重启网页服务
systemctl restart pveproxy
解决方法2
-
或者
-
Ext.Msg.show({
-
修改为
-
Ext.Msg.noshow({
===============================================
增加PVE显示温度功能,我的CPU是10核心,所以全都显示出来了,还有最后一项主板温度也加上去了
修改方法如下
1. 安装lm-sensors
lm-sensors(Linux-monitoring sensors,Linux监控传感器)是是一款免费的Linux开源软件工具,提供监控温度,电压,湿度和风扇的工具和驱动程序。它也可以检测机箱入侵。
安装lm-sensor的方法很简单,在PVE的shell下运行命令即可完成,具体命令如下:
- apt-get install lm-sensors
安装完成后,可以运行命令“sensors-detect”来探测哪些传感器可用并加载相关的内核模块。通常全部默认yes即可,最后提示时候按回车完成!
之后执行命令“sensors”即可显示出系统运行的温度状态和风扇转速等信息:
- Last login: Wed Jul 17 10:42:51 CST 2019 on pts/0
- Linux pve 4.15.18-12-pve #1 SMP PVE 4.15.18-35 (Wed, 13 Mar 2019 08:24:42 +0100) x86_64
- The programs included with the Debian GNU/Linux system are free software;
- the exact distribution terms for each program are described in the
- individual files in /usr/share/doc/*/copyright.
- Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
- permitted by applicable law.
- root@pve:~# sensors
- nct6791-isa-0290
- Adapter: ISA adapter
- Vcore: +0.90 V (min = +0.00 V, max = +1.74 V)
- in1: +1.02 V (min = +0.00 V, max = +0.00 V) ALARM
- AVCC: +3.38 V (min = +2.98 V, max = +3.63 V)
- +3.3V: +3.36 V (min = +2.98 V, max = +3.63 V)
- in4: +1.01 V (min = +0.00 V, max = +0.00 V) ALARM
- in5: +0.17 V (min = +0.00 V, max = +0.00 V) ALARM
- in6: +0.84 V (min = +0.00 V, max = +0.00 V) ALARM
- 3VSB: +3.26 V (min = +2.98 V, max = +3.63 V)
- Vbat: +3.25 V (min = +2.70 V, max = +3.63 V)
- in9: +1.00 V (min = +0.00 V, max = +0.00 V) ALARM
- in10: +0.17 V (min = +0.00 V, max = +0.00 V) ALARM
- in11: +0.14 V (min = +0.00 V, max = +0.00 V) ALARM
- in12: +0.14 V (min = +0.00 V, max = +0.00 V) ALARM
- in13: +0.14 V (min = +0.00 V, max = +0.00 V) ALARM
- in14: +0.14 V (min = +0.00 V, max = +0.00 V) ALARM
- fan1: 0 RPM (min = 0 RPM)
- fan2: 885 RPM (min = 0 RPM)
- fan3: 0 RPM (min = 0 RPM)
- fan4: 0 RPM (min = 0 RPM)
- fan5: 0 RPM (min = 0 RPM)
- SYSTIN: +114.0°C (high = +0.0°C, hyst = +0.0°C) sensor = thermistor
- CPUTIN: +37.0°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
- AUXTIN0: +34.0°C (high = +0.0°C, hyst = +0.0°C) ALARM sensor = thermistor
- AUXTIN1: +106.0°C sensor = thermistor
- AUXTIN2: +105.0°C sensor = thermistor
- AUXTIN3: +105.0°C sensor = thermistor
- PECI Agent 0: +36.5°C
- PCH_CHIP_CPU_MAX_TEMP: +0.0°C
- PCH_CHIP_TEMP: +0.0°C
- PCH_CPU_TEMP: +0.0°C
- intrusion0: ALARM
- intrusion1: ALARM
- beep_enable: disabled
- acpitz-virtual-0
- Adapter: Virtual device
- temp1: +27.8°C (crit = +105.0°C)
- temp2: +29.8°C (crit = +105.0°C)
- asus-isa-0000
- Adapter: ISA adapter
- cpu_fan: 0 RPM
- coretemp-isa-0000
- Adapter: ISA adapter
- Package id 0: +37.0°C (high = +80.0°C, crit = +100.0°C)
- Core 0: +36.0°C (high = +80.0°C, crit = +100.0°C)
- Core 1: +36.0°C (high = +80.0°C, crit = +100.0°C)
- Core 2: +34.0°C (high = +80.0°C, crit = +100.0°C)
- Core 3: +37.0°C (high = +80.0°C, crit = +100.0°C)
上面的结果显示了当前的温度状态,其中,CPU的温度和主板温度是我们需要关注的内容。在后文中将根据这个输出结果来进行配置来显示温度状态。
先备份之后要修改的两个文件
- cp /usr/share/perl5/PVE/API2/Nodes.pm /usr/share/perl5/PVE/API2/Nodes.pm.bak
- cp /usr/share/pve-manager/js/pvemanagerlib.js /usr/share/pve-manager/js/pvemanagerlib.js.bak
2. 编辑修改文件
PVE使用Node.js来实现基于WebUI的管理,修改此文件的目的就是让其能定期执行sensors命令,并将结果输出Web页面上。具体的修改方法如下:
2.1. Nodes.pm
编辑文件”/usr/share/perl5/PVE/API2/Nodes.pm”,添加如下内容:
- 修改文件内容 ' vi /usr/share/perl5/PVE/API2/Nodes.pm '
- 添加 $res->{thermalstate} = `sensors`;
- 注意,sensors左右两个不是分号,而是在英文状态下字母区上方的数字键区域最左侧按键打出来的反引号
(搜索:pveversion)
2.2.pvemanagerlib.js
编辑文件”/usr/share/pve-manager/js/pvemanagerlib.js”,这里需要修改3处地方:
第1处:修改页面的显示范围,以完整显示新添加的CPU温度状态。修改内容如下:
(搜索:Ext.window.Window)
第2处:修改页面的显示范围,修改内容如下:
(搜索:PVE.panel.StatusView)
第3处:修改页面的显示内容,即相关的温度状态。添加内容如下:
(搜索:pveversion)
},{itemId: 'thermal',colspan: 2,printBar: false,title: gettext('设备温度'),textField: 'thermalstate',renderer:function(value){const c0 = value.match(/Core 0.*?\+([\d\.]+)?/)[1];const c1 = value.match(/Core 1.*?\+([\d\.]+)?/)[1];const c2 = value.match(/Core 2.*?\+([\d\.]+)?/)[1];const c3 = value.match(/Core 3.*?\+([\d\.]+)?/)[1];const c4 = value.match(/Package id 0.*?\+([\d\.]+)?/)[1];const c5 = value.match(/temp1.*?\+([\d\.]+)?/)[1];return `CPU温度: ${c0} | ${c1}| ${c2}| ${c3} 主板: ${c4} Wifi ${c5}`}}
注意:“const”开头的常量名称和数量是由前文所说的“sensors”命令的输出结果决定的,对于不同的CPU类型其内容会有所不同,在本文中是我自己的名称来设定的。对于其他类型的CPU,可能没有Package的名称,或者会有(多个Socket)。
3. 重启PVE的Web管理服务
修改完成后,重新启动PVE的Web管理服务使修改生效,其命令如下:
-
systemctl restart pveproxy
至此,PVE主机就可以显示出系统的CPU温度状态了。如下图所示:
之后强制刷新页面即可显示,win下Ctrl + F5 ,Mac下 花键 + shift + R