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


32

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

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

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

ありがとう


3
役に立つかもしれない 最近の答えに関連する質問xrandr

2
これは、2番目のモニターでコンソールを使用できるときに役立ちました。xrandrは設定を設定できました。しかし、非GUI端末しか使用できない場合、xrandrはディスプレイを開くことができないと言うので、かなり役に立たない。
マーティンメルカ

内蔵のラップトップディスプレイをどのように無効にしましたか?
ナッツについてのナッツ

KDEに関連する違いがあるかどうかはわかりませんが、標準のubuntu ではうまく動作します(GUIを介して内部モニターをオフにし、ラップトップの蓋を閉じ、ラップトップをドッキングステーションに快適に座っています)。
ナッツについてのナッツ

1
外付けモニターの有無にかかわらずラップトップを使用するたびに設定を設定する必要があるということですか?もしそうなら、それは吸う。とにかく、私はttyを介してそれを行う方法を知る必要があります
マーティン・メルカ

回答:


9

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

基本的な答え

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-xorgxserverのリセットを検討するか、コメントで提案された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:

面白い。ただし、リセットスクリプトは何もしません。ttyを実行し、コンピューターを再起動しましたが、すべて同じでした。フォルダーに入れることと同じです:| 私も、しかし無駄に内部のxrandrコマンドを入れてみました
マーティン・メルカ

リセットスクリプトは、Xreset.dディレクトリにあるものを実行します。
don.joey

1
右。スクリプトに実行許可を追加するのを忘れたため、最初はうまくいきませんでした。今では魅力のように機能します。ありがとうございました。ただし、ちょっとした発言があります。その間にラップトップをスリープ状態にしてモニターを取り外しても、ログオフしていないため、画面はリセットされません。ttyから自分をログオフする方法はありますか?Xを使用する同じユーザーとしてログインしようとしましたが、X logoffからではなく、ttyからのみログオフしました。
Martin Melka

こんにちはマーティン。あなたがそれを機能させてくれてうれしいです!次のようなものを試しましたgnome-session-quitか?出典:askubuntu.com/questions/15795/...
don.joey

17

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/

私のソリューションの改善点については、このコメント確認してください(自分でテストしていません)。


これは私のために働いた唯一の答えでした。偶然の一致、3年前のトピックには、11時間前に提出された唯一の有効な答えがありました:)。編集:まさにスナップ、ちょうど3年前。奇妙な...
アダムプロッチャー

ワオ。これは長い間私を夢中にさせてきました。あなたの答えはばかげているように見えますが(睡眠?本当に?)、うまくいきますので、ありがとうございます!
タイラー

6
結局のところ、これを行うには少し良い方法がありますchvt 7; xrandr --output LVDS1 --auto -d :0。chvt 7はVT7に切り替えますので、スリープ/ Ctrl-Alt-F7する必要はありません。とのsleep 5間の呼び出しが必要になる場合がchvtありxrandrますが、それでも手動でキーを押す必要はありません。
タイラー

1つのオプションは、作成することです.xsessionrcあなたのホームディレクトリに実行可能ファイルとコマンドを含むxrandr --autoたびにログインするすべてのディスプレイの自動再構成]を強制する。
ミッコRantalainen

16

このコマンドxrandr -s 0は、ターミナルのディスプレイをリセットする必要があります。詳細は、次のサイトまたはman xrandrターミナルから見つけることができます。

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


Ask Ubuntuへようこそ!これは質問に答えますが、ここに答えの本質的な部分を含め、参照用のリンクを提供することが望ましいでしょう
ガントバート14

4
はい、これは動作します。他の答えは、肥大化しすぎているか、複雑であるか、効率的ではありません。また、黒い画面が表示される(何も表示されない)場合は、ショートカットキーでターミナルを開き、「xrandr -s 0」とやみくもに入力できることに注意してください。それは私がやったことです:)
kodeart

2台のモニターのセットアップでは、このコマンドは両方のモニターをデフォルトの解像度に設定するのではなく、2番目のモニターを非アクティブにする場合があることに注意してください。
ダリエン

私のシステムでは、このコマンドは両方の外部モニターを無効にしますが、設定をデフォルトにリセットします。これにより、時々壊れるVGA DCC検出が修正されます。その後、画面を再度有効にし、ディスプレイツールを使用して画面の位置を変更するだけです。理想的ではありませんが、非常に機能し、以前のソリューション(VGAポートがリセットされるまでコンピューターを数回サスペンドしてウェイクアップする)よりも優れています。
グス

4

試しましたか(sth like)

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

別のtty(例:tty1)から、

でアクセスしCtrl Alt F1、(標準のグラフィカル)tty7に切り替えることができますCtrl Alt F7か?


1
これはxrandr: Configure crtc 1 failed--output HDMI1 --offを試みるときに私に与えています。--autoは、手動でオフにするまで何も言いません。その後、-autoは同じエラーをスローします
Martin Melka

より綿密に調査する必要があります。最終的にうまくいくだろうと
確信してい

2

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

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


1
私はのIdeaPadを持っていますが、のFn +キーが仕事をしないでください(ないだけでスリープです)
マーティン・メルカ

私の考えは次のとおりです。これを続けてください!現在、IBM Thinkpad X41でこのフィールドを最適化できる可能性は十分にありますが、現在十分に調査する時間はありませんが、ほとんどのFnキーシステム上で動作します(両方とも最初の浅一目でUbuntuのソフトウェアセンター(またはシナプスで):私の外部SK-8855「のThinkVantage」キーボード)上のラップトップだけでなく、少なくともこの事TP-SMAPI-DKMSは0.41から1がインストールされています。それで、あなたはそれをインストールして、それを調べて、そして/またはあなたのFnキーがついに生き返る類似の代替物を試してみたいかもしれません!
ナッツについてのナッツ


信じがたいですが、これはそれでした。スイッチの表示-Dell LatitudeのFn+ F8。ドッキングステーションから取り外した後、内蔵ディスプレイがオンにならないことがありました。(私は、ドッキングステーションで外部VGAディスプレイのみを使用します。)ディスプレイを切り替えようとするのは無意味に思えますが、内蔵ディスプレイをオンにしました。
フェルディナンドPrantl
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.