Como mudar o padrão de inicialização (runlevel) em sistemas com systemd

Alguns sistemas Linux, principalmente os que são feitos com base no Debian, usam o processo de inicialização systemd. Estes sistemas utilizam targets ao invés de run-levels. Com isso o arquivo /etc/inittab não é mais utilizado. Quando precisa montar um sistema como servidor e não quer uma inicialização do ambiente gráfico, o ideal é que o mesmo inicialize com o modo texto.

Modificações no systemd podem ser feitas utilizando o comando systemctl ou fazendo link simbólicos para o nível apropriado. Seguem métodos de mudança:

Método 1

Para verificar o nível de execução do sistema atual, digite o seguinte comando:

sudo systemctl get-default

a saída será:

graphical.target

Podemos observar que a inicialização padrão está para modo gráfico. Antes de mudar, é bom verificar quais os tipos disponíveis no sistema. O mesmo pode ser feito com o comando:

sudo systemctl list-units --type=target

A saída será:

UNIT                   LOAD   ACTIVE SUB    DESCRIPTION
basic.target           loaded active active Basic System
cryptsetup.target      loaded active active Encrypted Volumes
getty.target           loaded active active Login Prompts
graphical.target       loaded active active Graphical Interface
local-fs-pre.target    loaded active active Local File Systems (Pre)
local-fs.target        loaded active active Local File Systems
multi-user.target      loaded active active Multi-User System
network-online.target  loaded active active Network is Online
network.target         loaded active active Network
nss-user-lookup.target loaded active active User and Group Name Lookups
paths.target           loaded active active Paths
remote-fs.target       loaded active active Remote File Systems
slices.target          loaded active active Slices
sockets.target         loaded active active Sockets
sound.target           loaded active active Sound Card
swap.target            loaded active active Swap
sysinit.target         loaded active active System Initialization
time-sync.target       loaded active active System Time Synchronized
timers.target          loaded active active Timers

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.

Para mudar a inicialização para o antigo modo 3 (terminal), utilizaremos o padrão multi usuário. Para isso execute o seguinte comando:

sudo systemctl set-default multi-user.target

Confirme executando o comando passado inicialmente neste post e a saída será:

multi-user.target

Para que as alterações tenham efeito, reinicie o sistema, ou pelo comando reboot ou shutdown.

Método 2

Outra forma é pelos links simbólicos. Os arquivos estão ligados dentro da pasta /lib/systemd/system , desta forma alterando o link nesta pasta estaremos alterando a inicialização do sistema. Observe o exemplo a seguir, supondo que a inicialização padrão está em modo gráfico e gostaríamos de inicializar e modo texto e com suporte a multi usuário:

sudo ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target

ou

sudo ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

Verifique se está tudo certo com o comando sudo systemctl get-default deverá aparecer como padrão multi usuário. Confirme reiniciando o sistema.

Leave a Reply

Your email address will not be published. Required fields are marked *