Bug 990177 - systemctl uses ambiguous terms to disable and to enable services
Summary: systemctl uses ambiguous terms to disable and to enable services
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: systemd
Version: 19
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: systemd-maint
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-07-30 14:04 UTC by hw
Modified: 2013-09-16 07:17 UTC (History)
9 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2013-09-15 02:05:59 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description hw 2013-07-30 14:04:45 UTC
Description of problem:

Running "systemctl disable <some.service>" does not disable the service but puts it into a state of being enabled and started on demand.  The service will only be disabled when "mask" is used instead of "disable".

Users expect to mean "disable" that something is actually switched off and will not run.

When you look at [1], [2] and [3] and other messages in the thread, you'll find some agreement about what "disabled" means.


Suggestion:

Use less ambiguous terms instead, like:


boot | always
needed | ondemand
never | disable[d]


To allow for a transition to these terms, the ones currently in use would have to be left unchanged for some time.


[1] https://lists.fedoraproject.org/pipermail/users/2013-July/438874.html
[2] https://lists.fedoraproject.org/pipermail/users/2013-July/438903.html
[3] https://lists.fedoraproject.org/pipermail/users/2013-July/439021.html

Comment 1 Lennart Poettering 2013-09-12 19:44:24 UTC
Hmm? If you are talking of a socket actviated service, then you need to disable the socket too... 

What else do you mean by "started on demand"?

Comment 2 Zbigniew Jędrzejewski-Szmek 2013-09-15 02:05:59 UTC
Current terminology is here to stay, for better or worse. Meaning of some of the terms is tricky, but at least it's well documented.

Comment 3 hw 2013-09-16 06:59:38 UTC
(In reply to Lennart Poettering from comment #1)
> Hmm? If you are talking of a socket actviated service, then you need to
> disable the socket too... 
> 
> What else do you mean by "started on demand"?

Services that are "disabled" can still be started, which means that they are not disabled.


BTW, even if well documented, the terminology used is utterly misleading, and it will lead to unwanted results since people are not computers.  You could as well argue that blue is green because you have documented it so well --- people are just going to have to imagine the picture in different colours ...

Comment 4 hw 2013-09-16 07:03:55 UTC
PS: Do it for traffic lights and document that red is green.  Then see what happens.

Comment 5 hw 2013-09-16 07:17:43 UTC
PPS: At least a warning could be printed when someone uses "disable", like: "The service can still be started; please use 'mask' to disable it."


Note You need to log in before you can comment on or make changes to this bug.