Yes, here’s the reason.
With systemd 258~rc1-1, support for user command for runlevel and runlevel targets (init 0 to init 6) has been removed.
The change is not user-friendly from systemd and is also irrelevant in terms of the code saved.
I now use a script called “onoff” in the /usr/sbin directory to replace the long systemd command.
#!/usr/bin/bash
#
# Name: /usr/sbin/onoff
#
# This script makes the functionality removed by systemd 258~rc1-1,
# init 0 to init 6, available again to the user in a running system.
case "${1}" in
0)
systemctl poweroff
;;
1)
systemctl isolate emergency.target
;;
2)
systemctl isolate rescue.target
;;
3|4)
systemctl isolate multi-user.target
;;
5)
systemctl isolate graphical.target
;;
6)
systemctl reboot
;;
*)
echo "Error: >${1}< is not a valid option" && exit 1
;;
esac
exit 0
After that, you can use the command
onoff 6 to reboot, or onoff [2-5] to switch to another target, or onoff 0 to shutdown.