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


32

关于KDE(Kubuntu)上的多个监视器,我有一个棘手的问题。我有一台笔记本电脑,在家里可以连接到两台显示器-VGA和HDMI。这仅在禁用内置笔记本电脑显示屏时才有效(至少有人告诉我)。

问题在于,现在我拿走了笔记本电脑,并在未连接任何外接显示器的情况下启动了笔记本电脑。系统记住内置显示器已被禁用,因此即使它是唯一连接的显示器,它也会禁用它。显然,这使笔记本电脑几乎无法使用。通过切换到终端Ctrl+ Alt+ F#的作品,我可以登录; 甚至来宾都可以正常工作。

问题是,由于无法使用GUI,如何通过终端(重新)设置帐户的监视器设置?

谢谢


3
最近回答问题的相关问题xrandr可能很有用。

2
当我可以在第二台显示器上使用控制台时,这很有帮助,xrandr可以设置我的设置。但是,当我只能使用non-gui终端时,xrandr表示它无法打开显示,因此非常没用。
Martin Melka

如何禁用笔记本电脑的内置显示器?
关于natty的坚果,

我不知道KDE是否有相关的区别,但是在标准ubuntu中它对我来说很好(通过GUI关闭内部显示器,关闭笔记本电脑盖,将笔记本电脑舒适地放在扩展坞中)。
关于natty的坚果,

1
您的意思是每次使用笔记本电脑时,无论是否有外部显示器,我都必须进行设置?如果是这样,那太糟了。无论如何,我需要知道如何通过tty做到这一点
Martin Melka 2013年

Answers:


9

好问题。回答起来有些棘手,但请尝试一下。

基本答案

实际上,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:

有趣。重置脚本什么也不做。我通过tty重新启动计算机,但是一切都一样。与将其放入文件夹相同:| 我也尝试将xrandr命令放入其中,但无济于事
Martin Melka 2013年

重置脚本将运行Xreset.d目录中找到的所有内容。
don.joey

1
对。一开始它对我不起作用,因为我忘记为脚本添加可执行权限。现在,它就像一种魅力。谢谢。一句话,不过。如果在此期间让笔记本电脑进入睡眠状态并拔下显示器的电源,则我尚未注销,因此不会重置屏幕。有没有办法通过tty注销自己?我试着在为谁使用X相同的用户登录,但logoff只登录我送行从tty,而不是从十
马丁梅尔卡

嗨,马丁。我很高兴您能正常工作!你尝试过类似的东西gnome-session-quit吗?来源:askubuntu.com/questions/15795/...
don.joey

17

每当我的Lubuntu笔记本电脑仅在电视上显示时进入睡眠状态,并在拔下电源插头后将其唤醒时,由于分配了错误的分辨率,我最终都会出现黑屏。与您同样的问题,我需要通过Ctrl-alt-F1可以从TTY1虚拟终端设置分辨率,但是xrandr似乎不起作用。在提出解决方案之前,我对Google搜索结果的页面进行了搜索,因此我想与您分享。

关键是xrandr显然只能在当前聚焦的显示器上工作。因此,您必须在xrandr命令之前链接一个sleep命令,以使您有时间使用Ctlr-alt-F7切换回X服务器,以便在那里执行该命令。否则会出现类似的错误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/

请查看此评论,以可能改善我的解决方案(未经测试)。


这是唯一对我有用的答案。疯狂的巧合,一个3岁的主题,在11小时前提交了唯一可行的答案:)。编辑:哦,快三年前。奇怪...
亚当·普洛彻

哇。多年来,这一直使我发疯。您的回答似乎很荒谬(睡着了吗?真的吗?),但是它有效,谢谢!
泰勒

6
原来,有一个稍微好一点的方式来做到这一点:chvt 7; xrandr --output LVDS1 --auto -d :0。chvt 7会为您切换到VT7,因此您无需睡眠/ Ctrl-Alt-F7。sleep 5chvtxrandr呼叫之间可能需要一个a ,但是即使这样,它仍可以保存手动按键。
泰勒

一个办法是建立.xsessionrc在你的主目录可执行文件,包括命令xrandr --auto强制所有显示器的自动重新配置你每次登录的时间。
米克Rantalainen

16

该命令xrandr -s 0应在终端中重置您的显示。在以下站点或man xrandr终端中可以找到更多内容。

https://linuxacademy.com/blog/linux/solution-resetting-your-screen-resolution-with-xrandr/


欢迎来到Ask Ubuntu!虽然这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。
guntbert 2014年

4
是的,这可行。其他答案过于肿,复杂或效率低下。还可能需要注意一些值,如果您遇到黑屏(看不到任何东西),则可以使用快捷键打开终端并盲目键入“ xrandr -s 0”。那就是我所做的:)
kodeart

请注意,在两个监视器的设置中,此命令可能会停用第二个监视器,而不是将两个监视器都设置为其默认分辨率。
达里安(Darien)

在我的系统上,该命令会禁用两个外部监视器,但也会将其配置重置为默认值-修复了不时中断的VGA DCC检测。之后,我只需要重新启用屏幕并使用“显示”工具重新放置它们。它不是理想的,但是它非常可行,并且比我以前的解决方案更好,该解决方案是暂停并唤醒计算机几次,直到重置VGA端口为止。
古斯

4

你有尝试过吗

DISPLAY=:0 xrandr --output LVDS1 --auto

来自其他tty(例如tty1),

您可以通过哪个访问Ctrl Alt F1并切换回tty7(标准图形)Ctrl Alt F7


1
xrandr: Configure crtc 1 failed尝试--output HDMI1 --off时,这给了我。--auto什么也没说,直到我手动将其关闭。然后--auto抛出相同的错误
Martin Melka

需要更仔细地调查;我肯定它会成功,最终...
含糊不清的内容,2013年

2

我还没有提到一件事,但是可能很关键:如果您使用的是Thinkpad笔记本电脑,则解决方案非常简单:Fn+ F7。如果您使用的是其他制造商的笔记本电脑,则很有可能会使用其他Fn型键来切换显示/屏幕输出(例如,投影仪,外部显示器,内部显示器,镜子,开/关,等)进入BIOS级别(我假设- 编辑:有关此详细信息,请参见Fn键的工作原理?)。

可以这么说,因此无需在Linux中重置任何内容。


1
我有一个IdeaPad,但是Fn +键不起作用(唯一起作用的键是睡眠)
Martin Melka 2013年

我的直觉是:继续使用这个!我目前没有时间彻底调查自己,尽管很有可能我可以在IBM Thinkpad X41上对该字段进行一些优化,但是-值得的是-大多数Fn键可以在我的系统上工作(两者都可以)笔记本电脑,以及对我的外部SK-8855“的ThinkVantage”键盘):在第一肤浅一眼在Ubuntu软件中心(或者一样),至少这件事情TP-SMAPI-DKMS 0.41-1安装。因此,您可能想尝试安装它,研究它和/或其他类似选择,这些都将使您的Fn钥匙最终栩栩如生!
关于natty的坚果,2013年

还可以查看tpctl.sourceforge.net
有关

难以置信,但这就是事实。开关显示- Fn+ F8的戴尔Latitude。从扩展坞中卸下后,有时无法打开内置显示器。(我在扩展坞上仅使用外部VGA显示器。)尝试切换显示器似乎是胡说八道,但是它确实打开了内置显示器。
Ferdinand Prantl
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.