各モニターにモニター番号を表示

各モニターにモニター番号を表示

Windowsには、ディスプレイプロパティで「モニターの識別」というボタンをクリックするオプションがあり、各モニターに数秒間数字が表示されるため、どのモニターがどのようなものかを知ることができます。 Linuxにも似ていますか?

私はArchを実行しており、6つの同じLCDパネルと3つのデュアルヘッドNVidiaカードを持っています。それでは、なぜ私が尋ねたのかを推測することができます:P

ベストアンサー1

参考にしてください(指示どおりヴィラントH.、この回答はビデオドライバが正しく機能していると仮定します。 Nvidiaの独自ドライバー(以前はデュアルヘッド操作に必要でしたが、Nouveauがまだこの機能を実行しているかどうかわかりませんでした)は標準のRandR拡張機能を使用していないため、ほとんどの回答は役に立ちませんnvidia

kcontrolKDEでは、コントロールセンター(、、KDE ​​3)またはシステム設定(、、KDE ​​4)のディスプレイパネルの「マルチモニタ」タブにsystemsettingsこの機能があります(「すべてのモニタを識別する」をクリック)。この機能を使用するためにKDEをデスクトップ環境として実行する必要はなく、正しいコンポーネントをインストールするだけです。

手動で実行する場合は、次のコードスニペットランダル。特に、モニターのDVI-0 connected 1600x1200+3200+0 …位置(左から3200ピクセル、上から0ピクセル)、サイズ(幅1600、高さ1200)、名前()を提供するなどの行を探します。DVI-0この情報を含むポップアップウィンドウを表示するために使用されますkdialogkdialogスクリプトは、いずれかのインスタンスが返されると、すべてのインスタンスを終了します。これはポップアップをクリックしたときに発生します。

ポップアップの位置を指定できる限り、他の同様のプログラムkdialogも可能です(悪名高いzenity)。シェルはksh(pdkshまたはATT kshのいずれか)でなければなりません。他のシェル(少なくともbashとzsh)は複数の操作があると正しく機能しないためです(具体的には、その組み込みwait機能はSIGCHLDによって中断されません)。

LC_ALL=C xrandr |
sed -ne 's/^\([^ ][^ ]*\)  *connected  *\([0-9][0-9]*\)x\([0-9][0-9]*\)+\([0-9][0-9]*\)+\([0-9][0-9]*\) .*$/\1 \2 \3 \4 \5/p' |
ksh -c '
  i=1
  trap "trap - CHLD" CHLD
  trap : INT
  while read -r name w h x y; do
    kdialog --geometry +$(($x+2*$w/5))+$(($y+2*$h/5)) \
            --passivepopup "$i $name ${w}x${h} +$x+$y" &
    i=$(($i+1))
  done
  sleep 10 &  # Time out after 10 seconds
  wait  # Wait until any of the kdialog instances or sleep returns
  while [ $i -ne 0 ]; do
    kill %$i 2>/dev/null
    i=$(($i-1))
  done
  [ $first -eq 0 ] || echo You clicked on monitor $first
'

おすすめ記事