I am using LINUX 5.15.0-105 on Ubuntu 22.04.4 LTS, still with XOrg window manager (not Wayland).
Not always, but mostly, my second screen is not waking up when I push the ON/OFF button after I have put the computer into suspension state. What I have to do then is
- Call "Setting" in top right taskbar menu
- Select the "Displays" tab
- Click onto "Join Displays"
- Click onto "Apply"
- Wait some seconds until the screen gets activated
- Click onto "Keep Changes" in the dialog appearing in the middle of the activated screen
This is quite a procedure. It has been like that for years, and I assumed that someday it will be fixed by an OS-upgrade. But it has not, so now I searched for a quicker solution.
You can use xrandr for manipulating screens in LINUX. When I call this without arguments, I get an output similar to this:
$ xrandr Screen 0: minimum 320 x 200, current 3046 x 1050, maximum 16384 x 16384 eDP-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm 1366x768 60.00*+ 48.01 1280x720 60.00 .... // lots of other lines 320x180 60.00 HDMI-1 connected 1680x1050+1366+0 (normal left inverted right x axis y axis) 474mm x 297mm 1680x1050 59.95*+ 1920x1080 60.00 59.94 .... // lots of other lines 720x400 70.08
That means, my primary screen is "eDP-1", and the second one is "HDMI-1".
In my environment, HDMI-1 is the one that does not wake up in time.
After reading the manual of
xrandr, I tried out the following command:
$ xrandr --output HDMI-1 --auto --right-of eDP-1
The "--output HDMI-1
" argument targets the second screen for activation.
The "--right-of eDP-1
" argument places that screen to the right of my primary screen
(you can use also "--left-of
").
And "--auto
": for connected but disabled outputs,
this will enable them using their first preferred DPI setting;
for disconnected but enabled outputs, this will disable them.
(I am not sure whether --auto
actually is necessary...)
This command did not output anything, but it
- turned on my second screen and
- moved all application-windows that had been relocated to the primary screen to their former positions.
I have put this command into a newly created "Activate HDMI-1 Screen.desktop
" file in
directory $HOME/Desktop
and took it into a text editor:
[Desktop Entry] Version=1.0 Name=Activate HDMI-1 Screen Exec=xrandr --output HDMI-1 --auto --right-of eDP-1 Icon=/usr/share/icons/gnome/16x16/devices/video-display.png Terminal=true Type=Application Categories=Utility;Application; Comment[en_US]=Activates the HDMI-1 screen
When the icon appeared on desktop, I had to click "Allow Launching" in the right-mouse context menu of the desktop icon.
After that, a double click onto the icon activated my second screen.
To test it, I could turn off the secondary screen HDMI-1 by entering this:
$ xrandr --output HDMI-1 --off
Just one problem remained: when the second screen is OFF, tons of application windows block access to the desktop icon on primary screen. Until now I could not find a way to add my new desktop-icon to the gnome launch bar on the left.
I found no accurate help on this topic on the web, so I hope this article will be helpful for others.