如何关闭显示器且不受鼠标移动影响(保持系统运行,不中断TeamViewer远程连接)
如何关闭显示器且不受鼠标移动影响(保持系统运行,不中断TeamViewer远程连接)
嘿,这个问题我之前帮朋友解决过,刚好有几个实用的办法,分不同系统给你细说:
Windows系统
第一步:禁用鼠标/键盘的唤醒权限
这是关键,不然远程操作移动鼠标还是会唤醒显示器:- 右键点击开始菜单,打开「设备管理器」
- 找到「鼠标和其他指针设备」,双击你的鼠标设备
- 切换到「电源管理」标签,取消勾选「允许此设备唤醒计算机」,点击确定
- 同样的操作,找到「键盘」设备,也关掉它的唤醒权限,避免误触唤醒
第二步:快速关闭显示器
可以创建一个桌面快捷方式,双击就能直接关显示器:
右键桌面空白处 → 新建 → 快捷方式,在「目标」栏粘贴以下命令:powershell (Add-Type '[DllImport("user32.dll")]^public static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::SendMessage(-1,0x0112,0xF170,2)命名成「关闭显示器」,以后双击它就能立刻关闭显示器,而且远程操作鼠标完全不会唤醒它。
macOS系统
macOS的操作更简单:
- 快捷键直接关显示器:按下
Ctrl + Shift + 电源键(如果是带Touch Bar的机型,按Ctrl + Shift + Touch Bar上的电源按钮),显示器会立刻关闭,远程用TeamViewer操作时不会唤醒本地显示器 - 或者用终端命令:打开「终端」,输入
pmset displaysleepnow并回车,也能让显示器立即进入睡眠状态,效果和快捷键一样
Linux系统
- 快速关闭显示器:打开终端,输入通用命令
xset dpms force off,回车后显示器会强制关闭 - 禁用鼠标唤醒:如果发现鼠标移动还是会唤醒,先输入
xinput list找到你的鼠标ID,然后编辑udev规则文件(比如/etc/udev/rules.d/99-disable-mouse-wake.rules),添加一行:
把「你的鼠标名称」替换成SUBSYSTEM=="input", ATTRS{name}=="你的鼠标名称", RUN+="/bin/sh -c 'echo disabled > /sys/bus/usb/devices/$attr{busnum}-$attr{devpath}/power/wakeup'"xinput list里显示的鼠标名称,保存后重启系统就生效了。
另外要注意:确保TeamViewer的设置里没有勾选「唤醒远程计算机」这类选项(不过你是本地关显示器,远程连接已经建立,所以影响不大),主要还是系统层面的唤醒权限设置要做好。
备注:内容来源于stack exchange,提问作者Dile




