Linux系统下如何通过软件实现外接显示器画面冻结,使内屏操作不干扰外屏显示?
嘿,这个需求真的太实用了——做演示或分享内容时,谁都不想让观众看到自己切换窗口的杂乱过程!针对你用的Kubuntu 24.04(支持X11或Wayland),我整理了几个不用遥控器、能自定义快捷键的软件方案,完全不打断工作流程:
X11 窗口系统方案
X11下可以用轻量的命令行工具组合实现,步骤很简单:
- 安装必要工具
打开终端,先装截图工具scrot和图片查看器feh:
sudo apt install scrot feh
- 编写冻结/解冻脚本
创建两个脚本文件,方便一键执行:
- 冻结脚本(
freeze_external.sh):
#!/bin/bash # 替换成你的外接显示器名称,用xrandr命令可查看(比如HDMI-1、DP-1) EXTERNAL_DISPLAY="HDMI-1" # 截取外接显示器当前画面 scrot -o -p -d 0 ~/.frozen_screen.png # 在指定显示器全屏显示截图,覆盖原有内容实现冻结 feh --fullscreen --no-fehbg --display $EXTERNAL_DISPLAY ~/.frozen_screen.png & # 保存进程ID,方便后续解冻 echo $! > ~/.frozen_screen_pid
- 解冻脚本(
unfreeze_external.sh):
#!/bin/bash # 终止截图显示进程并清理临时文件 kill $(cat ~/.frozen_screen_pid) rm ~/.frozen_screen_pid ~/.frozen_screen.png
- 给脚本加执行权限
chmod +x freeze_external.sh unfreeze_external.sh
- 设置自定义快捷键
打开KDE「系统设置」→「快捷键」→「自定义快捷键」,添加两个新的快捷键:
- 绑定到
freeze_external.sh,比如设置快捷键为Ctrl+Alt+F(冻结) - 绑定到
unfreeze_external.sh,比如设置为Ctrl+Alt+U(解冻)
Wayland 窗口系统方案
Wayland对X11工具兼容性有限,所以用Wayland原生工具组合:
- 安装必要工具
sudo apt install grim slurp swayimg wlr-randr
- 编写冻结/解冻脚本
同样创建两个脚本:
- 冻结脚本(
freeze_external_wayland.sh):
#!/bin/bash # 替换成你的外接显示器名称,用wlr-randr命令查看(比如HDMI-A-1) EXTERNAL_DISPLAY="HDMI-A-1" # 截取外接显示器当前画面 grim -o $EXTERNAL_DISPLAY ~/.frozen_screen_wayland.png # 在指定显示器全屏显示截图 swayimg -f -o $EXTERNAL_DISPLAY ~/.frozen_screen_wayland.png & # 保存进程ID echo $! > ~/.frozen_screen_wayland_pid
- 解冻脚本(
unfreeze_external_wayland.sh):
#!/bin/bash kill $(cat ~/.frozen_screen_wayland_pid) rm ~/.frozen_screen_wayland_pid ~/.frozen_screen_wayland.png
- 加执行权限并设置快捷键
和X11步骤一样,给脚本加执行权限后,在KDE快捷键设置里绑定自定义按键即可。
小提示
- 运行
xrandr(X11)或wlr-randr(Wayland)可以准确获取你的外接显示器名称,别填错哦! - 测试时可以先手动运行脚本,确认外接显示器能正常冻结/解冻后再绑定快捷键。
内容的提问来源于stack exchange,提问作者sm8ps
相关产品推荐
相关产品推荐

