基本答案

基本答案

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

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

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

谢谢

答案1

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

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

答案2

当我将 Lubuntu 笔记本电脑置于睡眠状态(它只在电视上显示)并在拔下电源后将其唤醒时,屏幕会变黑,因为分配了错误的分辨率。和你一样,我需要从 TTY1 虚拟终端设置分辨率,我可以用 Ctrl-alt-F1 访问该终端,但 xrandr 似乎不起作用。我搜索了多页 Google 搜索结果才找到解决方案,所以我想分享一下。

关键是 xrandr 显然只在当前聚焦的显示器上工作。因此,您必须在 xrandr 命令之前链接一个 sleep 命令,以便有时间使用 Ctrl-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

好问题。回答起来有点棘手,但可以尝试一下。

基本答案

其实有一点X11 中包含重置可能性。您可以在 找到它/etc/X11/Xreset。您可以使用 Xreset 目录 ( Xreset.d) 粘贴用户注销时自动运行的脚本。README 文件:

# 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. 在一个已解决错误报告有人说:

    管理员可以将脚本放在 /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:

答案4

有一件事我还没有提到,但可能很关键:如果你使用ThinkPad笔记本电脑,解决方案很简单:Fn+ F7。如果你使用的是其他制造商的笔记本电脑,很有可能会有一些其他的 Fn 型键,可以在 BIOS 级别切换显示/屏幕输出(例如,投影仪、外接显示器、内置显示器;镜像、开/关等)(我假设 -编辑: 看Fn 键如何工作?更多详细信息)。

因此可以说不需要在 Linux 中重置任何东西。

相关内容