I have a 2019 Dell XPS 13 2-in-1 7390 connected to Dell D6000 docking station and using Dell SE2719HR secondary monitor. The dock uses DisplayLink technology, for all it matters. My Ubuntu version is 20.04.

When I enable Night Light, it is only displayed on the laptop's built-in monitor. Even when I close the lid (which turns off the built-in monitor), Night Light still isn't displayed in the external monitor.

I've tried mirroring displays, extending displays, setting external display as only one active, nothing helped. I went through this topic here and all suggested solutions, none helped either.

Is this a bug of some sort, or am I doing something wrong?

  • These bug reports was closed, but some users reported that the bug is still there. gitlab.gnome.org/GNOME/gnome-settings-daemon/-/issues/6 , gitlab.gnome.org/GNOME/gnome-settings-daemon/-/issues/23. So it looks like the problem was not completely fixed upstream. – Archisman Panigrahi Sep 13 '20 at 14:09
  • Did you find a suitable solution ? I can't even change the brightness – BastienSander May 5 at 17:27
  • @BastienSander I'm afraid there is no solution. DisplayLink is buggy and works terribly on Linux. Sadly, it is realistic to expect that things will only get worse with new Ubuntu releases. On the positive side, I've discovered that once in 5-10 times I plug in my laptop (and also power off/on dock), DisplayLink will get even buggier and paradoxically detect my monitor as DP3, which in turn enables all brightness controls. Wicked! – Томица Кораћ May 6 at 19:00
  • It's a shame for a Monitor Dock to not work on a developer system :( – BastienSander May 7 at 8:54
  • 1
    @ТомицаКораћ thanks for answer ;) – BastienSander May 7 at 8:55

You can use Brightness Controller, a GUI frontend of xrandr, which supports multiple monitors. Brightness Controller

sudo add-apt-repository ppa:apandada1/brightness-controller
sudo apt update
sudo apt install brightness-controller

Now you can select your primary and secondary monitor, and change their RGB color temperatures using the sliders. There is an option to save your current settings, which will be automatically loaded the next time you open the software. You can add the software to Startup Applications.

You might have to disable "Night Light" to use Brightness Controller, but it works as a substitute for Night Light. For more details see https://www.omgubuntu.co.uk/2017/05/adjust-external-monitor-brightness-ubuntu

  • @Томица Кораћ does this work for you? – Archisman Panigrahi Sep 13 '20 at 4:09
  • Archisman thanks for the answer. While your answer does seem to work, it does not resolve my issue: How can I make Gnome Night Light work on my external monitor? I do not want to use a third party solution, the OS Night Light should work out of the box. – Томица Кораћ Sep 13 '20 at 13:20
  • @ТомицаКораћ True, this is just a workaround. Unfortunately I don't know how to make Gnome Night Light work out of the box. Comments in some bug reports say that it was not properly fixed upstream gitlab.gnome.org/GNOME/gnome-settings-daemon/-/issues/23, gitlab.gnome.org/GNOME/gnome-settings-daemon/-/issues/6 – Archisman Panigrahi Sep 13 '20 at 14:13
  • Archisman I'm afraid this isn't the answer I'm looking for: a) brightness-control is not related to Gnome Night Light; b) I tried Brightness control and it actually doesn't work - only changes colour on built in monitor, not external monitor; c) It crashes 90% of the times I try to change any setting; d) I also found bug reports you sent, but they are not directly describing my problem, their use cases are different. – Томица Кораћ Sep 15 '20 at 6:46
  • @ТомицаКораћ I can't say about Gnome Night Light. If Brightness Controller does not work for you, you can open a bug report for Brightness Controller at github.com/lordamit/brightness/issues. It is supposed to control colors for external as well as internal monitors. – Archisman Panigrahi Sep 15 '20 at 7:10

there is a command line software called xrandr, it should be installed already but if not sudo apt install xrandr

If you run it, xrandr will produce all of your monitors and their resolutions they can be accepted.

For example for me:

Screen 0: minimum 8 x 8, current 2560 x 1080, maximum 32767 x 32767
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 2560x1080+0+0 (normal left inverted right x axis y     axis) 677mm x 290mm
   2560x1080     60.00*+
   1920x1080     60.00    59.94    50.00    29.97  
   1680x1050     59.95  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1280x720      60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    59.94    59.93  
eDP-1-1 connected (normal left inverted right x axis y axis)
   1920x1080    120.04 +  48.01

I understand that I have two monitors, HDMI-0(my external monitor) and eDP-1-1(my built-in monitor), now stop here :) if you don't have two monitors here, I mean if you missed one of your monitors, install Nvidia driver first, then check if you have xorg.conf on your system, if you don't have this file, make a .sh file and put these in it:

sudo rm -f /etc/X11/xorg.conf
sudo rm -f xorg.conf*
sudo service lightdm stop
sudo service gdm stop
sudo service kdm stop
sudo service lxdm stop
sudo service xdm stop
sudo service wdm stop
sudo Xorg -configure
[ -f xorg.conf* ] && sudo mv xorg.conf* /etc/X11/xorg.conf
sudo dpkg-reconfigure $(dpkg -l | awk '{print $2}' | grep "^xserver" | tr '\n' ' ')
sudo update-initramfs -u

make it executable(sudo chmod 755 ./thisfile.sh) and then run it(./thisfile.sh)

It will create the xorg.conf file (and actually reset it for you). Maybe a restart needs to be apply after running this script to ensure all the things are ok.

Now if all the things be ok, if you now run xrandr again, you have to get your two monitors in the list.

I use the below code to turn my built-in monitor off(the eDP-1-1, you have to change this to yours), and turn my HDMI monitor on with dpi of 120 and best resolution of it(HDMI-0, you have to change this device name to your external monitor name listed in xrandr output)

I also suggest you to learn more about xrandr, it's really one of the best tools in Linux I saw :) it can change your resolution, brightnes of monitor, dpi, panning, scaling and many other things.

xrandr --output eDP-1-1 --off --output HDMI-0 --auto --panning 0x0 --primary --dpi 120

I hope this solves your problem.

  • Saeid thanks for the thorough answer. I see you're mentioning Nvidia drivers. Before I try your approach, I should mention that I do not have an Nvidia video card, but Intel instead. Does this make any difference? – Томица Кораћ Jun 28 '20 at 10:03
  • now no need to install nvidia driver, just continue, and btw, if you had two monitors in xrandr output, just go for the last command I put xrandr --output .... and deal with it for your best result. – Saeid Jun 28 '20 at 10:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.