web-dev-qa-db-ja.com

ターミナルを介してモニター設定をデフォルトにリセットする方法は?

KDE(Kubuntu)の複数のモニターに関して、難しい問題があります。私は、自宅で2台のモニター(VGAとHDMI)に接続されているラップトップを持っています。これは、組み込みのラップトップディスプレイが無効になっている場合にのみ機能します(少なくとも私には言われました)。

問題は、ラップトップを取り外して、外部モニターを接続せずに起動したことです。システムは、内蔵ディスプレイが無効になったことを記憶しているため、接続されている唯一のモニターであっても無効になります。明らかに、ラップトップはほとんど使用できなくなります。を介して端末に切り替える Ctrl+Alt+F# 動作し、ログインできます。ゲストでも正常に動作します。

質問は、GUIを使用できないので、どのようにターミナルを介してアカウントのモニター設定を(再)設定しますか?

ありがとう

32
Martin Melka

良い質問。答えるのは少し難しいですが、試してみてください。

基本的な答え

実際には少し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. XserverをリセットするためにSudo dpkg-reconfigure -phigh xserver-xorgを調べることもできます(おそらく、コメントで提案されている answer Mikをよく見てください)。

  2. SuSEの男がNice article についてXを書いた。

  3. 解決された bugreport で誰かが述べています:

    管理者は、ユーザーがログアウトした後に実行するスクリプトを/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:
9
don.joey

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/

このコメントをチェックしてください 私のソリューションの改善の可能性について(自分でテストしていません)。

17
Gabriel Morin

コマンドxrandr -s 0は、ターミナルのディスプレイをリセットする必要があります。詳細については、次のサイトまたはターミナルのman xrandrを参照してください。

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

16
Miguel

試しましたか(sth like)

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

別のtty(例:tty1)から、

Ctrl Alt F1を介してアクセスし、Ctrl Alt F7を使用して(標準のグラフィカル)tty7に戻すことができますか?

4

まだ言及していませんが、重要なことは何ですか:Thinkpadラップトップを使用している場合、解決策は簡単です: Fn+F7。別のメーカーのラップトップを使用している場合、ディスプレイ/画面出力を切り替える他のFnタイプのキーが存在する可能性が高いです(たとえば、ビーマー、外部モニター、内部ディスプレイ、ミラー、オン/オフ、 BIOSレベルでダウン(など)-編集Fnキーはどのように機能しますか?詳細については)。

つまり、いわば、Linux内で何かをリセットする必要はありません。

2