forked from hxabcd/enji_but_pyqt
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrun_linux.sh
More file actions
36 lines (31 loc) · 1.2 KB
/
run_linux.sh
File metadata and controls
36 lines (31 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/env bash
# ============================================================
# 胭脂 但是 PyQt — Linux (Kubuntu) 启动脚本
# ============================================================
#
# 【重要】本程序大量依赖窗口任意定位(move()),
# 这在 Wayland 原生模式下被合成器禁止。
# 因此强制通过 XWayland 以 X11 协议运行。
#
# 前置依赖(确认已安装):
# sudo apt install python3.13 libnotify-bin
# pip install uv 或 pip install pyside6
# uv sync (推荐,自动处理依赖)
# ============================================================
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
# 强制 Qt 使用 X11(XWayland),以支持窗口任意定位
export QT_QPA_PLATFORM=xcb
# 禁用 Qt 高 DPI 自动缩放干扰(由程序自行处理 scale)
export QT_AUTO_SCREEN_SCALE_FACTOR=0
export QT_SCALE_FACTOR=1
# 如果使用 uv 管理环境
if command -v uv &>/dev/null && [ -f "pyproject.toml" ]; then
echo "[INFO] 使用 uv 运行..."
exec uv run python main.py "$@"
else
# 直接用系统 python3
echo "[INFO] 使用系统 python3 运行..."
exec python3 main.py "$@"
fi