exec - это оболочка, встроенная в справочную страницу bash
(будьте терпеливы, она далеко)
exec [-cl] [-a name] [command [arguments]]
If command is specified, it replaces the shell. No new process is created.
рассмотрите 2 сценария
exec ls
pwd
и
ls
pwd
, если вы выполните первую оболочку, exec ls
команда заменит оболочку (отбрасывая оставшийся ввод), команда pwd
никогда не будет выполнена.
Вы находитесь на уровне выполнения 5 или, если быть точным, в graphical.target. Вы выполняете уровень запуска 3 или systemctl изолируете multiuser.target.
Если вы наберете startx, вы все еще находитесь на уровне запуска 3 или multiuser.target, даже если X запущен, поэтому systemctl isolate или уровень запуска 3 не будут работать.
Из документации вы можете использовать set-default
вместо изолировать
:
$ sudo systemctl set-default multi-user.target
Затем перезагрузитесь.