39

If I have only the internal monitor (LVDS1) with an xrandr -o left command. Now I want to attach a second monitor, say to HDMI1. Then I'd like to rotate only the internal monitor, but not the external one. I tried the following (with no external attached though, since I am mobile currently), but that does not do anything:

xrandr --output LVDS1 -o left

How can I rotate only one monitor?

I do need some command line, since I want to put this into a script.

2 Answers2

69

The trick is to use the newer --rotate instead of -o which needs to be used with a --output argument:

xrandr --output "$internal" --rotate "$xrandr_rotation"

Examples

xrandr --output LVDS1 --rotate left
xrandr --output LVDS1 --rotate right
xrandr --output LVDS1 --rotate normal
xrandr --output LVDS1 --rotate inverted
  • 1
    and you can string these together for -- like so: xrandr --output VGA1 --auto --output HDMI2 --auto --right-of VGA1 or for |- like so: xrandr --output VGA1 --auto --pos 0x0 --rotate left --output HDMI2 --auto --pos 1200x300 – Stefan Schmiedl May 20 '14 at 07:47
  • 2
    You can use xrandr --query to find the name of the display adapter output that your monitor is plugged into (the above example, the monitor is plugged into LVDS1). – mathandy Jun 07 '17 at 02:08
  • You are a savior! Whey the manpage still says -o is beyond me! Here we are, seven years later ... – MadPhysicist Apr 25 '19 at 20:12
  • when i do this command, which works it leaves a large black bar running across my background image, as if the background image is no longer properly aligned with the screen. Any suggestions? – user1630268 Sep 09 '22 at 02:05
2

If you open the System Settings and choose Displays there, you can select the monitor to rotate, and choose which rotation to use, for each individual monitor you wish to rotate.

dobey
  • 40,982