Proxmox VE (PVE) 一键去除未订阅弹窗教程 (支持 PVE 8.x / 9.x)

645 字
3 分钟
Proxmox VE (PVE) 一键去除未订阅弹窗教程 (支持 PVE 8.x / 9.x)

Proxmox VE (PVE) 去除“无有效订阅”弹窗指南#

在使用 Proxmox VE (PVE) 的社区免费版时,每次登录 Web 管理控制台都会弹出 “No valid subscription”(无有效订阅) 的提示窗口。

本文介绍一种安全、纯净的去弹窗方案:直接通过 Python 脚本精确修改前端 JavaScript 逻辑,无需安装第三方额外工具,不修改 /etc/pve,不影响虚拟机、Thin Pool 及存储配置。

Proxmox VE 订阅弹窗示意图
Proxmox VE 订阅弹窗示意图


一、备份原始文件#

在进行任何修改前,建议先通过 SSH 终端或 PVE 网页控制台(Shell)备份原始文件:

Terminal window
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js \
/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak

后期恢复官方文件(如需):

Terminal window
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak \
/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy

二、一键屏蔽订阅弹窗#

在 Shell 终端中直接复制并执行以下 Python 内联脚本,自动将订阅状态校验条件置为 false

Terminal window
python3 - <<'PY'
from pathlib import Path
p = Path("/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js")
s = p.read_text()
old = """ if (
res === null ||
res === undefined ||
!res ||
res.data.status.toLowerCase() !== 'active'
) {"""
new = """ if (false) {"""
if old not in s:
raise SystemExit("ERROR: 未找到目标代码,未进行修改")
p.write_text(s.replace(old, new, 1))
print("OK: 已成功关闭 No valid subscription 弹窗")
PY

三、重启服务与检查验证#

1. 检查代码是否替换成功#

执行以下命令查看修改结果:

Terminal window
grep -n -B 3 -A 12 "No valid subscription" \
/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

预期输出:

if (false) {
Ext.Msg.show({
title: gettext('No valid subscription'),
icon: Ext.Msg.WARNING,
msg: Proxmox.Utils.format_subscription_message(res.data.level),
...

或者直接搜索修改标记:

Terminal window
grep -n "if (false)" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

若返回类似 610: if (false) {,即表示代码替换无误。

2. 重启 Web 管理服务#

使修改后的 JavaScript 文件生效:

Terminal window
systemctl restart pveproxy

四、清理浏览器缓存并测试#

完成上述步骤后,回到浏览器中的 PVE 页面:

  1. 按快捷键强制刷新缓存:
    • Windows / Linux: Ctrl + F5
    • Mac: Cmd + Shift + R
  2. 若仍然弹出,请直接关闭当前标签页或浏览器,重新打开 PVE 管理地址登录验证。

五、补充说明与维护建议#

  1. 安全性说明: 此方法仅调整前端 Web UI 的弹窗判断逻辑,不需要修改系统核心 /etc/pve 配置文件,更不会影响虚拟机的运行、LVM Thin Pool 或各类底层存储结构。
  2. 版本更新覆盖: 建议保留步骤一中生成的 .bak 备份文件。当后续通过 apt update && apt upgrade 升级系统(尤其是更新 proxmox-widget-toolkit 软件包)后,官方补丁可能会覆盖该文件。若更新后弹窗再次出现,重新执行一次 步骤二与步骤三 即可。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Proxmox VE (PVE) 一键去除未订阅弹窗教程 (支持 PVE 8.x / 9.x)
https://blog.5iwy.com/posts/intelligence/pve/-pve-no-subscription/
作者
Suki
发布于
2026-08-28
许可协议
CC BY-NC-SA 4.0
分类
站点信息
构建平台
ESA Pages
文章许可
CC BY-NC-SA 4.0