The behaviour of systemctl.
Aaron Sowry
aaron+rh at aeneby.se
Sat Jun 18 14:39:05 UTC 2011
On Sat, Jun 18, 2011 at 01:55:43PM +0200, Lennart Poettering wrote:
> > - 'systemctl --all' pages by default when the output is to tty. This
> > consumes 50-60+ lines of potentially bug-prone code, and irks the
> > crap out of me as a system administrator. systemctl's jurisdiction
> > ends at stdout.
>
> Well, I think in genreal the autopaging behaviour of git and other tools
> is very much appreciated. If you hate that behaviour then you are
> probably in the minority, and we have to agree to disagree on the
> benefits of this behaviour. Setting "alias systemctl='systemctl
> --no-pager'" is not particularly hard though.
Setting aliases does not remove cruft code, or documentation for flags which
don't need to exist. Flags should be used to enable functionality, not disable
bloat.
> > - The same command outputs column headers on tty, and no headers
> > otherwise. This is inconsistent. If I am outputting to a file, or
> > perhaps a printer, and want headers on my non-tty output, I have to
> > add them myself since there is no flag to force them on non-tty
> > channels. If I don't want them and they are present, I tail.
>
> I am pretty sure that if you ask us nicely, we'll add an option to
> enable headers nonetheless. It's however usually simpler if you pipe
> something not to have to use tail/head.
Yet another flag to work around inconsistent behaviour is the last thing
systemctl needs. Simplicity is not the issue here - you are assuming that output
piped to something other than a tty is not destined for human eyes. I shouldn't
have to convince you that this is nonsense, and will only get worse if --full is
applied automatically to all non-tty output. Shall we add a --no-full flag to
work around this, too?
> > - Currently, if I run 'systemctl --all' and have no pager (at least no
> > pager that systemctl knows of) available, I get an error message and
> > no output. This is horribly bad form, and forces me to use
> > --no-pager or pipe to cat in order to get output. This issue is
> > acknowledged in RH bug 713707.
>
> We generally do not support if people delete arbitrary things from their
> installation. /bin/more is part of util-linux, and if you delete that
> then you broke your system, so don't complain to us please.
It is difficult to concieve where systemd might end up in future. Is util-linux
a systemd dependency?
> I am not saying we shouldn't make it possible to run without any pager
> installed. But does this matter? No, not at all. It doesn't have
> priority in any way.
It may not be a priority, but nor should it even be an issue.
> > - Another bright idea (RH bug 713567) is that --full should be applied
> > to non-tty output automatically, and not to tty output.
>
> Yes, it actually makes sense and has been requested which is why we
> implemented it.
This is being implemented now?
> > All of these peculiarities stem from poor UNIX programming
> > practise.
>
> I think all of these "peculiarities" stem from actually accepting
> progress.
Subjective opinion.
> > No other Linux/UNIX tools make this assumption (with
> > perhaps the exception of git-log et. al.), and if you are wanting
> > administrators to feel comfortable with your new soon-to-be-ubiquitous
> > tools, then I suggest you try to be consistent with existing
> > convention.
>
> I think you are mixing up "administrators" with "Aaron Sowry".
Not really. All other administrators use exactly the same tools I do, very few
of which behave like systemctl. Having to deal with command-specific behaviour
only makes it more difficult to learn a new tool.
/Aaron
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: Digital signature
Url : http://lists.fedoraproject.org/pipermail/devel/attachments/20110618/996a7c63/attachment.bin
More information about the devel
mailing list