是否有 2 台或更多台 PC 连接到单个外部显示器? 如果您在其中一台 PC 上运行 Ubuntu(或其他 Linux),则以下是如何添加键盘快捷键以切换显示器上的视频源。

如今,大多数外接显示器都具有多个视频输入端口,例如 HDMI1、HDMI2、DP1,允许同时连接不同的计算机。

而且,它们通常支持 DDC/CI 协议来控制显示器,而无需点击物理按钮。

在Windows中,使用ControlMyMonitor(它是http链接,不确定现在是否有效)来修改显示器设置和自动热键来设置键盘快捷键。

在 Ubuntu 和大多数其他 Linux 中,通过 ddcutil 可以轻松完成这项工作。

ufans.top提醒注意:本教程适用于所有当前的 Ubuntu 版本(Ubuntu 20.04、Ubuntu 22.04、Ubuntu 23.04/23.10)和大多数其他 Linux,但仅在 22.04 LTS 中进行了测试。

步骤 1:安装 ddcutil
对于 Ubuntu 用户,只需按键盘上的 Ctrl+Alt+T 即可打开终端窗口。 打开后,运行命令来安装命令行工具:

sudo apt install ddcutil

当要求 sudo 身份验证时输入用户密码,但没有星号反馈。

对于基于 Fedora、RHEL 的系统,请运行以下 dnf 命令:

sudo dnf install ddcutil

并且,基于 Arch 的 Linux 可以通过命令安装它:

sudo pacman -S ddcutil

第二步:设置权限

安装上面的包后,i2c用户组就创建好了。 您必须通过运行命令将当前用户添加到该组:

sudo gpasswd --add $USER i2c

不确定是否需要,但如果下一步对您不起作用,请尝试重新启动计算机。

第三步:使用Linux命令切换显示器输入源

1.现在,在终端中运行命令来报告连接的显示器,并找出逻辑显示器编号:

ddcutil detect

就我而言,它是数字 1。通常,如果仅连接一台显示器,您可以跳过此步骤。

2.接下来,运行命令找出特征代码及其输入源的值:

ddcutil --display 1 capabilities

根据最后一条命令将数字 1 替换为您的数字。 您可以跳过 --display 1。

在终端输出中,60 是我的输入源特征代码。 并且,值包括:十六进制的 0f 和 11。 所以,它们是 0x0f 和 0x11。

ddcutil-input-featurecode.webp

3.找到特征码及其值后,尝试运行命令切换显示器输入源:

ddcutil setvcp 60 0x11

在此命令中,将 60 替换为您的功能代码。 并且,根据要切换到的视频源将 0x11(在我的例子中是 HDMI-1)替换为您的值。

第四步:设置切换输入源的键盘快捷键

如果 ddcutil setvcp 命令适合您,现在您可以执行以下步骤来设置键盘快捷键来完成这项工作。

对于 GNOME(Ubuntu 和 Fedora 中的默认桌面),打开“设置”并导航至“键盘 -> 键盘快捷键 -> 查看和自定义快捷键”。
keyboard-settings.webp

在弹出的对话框中,选择“自定义快捷方式”,然后添加新的快捷方式:

  • 名称:切换显示器输入源(或任何你想要的)。
  • 命令: ddcutil setvcp 60 0x11 (根据您的更改代码 60 和 0x11)。
  • 快捷键:任何您想要的组合键。

另外,添加另一个键盘快捷键以切换回来。
switch-monitor-back.webp
switch-monitor.webp
对于其他桌面环境,请尝试为自定义键盘快捷键设置页面启动“键盘快捷键”、“快捷键”、“自定义快捷键”、“键盘”等。

最后修改:2024 年 03 月 04 日
如果觉得我的文章对你有用,请随意赞赏