如果你有多台主机,但是只有一个显示器,显示器有多个视频输入接口(hdmi、dp、typec),这些接口可以连接到多台主机,想要在显示器上来回切换不同主机画面,但是又不想用显示器上操蛋的按钮来操作,那么这篇博客会对你有所帮助。
前言
本教程为博主原创,转载请注明出处
- windows系统下有一个很好用的显示器ddc控制软件,名字叫做
ControlMyMonitor
,直接用这款软件切换也很方便。 - mac就比较操蛋了,mac下有免费开源的显示器亮度和音量调节软件
MonitorControl
, 然而这款软件却不支持切换输入源。 - 然后我又找到了
lunar
这款软件,支持切换显示器输入源,但是这是一款收费软件,价格很贵(¥139),而且全英文界面看着不直观。最关键的是,你使用这款软件切换输入源让显示器连接到另外一台主机,但是想要切回来就不得行了,还是得手撸显示器按钮,除非你在每台主机上都安装上这个软件(139元是单机器的价格,所以两台你就要花278大洋),或者另外的其他主机是windows系统,用ControlMyMonitor
切换回来也行。 - 后面我想着这些破软件还不就是通过显示器提供的ddc通道来控制显示器的么,我自己直接调用不行么,非得假手这些软件?所以我摸索出来了一套切实可行的方案,直接键盘上敲个快捷键,就能切换到相应的输入源,下面请看教程。
ps:首先,你的显示器要支持
ddc/ci
,不支持的话,就不用往下看了。(一般不是特别老的显示器都是支持的)
第一步:先安装ddc控制的命令行工具(不同芯片架构按不同的教程走)
intel芯片
- 安装homebrew(已安装则忽略)
#若安装慢或者网络不通下载不下来就得挂梯子,或者百度找其他办法
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 安装ddcctl
brew install ddcctl
arm芯片(m1、m2、m1 pro、m1 max、m1 ultra)
- github能正常访问的情况下依次执行以下命令安装
cd ~
git clone https://github.com/waydabber/m1ddc.git
cd m1ddc
make
- github访问不了的话下载博主提供的包,按以下操作安装
下载后解压到某个目录,比如用户目录~
终端内,cd进入解压后的目录,比如cd ~/m1ddc
执行make
命令安装
第二步:创建切换显示器输入源的自动化流程
完成了上面的第一步之后,其实我们已经可以在终端内执行命令来切换输入源了,但是每次都执行命令还是不太方便,而且如果输入源切换到了非当前机器的其他主机,就没法在终端执行命令了,毕竟看不到屏幕也不好盲操。所以需要创建个自动化工作流程,然后用快捷键来触发即可。
显示器输入源代码如下,后面会要用到
输入源 | 对应代码 |
---|---|
VGA-1 | 1 |
VGA-2 | 2 |
DVI-1 | 3 |
DVI-2 | 4 |
Composite video 1 | 5 |
Composite video 2 | 6 |
S-Video-1 | 7 |
S-Video-2 | 8 |
Tuner-1 | 9 |
Tuner-2 | 10 |
Tuner-3 | 11 |
Component video (YPrPb/YCrCb) 1 | 12 |
Component video (YPrPb/YCrCb) 2 | 13 |
Component video (YPrPb/YCrCb) 3 | 14 |
DisplayPort-1 | 15 |
DisplayPort-2 | 16 |
HDMI-1 | 17 |
HDMI-2 | 18 |
USB-C | 27 |
- 打开如上图的app,mac自带的,类似于ios上的
快捷指令
- 点击之后会弹出一个访达窗口,点击底部靠左边的
新建文稿
按钮 - 在弹出的
选区文稿类型
弹窗中,点击选择快速操作
,然后点击右下角选取
按钮 - 按照如图的四步走(切换的命令怎么填请看后面的具体讲解)
intel芯片的的机器切换输入源命令格式如下
#此命令为使环境变量生效的命令,博主使用的zsh的shell,所以是如下命令,如果你未切换过shell种类,那么命令应该是 source ~/.bash_profile
source ~/.zshrc
#1为显示器的代号,如果只有一台显示器那就填1就行,17为需要切换到的输入源,此处的17代表第一个HDMI端口 ,更多代码请看上面的表格
ddcctl -d 1 -i 17
arm芯片的机器切换输入源的命令格式如下
# ~/m1ddc/m1ddc 为ddc命令行工具的执行文件路径,如果安装时,你是直接解压到用户目录下的,那就照着我这个填就行,如果不是就按你自己的目录来
#1为显示器的代号,如果只有一台显示器那就填1就行,15为需要切换到的输入源,此处的15代表第一个DP端口 ,更多代码请看上面的表格
~/m1ddc/m1ddc display 1 set input 15
- ok,填写完毕之后点击状态栏左上角菜单栏的
文件
菜单,再点击存储
菜单,然后自己设定一个工作流的名称,比如切换输入源到hdmi
,然后保存
- 多个输入源,只需要重复以上的步骤,创建多个自动化流程即可。
第三步:给工作流绑定快捷键
完成以上两步之后,执行工作流就可以切换输入源了,可以自己试一下,在编辑工作流完成后,右上角有一个
运行
按钮,点击之后你就会发现输入源切换了。但是这样操作太麻烦,所以我们接着绑定快捷键。
- 打开
系统偏好设置-键盘-快捷键
,在左侧菜单中选择服务
- 在
通用
大类中找到我们创建的工作流
- 点击添加快捷键,设置自己需要设置的快捷键,输入自己需要的快捷键之后还是会显示
添加快捷键
,不过其实已经设置好了,鼠标点击一下其他地方,它就会刷新了,不知道为什么搞这么傻逼的设计,而不是设置完马上显示。
后记
可能设置好之后你会发现有时候点击快捷键毛效果都没有,根本没切换输入源,可以做如下尝试
- 换一个快捷键,你设置的快捷键可能跟其他快捷键冲突了
- 重启大法
- 打开访达窗口,然后再按一遍快捷键,这时候你可能会发现,快捷键很神奇的生效了,之后不在访达窗口按也能生效了,我也不知道是为什么,可能又是傻逼苹果的bug吧。
更多玩法
- 以上全文说的操作,都是在同一台电脑上执行的,你只需要在你的mac主力机上安装ddc工具并创建工作流,就可以通过该mac机器的键盘切换到任意输入源。
- 现在已经实现了多机器共用显示器,其实你还可以更进一步,实现多机器共用鼠标键盘,只需要用博主分享的软件
synergy
就可以实现,链接:https://luoxx.top/archives/synergy-free-share (如果你的键鼠本来就支持多设备共享,那当我没说,比如罗技的优联) - 如果你听我的建议安装了
synergy
,那么你要注意,在切换输入源的时候,先要把键鼠切换连接到主力mac机器上再按快捷键,不然按烂了都没用。
目前网上还真没有一个靠谱的切换显示器输入源的方案,至少我自己在百度谷歌没搜到,全靠自己研究出来的,如果对你有帮助的话,点赞评论支持一下吧。