图标升级

This commit is contained in:
2026-05-16 00:44:37 +08:00
parent 837996c436
commit d80e8dd05d
2113 changed files with 14850 additions and 244328 deletions

View File

@@ -1,10 +1,92 @@
#!/bin/bash
#!/usr/bin/env bash
set -euo pipefail
# apt install -y python3-pyqt6.qtwebengine
# apt install -y python3-pyqt6.qtquick3d
# apt install -y python3-pyqt6.qtquick
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
VENVDIR="$SCRIPT_DIR/venv"
echo "== Printer_Screen_Menu 安装脚本 =="
if ! command -v apt >/dev/null 2>&1; then
echo "错误:本脚本需要 aptDebian/Ubuntu。请在支持 apt 的系统上运行。"
exit 1
fi
SUDO=""
if [ "$(id -u)" -ne 0 ]; then
SUDO="sudo"
fi
echo "更新 apt 索引并安装基础包python3-venv, python3-pip..."
$SUDO apt-get update -y
$SUDO apt-get install -y python3-venv python3-pip
echo "检测可用的 PyQt6 apt 包并尝试通过 apt 安装(优先使用系统包)..."
pyqt_candidates=(
python3-pyqt6
python3-pyqt6.qt6-opengl
python3-pyqt6.qtsvg
python3-pyqt6.qt6widgets
python3-pyqt6.qtopengl
python3-pyqt6.qt6opengl
)
found_pyqt=()
for p in "${pyqt_candidates[@]}"; do
if apt-cache show "$p" >/dev/null 2>&1; then
found_pyqt+=("$p")
fi
done
if [ "${#found_pyqt[@]}" -gt 0 ]; then
echo "通过 apt 安装: ${found_pyqt[*]}"
$SUDO apt-get install -y "${found_pyqt[@]}"
else
echo "未检测到合适的 PyQt6 apt 包,将在虚拟环境内使用 pip 安装 PyQt6 作为回退。"
install_pyqt_via_pip=1
fi
if apt-cache show python3-opengl >/dev/null 2>&1; then
echo "检测到系统级 python3-opengl尝试通过 apt 安装(可选加速)。"
$SUDO apt-get install -y python3-opengl
else
echo "未检测到 python3-openglPyOpenGL 将在虚拟环境中通过 pip 安装。"
fi
echo "创建虚拟环境(如果不存在): $VENVDIR"
if [ ! -d "$VENVDIR" ]; then
python3 -m venv "$VENVDIR"
else
echo "虚拟环境已存在,跳过创建。"
fi
echo "激活虚拟环境并升级 pip..."
# shellcheck disable=SC1090
source "$VENVDIR/bin/activate"
python -m pip install --upgrade pip setuptools wheel
if [ "${install_pyqt_via_pip:-0}" = "1" ]; then
echo "在 venv 中通过 pip 安装 PyQt6回退..."
pip install PyQt6
fi
REQ_FILE="$SCRIPT_DIR/requirements.txt"
if [ -f "$REQ_FILE" ]; then
echo "通过 requirements.txt 安装 pip 依赖..."
pip install -r "$REQ_FILE"
else
echo "找不到 requirements.txt安装常用依赖..."
pip install requests numpy PyOpenGL qrcode Pillow
fi
echo "\n依赖安装完成。要使用本项目"
echo "1) 激活虚拟环境source venv/bin/activate"
echo "2) 启动程序python3 main.py"
echo "接下来进行 systemd 服务配置... (将会安装于 /opt/Printer_Screen_Menu)"
echo "Stopping existing service..."
systemctl disable printer-screen.service
systemctl stop printer-screen.service
echo "Installing Printer Screen Menu..."
echo "Cleaning up old installation..."
rm -rf /etc/systemd/system/printer-screen.service
rm -rf /opt/Printer_Screen_Menu
@@ -16,7 +98,7 @@ cp -r ./. /opt/Printer_Screen_Menu/
echo "Setting up systemd service..."
chmod +x /opt/Printer_Screen_Menu/run.sh
systemctl disable printer-screen.service
cp printer-screen.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable printer-screen.service