PVE用了很长时间了,但感觉默认的界面稍显枯燥了些。
其实PVE 7.4版就添加了暗色模式。后来发现可以更换官方的其他主题,有时候换个新主题,换换心情嘛
前言
本文基本参考了 Lunar Computer 的 Change the Theme of Proxmox VE
PVE的主题是使用extjs框架构建的(也是NAS系统OMV5以前的界面框架),理论上可用大部分extjs
但是经过我的测试,明确可用的只有以下六个主题,分别是:
theme-aria
theme-classic
theme-crisp
(默认主题)theme-gray
theme-neptune
theme-triton
crisp是PVE的默认主题,和aria、neptune以及triton都是现代矢量化主题;classic和gray则是包含位图资源的经典主题(在高分屏下控件会部分模糊)。
此外Neptune有大间距的触屏版本,另外还有一些共用名称前缀、但实际不可用的子主题;主题也可以和PVE的官方暗色模式共存,但只有现代矢量化的主题效果最好。
步骤
首先打开终端,安装git,大部分情况下PVE默认是没有内置的,要使用apt安装:
apt install -y git
然后建立目录以拉取主题仓库,目录的位置可随意(以下以custom目录为例),但是需要记住目录的路径,在下文的脚本文件配置中会用到
mkdir /usr/share/custom/ && cd /usr/share/custom/
使用git拉取主题仓库:
git clone git://git.proxmox.com/git/extjs.git
在上述建立的custom目录中创建 apply.sh 作为生效用的脚本文件,并通过echo输出命令:拷贝custom下extjs目录文件到pve的资源目录
touch /usr/share/custom/apply.sh
echo "cp -vrf /usr/share/custom/extjs/extjs/build/classic/{theme-aria,theme-classic-sandbox,theme-classic,theme-gray,theme-neptune-touch,theme-neptune,theme-neutral,theme-triton} /usr/share/javascript/extjs/" >> /usr/share/custom/apply.sh
并且使用正则替换 /usr/share/pve-manager/index.html.tpl
的主题名称(其中 theme-crisp
是默认/当前的主题,theme-triton
是想要换成的目标主题)
echo "sed -i.bak \"s/theme-crisp/theme-triton/g\" /usr/share/pve-manager/index.html.tpl" >> /usr/share/custom/apply.sh
(实际就是一行css link,需要改的地方也就两处,改错了完全可以开SCP用记事本修改html模板文件)
最后用bash运行apply.sh
bash ./apply.sh
效果
默认的PVE界面:
如果不出意外的话,打开web仪表盘后台会立即生效:
或者面临的是完全没加载CSS的错误样式(悲)
如果出现没有加载CSS的错误,其实按照之前所说的,只要编辑 /usr/share/pve-manager/index.html.tpl
模板文件找到css link的那行就可以修复了,在目录下还有一个备份的bak文件可以复原嘛(bushi