如何通过终端将显示器设置重置为默认值?

关于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)将脚本附加到启动器,该启动器设置双外部显示器。 因此,您将注销,一切都将恢复正常,您将登录到您的笔记本电脑,点击发射器的显示器,享受生活。

更多信息

  1. 您可能需要查看sudo dpkg-reconfigure -phigh xserver-xorg以重置xserver或(可能更好地查看Mik在评论中建议的答案 )。

  2. 一个SuSE人写了一篇关于X的好文章 。

  3. 在一个解决的bug报告中有人说:

    管理员可以删除/etc/X11/Xreset.d/中的脚本,以便在用户注销后运行。

  4. 这是文件的内容:

您可以在自己的系统上找到它。

 #!/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

  1. 使用Ctrl-alt-F1打开虚拟终端并登录

要获取已连接屏幕的名称(并假设您的X服务器正在运行:0 ):

  1. $xrandr -d :0

要修改显示设置:

  1. $sleep 5; xrandr --output LVDS1 --auto -d :0

用想要修改的输出替换LVDS1,并用你想要使用的任何xrandr参数替换.auto。

  1. 在您在上面的命令中设置的睡眠延迟过去之前,使用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中重置任何东西,可以这么说。