基本答案

基本答案

我在 KDE (Kubuntu) 上的多個顯示器上遇到了一個棘手的問題。我有一台筆記型電腦,在家裡連接了兩個顯示器 - VGA 和 HDMI。只有在內建筆記型電腦顯示器已停用時才有效(至少我被告知)。

問題是,現在我把筆記型電腦拿走並在沒有連接外部顯示器的情況下啟動它。系統會記住內建顯示器已停用,因此即使它是唯一連接的顯示器,也會將其停用。顯然,這使得筆記型電腦幾乎無法使用。透過++Ctrl切換到終端,可以登入;即使訪客也正常運作。AltF#

問題是,由於我無法使用 GUI,該如何透過終端(重新)設定帳戶的監控設定?

謝謝

答案1

該命令xrandr -s 0應該重置終端中的顯示。更多資訊可以在以下站點或man xrandr終端機中找到。

https://linuxacademy.com/blog/linux/solution-resetting-your-screen-解析度-with-xrandr/

答案2

每當我將 Lubuntu 筆記型電腦置於睡眠狀態(當它只在電視上顯示時)並在拔掉插頭後將其喚醒時,我都會看到黑屏,因為分配了錯誤的分辨率。與您有相同的問題,我需要從 TTY1 虛擬終端設定分辨率,我可以使用 Ctrl-alt-F1 到達,但 xrandr 似乎不起作用。在找到解決方案之前,我瀏覽了谷歌搜尋結果頁面,所以我想我會分享。

關鍵是 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 替換為您想要修改的輸出,並將 --auto 替換為您想要使用的任何 xrandr 參數。

  1. 在上面命令中設定的睡眠延遲過去之前,使用 Ctrl-alt-F7 切換到 X 伺服器。

一定有更好的方法來做到這一點。但它有效。

解決方案的原始來源:http://www.lgqyc.com/server-14-04-3-lts-display-orientation/

看看這個評論對我的解決方案進行可能的改進(我自己沒有測試過)。

答案3

好問題。回答起來有點棘手,但這裡有一個嘗試。

基本答案

其實有一點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 或(可能更好看看回答米克在評論中建議)。

  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

我還沒有提到一件事,但可能很關鍵:如果您使用的是筆記型電腦筆記型電腦,解決方案很簡單:Fn+ F7。如果您使用的是不同製造商的筆記型電腦,很可能會有其他一些 Fn 型鍵,可以切換顯示/螢幕輸出(例如,投影機、外部顯示器、內部顯示器;鏡像、開/關、等)在BIOS級別(我假設 -編輯: 看Fn 鍵如何運作?有關此的更多詳細信息)。

因此,可以這麼說,無需在 Linux 內重置任何內容。

相關內容