O Ubuntu 16.04 usa systemd em vez de init e, portanto, o conceito de runlevels
é substituído pelo termo targets
. Portanto, há de fato um mapeamento entre runlevels baseados em init e alvos baseados em systemd:
Mapping between runlevels and systemd targets
┌─────────┬───────────────────┐
│Runlevel │ Target │
├─────────┼───────────────────┤
│0 │ poweroff.target │
├─────────┼───────────────────┤
│1 │ rescue.target │
├─────────┼───────────────────┤
│2, 3, 4 │ multi-user.target │
├─────────┼───────────────────┤
│5 │ graphical.target │
├─────────┼───────────────────┤
│6 │ reboot.target │
└─────────┴───────────────────┘
Agora, para alterar apenas os "runlevels" em 16.04, você pode usar por exemplo:
sudo systemctl isolate multi-user.target
Para tornar este o padrão "runlevel", você pode usar:
sudo systemctl enable multi-user.target
sudo systemctl set-default multi-user.target
De man systemctl
isolate NAME
Start the unit specified on the command line and its dependencies and stop all others. If
a unit name with no extension is given, an extension of ".target" will be assumed.
This is similar to changing the runlevel in a traditional init system. The isolate command
will immediately stop processes that are not enabled in the new unit, possibly including
the graphical environment or terminal you are currently using
Veja também man systemd.special
para saber mais sobre os alvos no systemd.