Selkies屏幕缩放

我在部署 linuxserver/calibre容器 遇到一个问题: 显示器是4k屏幕,由于浏览器直接把物理分辨率传输给容器,导致Selkies显示的桌面应用UI和字体极小,甚至看不清文字。

实际上Selkies底层的WebRTC渲染引擎自带了物理缩放层(Scaling),不过默认是1:1。但是可以通过侧边栏的悬浮菜单进行选项调整:

  • 点击展开侧边栏,爱 Display Setting (屏幕设置)找到 界面缩放 功能,默认是 100% ,修改为 150% 就能完美处理4k显示器的UI显示:

../../_images/selkies_scaling.png

Qt应用缩放

备注

Calibre 是用 Qt 框架编写的。QT_SCALE_FACTOR=1.5 会让容器内的 Calibre 进程在渲染文本、菜单栏、图标时,直接在内存里以 1.5 倍(或 2 倍,可根据需要调整)的物理高密度进行绘制。

Linuxserver 的 Calibre 镜像底层依赖 X11 服务,可以通过注入环境参数来强制放大: 调整 docker-compose.ymlcalibre-backend 服务添加如下环境变量:

注入Qt框架的环境变量来缩放Calibre程序
calibre-backend:
    image: linuxserver/calibre
    # ... 保持你原有的配置不变 ...
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      - QT_SCALE_FACTOR=1.5     # 👈 核心注入 1:强制 Calibre 使用的 Qt5 框架整体放大 1.5 倍
      - QT_AUTO_SCREEN_SCALE_FACTOR=0 # 防止 Qt 盲目自适应导致冲突
    # ... 其余网络和设备透传保持原样 ...