Ubuntu 17.10竖屏副显示器显示额外光标问题求助
解决Ubuntu下GTX1060双屏光标跨屏异常问题
我之前在Ubuntu环境下处理过类似的双屏光标映射bug,尤其是当显示器旋转后分辨率比例特殊的时候,Xorg的光标处理很容易出现这种不对称的异常。你的情况里,主副屏像素总数相同但方向相反,系统的坐标映射逻辑大概率出了偏差。
下面是几个实测有效的解决方法,你可以一步步试试:
方法一:重置显示配置(最简单的第一步)
先从图形界面的显示设置入手,重置一下显示器的配置:
- 打开系统设置里的显示面板,先把副显示器暂时改成横屏,点击应用后再改回竖屏,让系统重新计算坐标映射关系。
- 重点检查显示设置里的显示器位置拖拽:把左侧的竖屏副显示器和右侧的横屏主显示器边缘对齐,确保没有偏移,这样系统才能正确识别两个屏幕的边界衔接。
方法二:手动修改Xorg配置文件(彻底解决)
如果图形界面设置无效,那就手动给NVIDIA显卡写个Xorg配置,强制修正光标映射逻辑:
- 先创建Xorg的显卡配置文件(如果没有的话):
sudo nano /etc/X11/xorg.conf.d/20-nvidia.conf - 在文件里添加以下内容,注意替换成你实际的显示器接口(可以用
xrandr命令查看接口名称,比如DP-0、HDMI-1这类):
比如你的副屏是向左旋转的,就用Section "Device" Identifier "nvidia" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce GTX 1060" # 这里替换成你的显示器接口和分辨率旋转设置 Option "MetaModes" "DP-0: 1920x1200 {Rotation=Normal}, DP-1: 1200x1920 {Rotation=Left}" Option "CursorShadow" "Off" Option "UseDisplayDevice" "none" EndSectionRotation=Left,如果是向右旋转就改成Rotation=Right。 - 保存文件后,重启Xorg服务或者直接重启系统:
sudo systemctl restart gdm3
方法三:用xrandr临时修正(快速测试)
要是不想修改配置文件,也可以用xrandr命令临时刷新显示器参数,强制纠正坐标映射:
- 先运行
xrandr查看当前的显示器名称和状态,找到你的主副屏接口。 - 执行以下命令(替换成你的实际接口名称):
这里的# 设置主显示器:位置在副屏右侧,对应副屏宽度1200像素 xrandr --output DP-0 --primary --mode 1920x1200 --pos 1200x0 --rotate normal # 设置副显示器:位置在左上角(0,0),向左旋转 xrandr --output DP-1 --mode 1200x1920 --pos 0x0 --rotate left--pos参数明确了两个屏幕的位置衔接,让系统能正确计算光标在跨屏时的坐标。
为什么会出现这个问题?
这种不对称的光标显示,本质是Xorg在处理旋转后的显示器坐标时,没有正确生成双向的边界映射表。主屏左上角的1/6区域刚好对应副屏左下角的坐标范围,但系统只错误地渲染了主屏到副屏的光标,反向的映射没有生效。通过重新设置显示器的位置和旋转参数,就能让系统重新生成正确的坐标映射,解决光标异常问题。
内容的提问来源于stack exchange,提问作者Janusz
相关产品推荐
相关产品推荐

