问题描述
关于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或(可能更好地查看注释中建议的answer Mik)。 -
一个SuSE人写了一篇关于X的好的article。
-
在一个已解决的bugreport中有人说:管理员可以删除/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
的错误。
-
使用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/
Check out this comment可以改进我的解决方案(未经我自己测试)。
第三种解决方案
命令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-type键切换显示/屏幕输出(例如,投影仪,外部显示器,内部显示器;镜像,开/关和在BIOS级别下降(我假设 – 编辑:有关详细信息,请参阅How do Fn keys work?)。
因此,没有必要在Linux中重置任何东西,可以这么说。