Last active
November 7, 2020 13:29
-
-
Save RyanMillerC/c48d9f63f8fe386b22a7da18cf6913d2 to your computer and use it in GitHub Desktop.
Set correct primary monitor for login screen when lightdm greeter starts up on Elementary OS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Created: 2017-07-02 16:20 | |
# Updated: 2018-02-09 12:23 | |
# Creator: Ryan Miller | |
# Website: http://devopsmachine.com/ | |
# File: /usr/local/bin/set-primary-monitor-pantheon-greeter | |
# | |
# Set correct primary monitor for login screen when lightdm greeter starts up on Elementary OS. | |
# | |
# Make sure to add the following line into /usr/share/lightdm/lightdm.conf.d/40-pantheon-greeter.conf (without the #) | |
# greeter-setup-script=/usr/local/bin/set-primary-monitor-pantheon-greeter | |
# | |
# Change this variable to your primary display (Run 'xrandr -q' to see available displays) | |
PRIMARY_DISPLAY='HDMI-0' | |
# Get list of connected monitors | |
x_out=$(xrandr -q | grep -e '\( \)connected' | awk -F' ' '{ print $1 }') | |
# Safety - Check if PRIMARY_DISPLAY is connected; if not, bail out of script | |
[[ $(grep ${PRIMARY_DISPLAY} <<< ${x_out}) ]] || exit 0 | |
# Iterate over x_out and disable all monitors except for PRIMARY_DISPLAY | |
for monitor in ${x_out[@]} ; do | |
if [[ ${monitor} = ${PRIMARY_DISPLAY} ]] ; then | |
xrandr --output ${monitor} --primary | |
else | |
xrandr --output ${monitor} --off | |
fi | |
done |
Yes, it works like all other similar 'solutions' - until the next shutdown, or plug-in/plug-out the external monitor..
I was able to get it to work on Juno by also copying the monitors.xml file:
sudo cp /home/<_user_>/.config/monitors.xml /var/lib/lightdm/.config/
Reboot and it worked like a charm.
if the screen turn to black. Just make sure the computer boot failed several time you will get into Grub2 and enter to recovery mode after that remove 2 file above /usr/local/bin/set-primary-monitor-pantheon-greeter
and /usr/share/lightdm/lightdm.conf.d/40-pantheon-greeter.conf
now black screen gone. Also all solution doesn't work for me.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I was able to get it to work on Juno by also copying the monitors.xml file:
sudo cp /home/<_user_>/.config/monitors.xml /var/lib/lightdm/.config/
Reboot and it worked like a charm.