多个主机切换显示器
AI-摘要
CaiCai GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
本文最后更新于 2024-06-20,文章内容可能已经过时。
#!/bin/bash
#xrandr 后面的VGA是 直接输入xrandr获取到的
tohdmi(){
xrandr --output VGA-0 --off
xrandr --output HDMI-0 --auto
}
tovga(){
xrandr --output VGA-0 --auto
xrandr --output HDMI-0 --off
}
case $1 in
vga)
tovga
;;
hdmi)
tohdmi
;;
esac
一开始想通过一个脚本控制,结果发现off以后直接切换是切换不回来的,会报错cant open display
问了下gpt
当你在Linux系统中使用
xrandr
命令将显示器设置为
off
状态之后,如果直接尝试使用
xrandr --auto
命令来重新开启并自动设置显示器,有时可能会遇到“can't open display”的错误。这是因为一旦你的显示设备被关闭,与之关联的显示服务或会话可能不再有效,导致后续的
xrandr
命令无法找到一个有效的显示连接来执行操作。
1. 重启图形界面: 如果你有图形界面(如GNOME、KDE、XFCE等),可以尝试重启图形会话或者整个图形界面。这通常可以通过快捷键(如Ctrl+Alt+F2切换到虚拟终端,登录后使用systemctl restart gdm或systemctl restart lightdm等命令重启显示管理器,然后通过Ctrl+Alt+F7回到图形界面)完成。注意这里的命令gdm或lightdm取决于你的系统使用的显示管理器。
2. 使用虚拟终端: 切换到虚拟终端(如Ctrl+Alt+F2),登录后尝试重新设置显示器。有时从一个干净的shell环境执行命令可以避免之前的环境问题。
3. 检查 DISPLAY 环境变量: 确认DISPLAY环境变量是否设置正确。在虚拟终端中输入echo $DISPLAY,正常的输出可能是:0.0。如果没有设置或者设置不正确,可以尝试手动设置:export DISPLAY=:0。
4. 手动开启显示器: 如果重启图形界面不可行或不适用,可以尝试手动设置显示器模式而非使用--auto。首先,使用xrandr列出可用的输出设备和模式,然后直接指定模式开启显示器。例如,如果列出的设备名为LVDS1,可用模式包括1920x1080,你可以尝试xrandr --output LVDS1 --mode 1920x1080。
5. 检查权限和X权限: 确保你有足够的权限执行这些操作,尤其是在使用sudo或其他用户权限管理工具时。有时候,直接作为图形界面的登录用户执行命令会更加顺利。
解决这个问题的一种方法是通过以下步骤尝试恢复显示:
如果上述步骤都不能解决问题,可能需要查看系统日志(如
/var/log/Xorg.0.log
)来获取更详细的错误信息,或者考虑是否存在更深层次的系统配置问题。
1.重启算了,每次都重启不太行
4....我显示器开着的,xrandr直接输入会提示cant open display
5.没到这
2.3.在windows中ssh连接服务器,再通过export $DISPLAY=:0 ,然后就可以输入 xrandr --auto了,再通过windows的controlMonitor软件切换即可。
然后就直接通过前面的脚本执行 就可以了。
问题在于 这个export是暂时的,需要永久生效就要去/etc/profile或者~/.bashrc 修改全局引入,这样不管重启还是怎么都可以用了
新版脚本:
#!/bin/bash
d=$(echo $DISPLAY)
if [ -z "$d" ];then
echo "no display,will set temp d"
export $DISPLAY=':0'
else
echo "ok"
xrandr --output VGA-0 --off
sleep 5
xrandr --auto
fi
#xrandr --output VGA-0 --off
#sleep 5
#xrandr --auto
再通过 bashrc里 alias cw='sh /opt/cw.sh'
完美 通过cw就可以直接切换显示器。
格式化通过 v然后GG ,=即可格式化缩进
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 caicaiBlog
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果