Fórum Ubuntu Linux - PT

Suporte Técnico => Programação e Scripts => Tópico iniciado por: bugged em 17 de Setembro de 2017, 00:42

Título: Como achar o script de runlevel no ubuntu para edita - lo?
Enviado por: bugged em 17 de Setembro de 2017, 00:42
vi algumas fontes ensinado como mudar o runlevel no debian por exemplo , editando " inittab " mas nao tem no ubuntu e em outras fontes dizia q o ubuntu nao ultiliza mais o inittab
Título: Re:Como achar o script de runlevel no ubuntu para edita - lo?
Enviado por: druidaobelix em 17 de Setembro de 2017, 18:47
vi algumas fontes ensinado como mudar o runlevel no debian por exemplo , editando " inittab " mas nao tem no ubuntu e em outras fontes dizia q o ubuntu nao ultiliza mais o inittab

De fato, editar env DEFAULT_RUNLEVEL= no arquivo /etc/init/rc-sysinit.conf não funciona mais, isso valia para o upstart, não mais para o systemd

Mostrar runlevel atual ainda basta fazer no terminal:

Código: [Selecionar]
runlevel
Igualmente ainda vai funcionar se fizer:

Código: [Selecionar]
telinit N
onde N é o runlevel que se queira:

telinit 1 irá levar ao prompt que nada mais é que o prompt do Recovery Mode.

Também ainda funciona se editar:

Código: [Selecionar]
gksudo gedit /etc/default/grub
alterando a linha:

Citar
GRUB_CMDLINE_LINUX=""

colocando entre as aspas o suposto runlevel que se queira, como exemplo:

GRUB_CMDLINE_LINUX="1"

em seguida atualizando o grub fazendo:

Código: [Selecionar]
sudo update-grub
novamente irá levar ao prompt do Recovery Mode.

Porém de uma forma mais atual runlevel é exposto através de "targets units', pelo que deverá ser feito:

Código: [Selecionar]
sudo systemctl isolate runlevelN.target
one o N novamente é o runlevel desejado, como no exemplo:

sudo systemctl isolate runlevel1.target

Note, entretanto, que essa ideia de runlevel está obsoleta, não faz mais sentido no império do systemd, além do que é absolutamente inútil para qualquer finalidade realmente prática.

Num desktop comum não faz sentido levar o sistema para um runlevel 1 ou 3.
Qual a finalidade disso? Qual a razão para fazer uma coisa dessa?

Por outro lado, num servidor faz menos sentido ainda.
O modo seguro de fazer se não quer que determinado serviço seja oferecido é não habilitar o serviço, pois serviço inexistente não pode ser vazado.

Em todo caso, no systemd quando se quer atingir:

Código: [Selecionar]
sudo systemctl isolate runlevel5.target
então se faz na nova concepção:

Código: [Selecionar]
sudo systemctl isolate graphical.target
Veja uma lista fazendo:

Código: [Selecionar]
systemctl list-units --type=target