
我在 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
。
- 使用 Ctrl-alt-F1 開啟虛擬終端並登入
若要取得已連線畫面的名稱(假設您的 X 伺服器正在執行:0
):
$xrandr -d :0
若要修改顯示設定:
$sleep 5; xrandr --output LVDS1 --auto -d :0
將 LVDS1 替換為您想要修改的輸出,並將 --auto 替換為您想要使用的任何 xrandr 參數。
- 在上面命令中設定的睡眠延遲過去之前,使用 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)將腳本附加到啟動器來設定雙外部顯示器。因此,您將登出,一切都會恢復正常,您將登入筆記型電腦,點擊顯示器的啟動器並享受生活。
更多資訊
您可能需要考慮
sudo dpkg-reconfigure -phigh xserver-xorg
重置 xserver 或(可能更好看看回答米克在評論中建議)。SuSE 的一個人寫了一篇不錯的文章文章關於X。
在一個已解決的錯誤報告有人說:
管理員可以將腳本放入 /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:
答案4
我還沒有提到一件事,但可能很關鍵:如果您使用的是筆記型電腦筆記型電腦,解決方案很簡單:Fn+ F7。如果您使用的是不同製造商的筆記型電腦,很可能會有其他一些 Fn 型鍵,可以切換顯示/螢幕輸出(例如,投影機、外部顯示器、內部顯示器;鏡像、開/關、等)在BIOS級別(我假設 -編輯: 看Fn 鍵如何運作?有關此的更多詳細信息)。
因此,可以這麼說,無需在 Linux 內重置任何內容。