I am starting to work with 2 displays on Ubuntu. One of them is rotateable, so I can use it easily in both landscape and portrait mode. But I world prefer to have ability to change orientation setting (which could be found in System Settings->Desktop) from terminal or script on one display but don't rotate other one.
I am pretty sure it is possible via xrandr!
2 Answers
Strange, but I found answer first!
You use
$ xrandr --output $monitorName --rotate $direction where $monitorName can be found in output of
$ xrandr and $direction is left for counter-clockwise or right for clockwise.
Edit: Using grep, it is possible to write a script like this:
#!/bin/bash screen="HDMI1" descr=$(xrandr | grep "$screen") if echo "$descr" | grep disconnected then echo "No $screen connected" exit 1 fi alt="left" if echo "$descr" | grep --quiet -P "^[^(]*$alt" then rotate="normal" else rotate="$alt" fi xrandr --output $screen --rotate $rotate which actually switches orientation of monitor storaged in $screen variable, and $alt is the alternative orientation.
You'll need to use xrandr for that.
xrandr -o $orientation Where $orientation is left, right, inverted, or normal.
You can select the display you want to rotate with the --display option.