Fedora 22では、次のコマンドを使用して画面の回転状態を読みました。
status=$(xrandr --verbose | grep LVDS1 | awk '{print $6}'
出力は似ていますnoraml
。inverted
他のモニター/プロジェクターと画面を共有しても機能します。 Fedora 23にアップデートした後、ノートパソコンを外部モニターまたはプロジェクターに接続するたびに、行の情報が少し変わり、xrandr
情報が提供されない$6
セクションが表示され、Get Monitorの状態を変更する必要があります。最初の文字をテストし、その場合は別の出力を使用して問題を解決しました。それは、(normal
(normal left inverted right x axis y axis)
$6
$5
(
testvalue=$(xrandr --verbose | grep LVDS1 | awk '{print $6}')
[ ${testvalue:0:1} == "(" ] && status=$(xrandr --verbose | grep LVDS1 | awk '{print $5}') || status=$(xrandr --verbose | grep LVDS1 | awk '{print $6}')
これで現在の作業が完了しました。私の質問は、この問題をより安定した方法で解決する方法です。
答え1
xrandr | awk -F'(' '/^LVDS1/{ split($2,a," "); print a[3]}'
xrandrは--verboseなしでこの行を印刷します。
フィールド区切り文字として「(」を使用
/ ^ LVDS1 /に一致する行のみを表示
""を区切り文字として使用して、2番目のフィールドを配列(aという名前)に分割します。
最後に、aの3番目の要素を印刷します。