ディスプレイを最も簡単な方法で回転させるにはどうすればよいですか?


54

私は、画面を(物理的に)回転できるピボットモニターの幸運な所有者です。モニターをオンにしたときにディスプレイをオンにする最も簡単な方法は何ですか?

今のところ、最初に「ディスプレイ」アプリを起動してから、設定を変更して確認します。しかし、これは実際には非常に面倒な手順です。1分間に数回まで向きを変えたいからです。

それで、これ、または同等の指標はありますか?専用コマンドを起動するキーボードショートカットを設定できますか?実際、私はWindowsプログラムiRotateに似たものを考えています。

回答:


94

[キーボード]-> [ショートカット]に移動し、[カスタムショートカット]を選択し、[+]を押して新しいショートカットを追加します。

「名前」は、アクションを説明する名前です(つまり、「モニターの回転」)。[コマンド]に、ショートカットがアクティブになったときに実行するカスタムコマンドを入力します。

ショートカットがリストに表示されたら、その行を選択してEnterキーを押し、ショートカットをアクティブにするキーの組み合わせを押します。競合がある場合、ショートカットマネージャーがそのことを通知します。別の組み合わせを選択できます。

回転表示を有効にするショートカットと、直立位置に戻す別のショートカットを使用できます。十分な知識があれば、状態を維持し、直立/回転を切り替えるコマンドを作成することもできます。

さて、使用する必要があるコマンドについては、おそらくxrandrです。

xrandr --output HDMI1 --rotate left

xrandr --output HDMI1 --rotate normal

出力パラメーターは、モニターが接続されているポートによって異なります。現在持っているものを確認するには、次を入力します。

xrandr -q

私の言う:

Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
   1366x768       60.0*+
   1360x768       59.8     60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA2 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)

この場合、他のすべてが切断されているため、--outputはLVDS1になります。


2
これは素晴らしいです。
Agmenor

私はLinuxを初めて使用し、これをセットアップしようとしましたが、コマンドを使用しても何も起こりません。カスタムキーボードショートカットが機能するように構成する必要があるものは他にありますか?ビルトインコマンドは機能しますが、私が作成したカスタムコマンドは機能しません。Ubuntu 14.04を使用しています。指示に従い、コマンドラインに次のように書きました。xrandr --output HDMI1 --rotate leftショートカットとしてctrl + leftを使用しました。ターミナルでそのコマンドを使用すると、すべてがうまく機能します。キーボードショートカットではありません。
ネルソン14

@nelsondはHDMI1を使用していることを確認しましたxrandr -qか?
オタク長老

11
ちょっと、それxrandr -o rightも機能し、現在のターゲットを指定する必要はありません
whitenoisedb

私が得たoutput LVDS1 not found;output HTMI1 not found;私は単に使用@ whitenoisedbさんのコメントのおかげでxrandr -o normal指定しなくても、--output正常な方向の画面のバックを置くために、引数を。
ポールルージュ

16

に最適

xrandr --output LVDS1 --rotate left
xrandr --output LVDS1 --rotate right
xrandr --output LVDS1 --rotate inverted
xrandr --output LVDS1 --rotate normal

オンとオフ私の画面に変わりない代替(私はfglrxがを使用しています)がある
Suiciドーガ

完璧なソリューション
-Waseem

5

センサー入力に基づいてそれを行う方法の良い例を次に示します:https : //linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu

したがって、基本的に上記を試して、回転させたい画面を特定してください。モデルモニターによっては、信号を送信するセンサーがありますか?

これは、内蔵の回転センサーを搭載した私のLenovo Yoga 2 11でうまく機能し、ユニティドックも移動します。

スクリプト:

#!/bin/sh
# Auto rotate screen based on device orientation

# Receives input from monitor-sensor (part of iio-sensor-proxy package)
# Screen orientation and launcher location is set based upon accelerometer position
# Launcher will be on the left in a landscape orientation and on the bottom in a portrait orientation
# This script should be added to startup applications for the user

# Clear sensor.log so it doesn't get too long over time
> sensor.log

# Launch monitor-sensor and store the output in a variable that can be parsed by the rest of the script
monitor-sensor >> sensor.log 2>&1 &

# Parse output or monitor sensor to get the new orientation whenever the log file is updated
# Possibles are: normal, bottom-up, right-up, left-up
# Light data will be ignored
while inotifywait -e modify sensor.log; do
# Read the last line that was added to the file and get the orientation
ORIENTATION=$(tail -n 1 sensor.log | grep 'orientation' | grep -oE '[^ ]+$')

# Set the actions to be taken for each possible orientation
case "$ORIENTATION" in
normal)
xrandr --output eDP1 --rotate normal && gsettings set com.canonical.Unity.Launcher launcher-position Left ;;
bottom-up)
xrandr --output eDP1 --rotate inverted && gsettings set com.canonical.Unity.Launcher launcher-position Left ;;
right-up)
xrandr --output eDP1 --rotate right && gsettings set com.canonical.Unity.Launcher launcher-position Bottom ;;
left-up)
xrandr --output eDP1 --rotate left && gsettings set com.canonical.Unity.Launcher launcher-position Bottom ;;
esac
done

センサーの前提条件:

sudo apt install iio-sensor-proxy inotify-tools

monitor-sensor出力を行いません。設定できるかどうか知っていますか?私は馬力とlsmod | grep accショーを持っているhp_accel 28672 0 lis3lv02d 20480 1 hp_accel
ミナマイケル

@MinaMichaelカーネルバグが発生している可能性があります。ここを
-JrBenito

これはカーネル4.8で動作しますが、実際に使用しているスクリプトは決してバージョンで動作しなくなったため、それ以降のバージョンではバグになる可能性があります。可能であればバグレポートに貢献してください。または、該当する場合は新しいバグを提出してください。
ビンセントジェリス

1

これを行うためのシェルスクリプトを作成しました。(xrandr grep awkが必要です)

#!/bin/sh
# invert_screen copyright 20170516 alexx MIT Licence ver 1.0
orientation=$(xrandr -q|grep -v dis|grep connected|awk '{print $4}')
display=$(xrandr -q|grep -v dis|grep connected|awk '{print $1}')
if [ "$orientation" == "inverted" ]; then
   xrandr --output $display --rotate normal
else
   xrandr --output $display --rotate inverted
fi

ワンライナーが好きな場合:

[ "$(xrandr -q|grep -v dis|grep con|awk '{print $4}')" == 'inverted' ] && xrandr -o normal || xrandr -o inverted

1
私にとってはの$5代わりです$4
ニコライ

1
xrandr --version 1.5.0を使用[ "$(xrandr -q|grep -v dis|grep con|awk '{print $5}')" != 'inverted' ] && xrandr -o inverted || xrandr -o normalすると、デフォルトで「通常」に設定されているため、$ 5は安全です(テキスト出力を使用する危険性)
Alexx Roche
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.