Proxmox VE仪表盘更换主题

PVE用了很长时间了,但感觉默认的界面稍显枯燥了些。

其实PVE 7.4版就添加了暗色模式。后来发现可以更换官方的其他主题,有时候换个新主题,换换心情嘛

前言

本文基本参考了 Lunar Computer 的 Change the Theme of Proxmox VE

Change the Theme of Proxmox VE :: LUNAR COMPUTER — Tech Blog and Tutorials
In this tutorial we’ll change the theme of Proxmox VE 6.0. There are six themes you can choose from (in the image below from top left to bottom right): theme-aria theme-classic theme-crisp (default theme) theme-gray theme-neptune theme-triton Prepare Make sure you have a server running Proxmox VE 6.0. Then, make sure you have followed the steps in our previous article on how to make customizations to Proxmox VE 6.
lunar.computer

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

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注