[systemd-devel] Cannot override "Conflicts" variable without editing installed service file

Nikos Chantziaras realnc at gmail.com
Tue Jun 6 03:32:09 UTC 2017


I recently switched a Gentoo system from OpenRC to systemd. I'd like to 
keep tty1 (VT1) for login, and move the display manager (SDDM) to tty7. 
SDDM is configured for that, but the installed service file 
(/usr/lib/systemd/system/sddm.service) has this:

   Conflicts=getty at tty1.service

If I edit that file directly and change it to:

   Conflicts=getty at tty7.service

it works. systemd is prevented from stopping getty on tty1. I can login 
normally on VT1.

However, this change gets lost on SDDM updates. So I'd like to override 
that. So I did:

   systemctl edit sddm.service

with this in it:

   Conflicts=getty at tty7.service

This successfully creates 
/etc/systemd/system/sddm.service.d/override.conf with the above contents.

AFAIK, this should override "Conflicts" and prevent getty at tty1.service 
from stopping. But it doesn't. When SDDM starts, tty1 is stopped. The 
only way to keep that from happening is to edit the installed 
sddm.service file directly.

Does someone know why the override doesn't work?

More information about the systemd-devel mailing list