Score:0

xrandr external monitor not being set as primary after screen unlock

ua flag

Edit2: the solution is so much simpler with autorandr which is explained here: https://askubuntu.com/a/1130337/8 no more messing with scripts which never seem to run -- I still have no idea what I was doing wrong with the xrandr commands, but it doesn't matter anymore.


Edit: I still have some problem with triggering the xrandr command correctly at each login, because something I'm not understanding about having it in ~/.xprofile isn't working exactly as expected:

/bin/bash -c "sleep 15 && xrandr --output eDP-1 --below DP-1 --output DP-1 --primary --above eDP-1"

Original question (now partially resolved):
Running 18.04 and xrandr setting of primary monitor works at startup, but not after screen unlock. After screen unlock the primary monitor switches to the built-in laptop display. Strangely, this wasn't an issue with a different monitor connected in the very same way: USB-C to DisplayPort.

Below are the contents of the script run at startup:

#!/bin/sh
xrandr --output HDMI-1 --off --output DP-1 --primary --mode 3440x1440 --pos 0x0 --rotate normal 
xrandr --output eDP-1 --mode 1920x1080 --pos 744x1440 --rotate normal --output HDMI-2 --off

Output of xrandr --query in case that's helpful:

Screen 0: minimum 320 x 200, current 3440 x 2520, maximum 16384 x 16384
eDP-1 connected 1920x1080+616+1440 (normal left inverted right x axis y axis) 344mm x 194mm
   1920x1080     59.98*+  59.97    59.96    59.93  
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   1400x1050     59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     60.02  
   1440x900      59.89  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1360x768      59.80    59.96  
   1280x800      59.99    59.97    59.81    59.91  
   1152x864      60.00  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   800x512       60.17  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   720x450       59.89  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   680x384       59.80    59.96  
   640x400       59.88    59.98  
   576x432       60.06  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
DP-1 connected primary 3440x1440+0+0 (normal left inverted right x axis y axis) 797mm x 333mm
   3440x1440     59.97*+  74.98  
   2560x1440     59.95  
   2560x1080     60.00    59.94  
   1920x1080     60.00    50.00    59.94  
   1680x1050     59.95  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1440x900      59.89  
   1280x800      59.81  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08  
HDMI-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
WinEunuuchs2Unix avatar
in flag
You should post an answer and accept it. Otherwise your question will remain unanswered for a billion years in Stack Exchange.
ua flag
Lol! I need to edit it because I'm still having an issue with getting the `xrandr` command to run correctly at each login. Startup is ok, though. Thanks for your response.
WinEunuuchs2Unix avatar
in flag
Don't forget to accept your answer after a day by clicking the check mark next to the answer. If it helps you a few times a year I have to run my own reset: [Can I automatically generate a command-line for xrandr based on the current set-up?](https://askubuntu.com/questions/1173392/can-i-automatically-generate-a-command-line-for-xrandr-based-on-the-current-set/1173410#1173410). It solves a couple of other problems others have mentioned. Just search on `xreset` and they will hopefully all show up.
ua flag
I appreciate the add'l info and reminder to accept. If I get some time, I will see if I can drop some hints at those answers.
Score:2
ua flag

Just to get this out of the "unanswered" category: the solution which worked so well for me is incredibly simple compared to all of the things I tried. It is explained well here: https://askubuntu.com/a/1130337/8 and it really only involves a few steps:

  1. sudo apt install autorandr, and
  2. arrange according to your preference using xrandr or even with the GUI-based arandr tool seems to work as well,
  3. save that arrangement using something like: autorandr --save work

And, obviously now in hindsight after I had to boot to the command-line to revert some of my other attempts at addressing this: make sure this is the only command that's being executed with respect to monitor orientation preferably before shutting down, lol.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.