P-IT Blog

Proxmox VE 8.1 去除「無有效的訂閱」彈窗指南

登錄 Proxmox VE (PVE) 8.1 時,系統默認會彈出「無有效的訂閱 (No valid subscription)」提示框。雖然這不影響功能使用,但每次登錄都需要手動關閉,非常影響體驗。

本文提供兩種解決方案:推薦使用 pvetools 工具一鍵修復,或通過手動修改系統文件去除。


方案一:使用 pvetools 工具(推薦)

pvetools 是一個專為 Proxmox VE 設計的強大輔助工具,集成了去除訂閱彈窗、配置國內源、直通配置等實用功能。

1. 安裝與啟動

使用 SSH 登錄 PVE 服務器(Root 用戶),在終端執行以下命令進行安裝:

# 安裝 git 並克隆倉庫運行
export LC_ALL=en_US.UTF-8
apt update && apt -y install git
git clone https://github.com/ivanhao/pvetools.git
cd pvetools
./pvetools.sh

2. 操作步驟

  1. 執行腳本後,會出現語言選擇界面,輸入 y 選擇中文,或輸入 n 選擇英文。
  2. 進入主菜單後,您會看到各種功能選項。
  3. 找到 "去除訂閱提示" (Remove subscription notice) 選項,通常在 ce 區塊中。
  4. 按照屏幕提示確認執行。
  5. 腳本執行完畢後,會提示您重啟網頁服務。

3. 驗證

清除瀏覽器緩存(Ctrl + F5),重新登錄 PVE 管理頁面,確認彈窗是否已消失。


方案二:手動修改系統文件

如果您不想安裝第三方工具,也可以通過手動修改 JavaScript 文件來實現。

1. 備份原始文件

在修改前,務必備份原始文件以防萬一。

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

2. 編輯文件

使用 nanovim 打開文件:

nano /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

3. 修改代碼

使用搜索功能(Nano 中按 Ctrl + W,Vim 中按 /)查找關鍵字 No valid subscription

找到類似以下的代碼段(通常在 Ext.Msg.show 函數調用處):

// 原始代碼
Ext.Msg.show({
    title: gettext('No valid subscription'),
    ...
});

Ext.Msg.show 修改為 Ext.Msg.noshow(即手動讓其失效):

// 修改後
Ext.Msg.noshow({
    title: gettext('No valid subscription'),
    ...
});

4. 重啟服務

修改完成後,保存文件並重啟 PVE 網頁服務:

systemctl restart pveproxy

注意事項

  1. 瀏覽器緩存:修改後如果彈窗依舊存在,請務必清除瀏覽器緩存或嘗試使用無痕模式登錄。
  2. 系統更新:PVE 系統更新(apt upgrade)可能會覆蓋 proxmoxlib.js 文件,導致彈窗恢復。如果發生這種情況,只需重新運行 pvetools 或再次手動修改即可。
  3. 合法性說明:此操作僅從前端隱藏了提示框,並未破解或獲取企業版功能。如果您在生產環境中使用 PVE,建議購買官方訂閱以獲得穩定的企業更新源和技術支持。