如何通过终端将显示器设置重置为默认值?
关于KDE(Kubuntu)上的多个显示器,我有一个棘手的问题。 我有一台笔记本电脑,在家里,连接到两个显示器 – VGA和HDMI。 仅当内置笔记本电脑显示器被禁用时才起作用(至少我被告知)。
问题是,现在我拿走了笔记本电脑并启动它,没有连接外部显示器。 系统会记住内置显示器已被禁用,因此即使它是唯一连接的显示器,它也会禁用它。 显然,这使笔记本电脑几乎无法使用。 通过Ctrl + Alt + F#切换到终端工作,我可以登录; 即使客人工作正常。
问题是,我如何(重新)通过终端设置帐户的监控设置,因为我无法使用GUI?
谢谢
好问题。 有点棘手,但这是一个尝试。
基本答案
实际上X11中包含一些重置可能性 。 你可以在/etc/X11/Xreset
找到它。 您可以使用Xreset目录( Xreset.d
)粘贴在用户注销时自动运行的脚本。 自述文件:
# Scripts in this directory are executed as root when a user log out from # a display manager using /etc/X11/Xreset. # The username of the user logging out is provided in the $USER environment # variable.
因此,您可以a)在/etc/X11/Xreset.d
添加重置脚本,并且b)将脚本附加到启动器,该启动器设置双外部显示器。 因此,您将注销,一切都将恢复正常,您将登录到您的笔记本电脑,点击发射器的显示器,享受生活。
更多信息
-
您可能需要查看
sudo dpkg-reconfigure -phigh xserver-xorg
以重置xserver或(可能更好地查看Mik在评论中建议的答案 )。 -
一个SuSE人写了一篇关于X的好文章 。
-
在一个解决的bug报告中有人说:
管理员可以删除/etc/X11/Xreset.d/中的脚本,以便在用户注销后运行。
-
这是文件的内容:
您可以在自己的系统上找到它。
#!/bin/sh # # /etc/X11/Xreset # # global Xreset file -- for use by display managers # $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $ set -e PROGNAME=Xreset SYSSESSIONDIR=/etc/X11/Xreset.d if [ ! -d "$SYSSESSIONDIR" ]; then # Nothing to do, exiting exit 0 fi # use run-parts to source every file in the session directory; we source # instead of executing so that the variables and functions defined above # are available to the scripts, and so that they can pass variables to each # other SESSIONFILES=$(run-parts --list $SYSSESSIONDIR) if [ -n "$SESSIONFILES" ]; then set +e for SESSIONFILE in $SESSIONFILES; do . $SESSIONFILE done set -e fi exit 0 # vim:set ai et sts=2 sw=2 tw=80:
每当我将我的Lubuntu笔记本电脑独占显示在电视上并在拔掉电源后将其唤醒时,我就会因为分配错误的分辨率而使用黑屏。 和你一样的问题,我需要设置我可以通过Ctrl-alt-F1到达的TTY1虚拟终端的分辨率,但是xrandr似乎不起作用。 在提出解决方案之前,我搜索了谷歌搜索结果的页面,所以我想我会分享。
关键是xrandr显然只适用于当前关注的显示器。 因此,您必须在xrandr命令之前链接一个sleep命令,以便有时间使用Ctlr-alt-F7切换回X服务器,以便在那里执行命令。 否则会出现像xrandr: Configure crtc 0 failed
这样的错误xrandr: Configure crtc 0 failed
。
- 使用Ctrl-alt-F1打开虚拟终端并登录
要获取已连接屏幕的名称(并假设您的X服务器正在运行:0
):
-
$xrandr -d :0
要修改显示设置:
-
$sleep 5; xrandr --output LVDS1 --auto -d :0
用想要修改的输出替换LVDS1,并用你想要使用的任何xrandr参数替换.auto。
- 在您在上面的命令中设置的睡眠延迟过去之前,使用Ctrl-alt-F7切换到X服务器。
有一个更好的方法来做到这一点。 但它的确有效。
解决方案的原始来源: http : //www.lgqyc.com/server-14-04-3-lts-display-orientation/
查看此评论以获得对我的解决方案的可能改进(未经我自己测试)。
命令xrandr -s 0
应该重置终端中的显示。 可以在以下站点或终端中的man xrandr
找到更多内容。
https://linuxacademy.com/blog/linux/solution-resetting-your-screen-resolution-with-xrandr/
你试过吗(像……)
DISPLAY=:0 xrandr --output LVDS1 --auto
来自不同的tty
(例如tty1),
您可以通过Ctrl Alt F1
访问并使用Ctrl Alt F7
切换回(标准图形)tty7?
我还没有提到的一件事,但可能是关键的:如果你使用的是Thinkpad笔记本电脑,那么解决方案就很简单: Fn + F7 。 如果您使用的是其他制造商的笔记本电脑,很可能会有一些其他Fn型按键切换显示屏/屏幕输出(例如,投影仪,外接显示器,内部显示屏;镜像,开/关,在BIOS级别(我假设 – 编辑 :请参阅Fn键如何工作?有关详细信息)。
因此,没有必要在Linux中重置任何东西,可以这么说。