Não é necessário alterar o arquivo
/etc/inittab para testar um determinado nível de execução. Como poderemos verificar isso? É fácil, façamos uso do comando
init.
Primeiramente, vamos colocar o sistema em modo de usuário único, lembrando novamente que a distribuição utilizada é a citada no título do artigo, o que não impede, logicamente, a aplicações nas demais distribuições.
Basta verificar a função exata ao nível correspondente. Continuando, digite o comando:
# init 1
Agora repita o mesmo procedimento, só que no nível de execução 3:
# init 3
O sistema encerra todos os processos atuais em uso e acessa o nível de execução 3. Na maioria das distribuições, por padrão, o comando
init aguarda até 20 segundos antes de encerrar todos os processos e iniciá-los novamente no nível determinado.
Para que a passagem seja feita imediatamente, de um nível a outro, digite o comando novamente com uma variável, conforme o próximo exemplo:
# init -t0 3
É claro que essa variável "-t0" já é sabida da grande maioria dos usuários.
Quer ver algo realmente interessante? Não que o restante não o seja, enfim... vá a nossa tabela, a do Slackware ou do sistema correspondente, e procure pelo nível de execução responsável pelo gerenciador de sessão (modo gráfico).
Pronto? Execute o comando
init juntamente com o nível correspondente à tua pesquisa:
# init 4
Opa! É isso mesmo que todos puderam perceber, basta uma pequena alteração em nosso arquivo
/etc/inittab para que o sistema passe a iniciar em modo gráfico sem a necessidade do uso de qualquer outro comando para este fim.
É claro que muitos já sabiam disso tudo na prática, porém, poucos usuários, acreditem, saberiam explicar o por quê. Acredito que não será preciso dizer o que ocorreria se ao invés do nível de execução 4. junto ao comando
init, utilizássemos o nível 0. Faça o teste.
Conclusão
Na verdade o processo init executa diversos scripts na inicialização do sistema. Ao observarmos, por exemplo, o arquivo
/etc/inittab no Debian, veremos logo ao início do arquivo (no Slack 13.34 essa informação encontra-se exatamente nas linhas 27 e 28 do arquivo), a seguinte instrução:
#Boot-time system configuratinon/initilization script.
si::sysinit:/etc/init.d/rcS
A primeira linha é um comentário, e não será lida pelo sistema.
A segunda executa o script
/etc/init.d/rcS através do processo init. Esse tipo de script (rcS) executa inúmeras tarefas de inicialização como, por exemplo, a configuração do layout do teclado, configuração do relógio, montagem do sistema de arquivos etc.
O script rcS executa essas tarefas de inicialização chamando outros scripts e lendo arquivos de configuração localizados no diretório
/etc/rcS.d.
Parece um pouco complicado, mas nem tanto assim. O script
/etc/init.f/rc, quando acionado, executa scripts em um diretório correspondente ao nível de execução.
Por exemplo: Para o nível de execução 2, o script executa os scripts do diretório
/etc/rc2.c.
Abraços a todos. Espero que o exposto ajude a entender um pouco mais sobre os elementos que envolvem o processo de inicialização do sistema
GNU/Linux.
Referências
- LINUX - REFERÊNCIA COMPLETA (Livro 05) Introdução a administração básica de sistemas, 3ªEdição editora ALTA BOOKS - Rio de Janeiro 2010
- Techno Edition Editora Ltda; Linux LPI 101 - Fundamentos. 1ªEdição - São Paulo 2009