[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: successful upgrade to jessie - thanks!



Felipe Sateler <fsateler@debian.org> writes:
...
> This is indeed unfortunate. Because runlevel[234] are links to 
> multi-user.target it means that distinctions between those runlevels are
> not preserved. It also means that the ability to differentiate between 
> graphical.target and multi-user.target is almost lost for systems where the
> dm does not provide a native systemd unit, because the sysv generator will 
> generate links from runlevel[2345].target.wants/ to the dm.
>
> This is the case with kdm:
>
> % cd /run/systemd/generator.late 
> % ls -l runlevel[2345].target.wants/kdm.service 
> lrwxrwxrwx 1 root root 39 Nov 28 08:24 runlevel2.target.wants/kdm.service -> /run/systemd/generator.late/kdm.service
> lrwxrwxrwx 1 root root 39 Nov 28 08:24 runlevel3.target.wants/kdm.service -> /run/systemd/generator.late/kdm.service
> lrwxrwxrwx 1 root root 39 Nov 28 08:24 runlevel4.target.wants/kdm.service -> /run/systemd/generator.late/kdm.service
> lrwxrwxrwx 1 root root 39 Nov 28 08:24 runlevel5.target.wants/kdm.service -> /run/systemd/generator.late/kdm.service
>
>
> Unless a user has disabled kdm in runlevels [234], there is no way to boot
> the system without starting kdm.

Is this not really a consequence of the combination of the fact that:
Firstly, Debian Policy has left runlevels mostly alone, with the intent that
local admins can do what they like with 3 & 4, and probably 5, because
we default to 2 where we run everything that's installed, including
graphical stuff; and secondly systemd seems to be using the more
conventional assumption that runlevel 5 is the graphical one, and lower
numbers run the non-graphical stuff only.

It seems to me that we could:

  Make systemd link runlevel 2 to graphical.target, and 3,4 & 5 to
  multi-user.target, or perhaps in an attempt to be slightly less
  confusing to outsiders, how about:
     2 & 5 --> graphical
     3 & 4 --> multi-user

  Ensure that all graphical stuff (so display managers basically) get
  rid of their 234 runlevel start links, and change our default to 5
  (cannot see that going well on upgrades TBH, might have been doable if
  we'd started about 5 years ago)

  Ensure that all display managers ship native systemd units before
  release.

The last of these seems likely to at least partially address the problem
at hand, because it'll make it possible to use the multi-user.target to
avoid starting X, but does not fix the potential runlevel confusion.

Given that we do not have well defined distinctions between runlevels,
and the runlevels in systemd don't actually map directly to the old
runlevels anyway, but rather go via the multi-user and graphical
targets, should we not just remove the runlevel targets to avoid
this confusion (or do they get used elsewhere)?

I'd think that we need to tell people when upgrading that, if they've
done things that are important to them involving special meanings for
runlevels 2345, they need to work out how to port those things to
systemd, or opt to stick with sysvinit for now.

Cheers, Phil.
-- 
|)|  Philip Hands  [+44 (0)20 8530 9560]  HANDS.COM Ltd.
|-|  http://www.hands.com/    http://ftp.uk.debian.org/
|(|  Hugo-Klemm-Strasse 34,   21075 Hamburg,    GERMANY

Attachment: pgpyOIzQQxpJJ.pgp
Description: PGP signature


Reply to: