Parece que is-failed
é o subcomando errado ... quem teria imaginado.
aqui está alguma hacker de perl para obter a resposta certa:
$ systemctl list-units | perl -lanE'print if $F[2] !~ /active/'
UNIT LOAD ACTIVE SUB DESCRIPTION
● vboxautostart-service.service loaded failed failed vboxautostart-service.service
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
207 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
E systemctl
também é bom para desordenar o stderr com saída informativa de uma maneira que nós só obtemos a saída que queremos.