Estou usando o Red Hat Linux de 32 bits na minha VM. Quero inicializá-lo no modo de linha de comando, não no modo GUI. Eu sei que a partir daí eu posso mudar para o modo GUI usando o startx
comando Como faço para voltar ao modo de linha de comando?
Estou usando o Red Hat Linux de 32 bits na minha VM. Quero inicializá-lo no modo de linha de comando, não no modo GUI. Eu sei que a partir daí eu posso mudar para o modo GUI usando o startx
comando Como faço para voltar ao modo de linha de comando?
Respostas:
Atualização: a resposta abaixo agora está obsoleta
Para muitas distribuições agora, o padrão é systemd, em vez de sysvinit. A resposta abaixo foi escrita com o sysvinit em mente. A resposta mais atualizada (e a que você deve usar se tiver o systemd como seu sistema init) é a resposta do golem .
resposta sysvinit (obsoleta na maioria das distribuições atuais):
Você deseja tornar o nível de execução 3 o nível de execução padrão. Em um terminal, mude para root e faça o seguinte:
[user@host]$ su
Password:
[root@host]# cp /etc/inittab /etc/inittab.bak #Make a backup copy of /etc/inittab
[root@host]# sed -i 's/id:5:initdefault:/id:3:initdefault:/' /etc/inittab #Make runlevel 3 your default runlevel
Qualquer coisa após (e incluindo) o segundo #
em cada linha é um comentário para você, não é necessário digitá-lo no terminal.
Veja a página da Wikipedia sobre níveis de execução para obter mais informações.
Explicação do sed
comando
sed
comando é um editor de fluxo (daí o nome), você o utiliza para manipular fluxos de dados, geralmente através de expressões regulares .sed
para substituir o padrão id:5:initdefault:
pelo padrão id:3:initdefault:
do arquivo /etc/inittab
, que é o arquivo que controla os níveis de execução. A sintaxe geral para uma sed
pesquisa e substituição é s/pattern/replacement_pattern/
.-i
opção informa sed
para aplicar as modificações no local. Se isso não estivesse presente, sed
teria gerado o arquivo resultante (após a substituição) para o terminal (mais geralmente para a saída padrão).Atualizar
Para voltar ao modo texto, basta pressionar CTRL+ ALT+ F1. Isso não interromperá sua sessão gráfica, simplesmente retornará ao terminal em que você se conectou. Você pode voltar para a sessão gráfica com CTRL+ ALT+ F7.
sed
comando.
sed
em arquivos de configuração, a menos que você saiba exatamente o que está fazendo. A linha em questão também pode ser um comentário e ainda assim seria alterada. Portanto, a expressão regular deve ser mais precisa, pelo menos exigir que a string id:...
esteja no início da linha. Como a página de manual não diz nada sobre como os espaços em branco são tratados, você provavelmente deseja usar s/^ *id:5:initdefault:
(que não inclui Tab
caracteres, a propósito).
Atualização para RedHat / CentOS 7 que mudou de sysvinit para systemd.
Para alternar da GUI para a CLI: systemctl isolate multi-user.target
Para alternar da CLI para a GUI: systemctl isolate graphical.target
Para definir o CLI como um padrão de nível de execução ( alvo na terminologia systemd): systemctl set-default multi-user.target
. Analogamente para GUI:systemctl set-default graphical.target
* CLI = Interface da Linha de Comandos = Modo da Linha de Comandos
Primeiro mude o usuário para o root.
su -
Password:
Digite a senha root.
Use seu editor favorito para modificar esta linha /etc/inittab
:
id:5:initdefault:
Altere 5 para 3. Quando você (re) inicializa o computador, ele o leva para a linha de comando e não para a GUI.
Além de mudar /etc/inittab
, você também pode dizer ao kernel em sua linha de comando para qual nível de execução de destino deve ser passado init
uma vez iniciado. Isso é feito simplesmente anexando o nível de execução desejado à linha de comando (deve ser o último argumento que acredito).
Você pode fazer isso como algo único durante a inicialização, desde que o carregador de inicialização permita alterar a linha de comando do kernel, ou você pode duplicar a entrada na configuração do carregador de inicialização e escolher a correta ao inicializar (útil quando você inicializa em vários níveis de execução frequentemente).
Para sistemas que usam systemd
o processo, é semelhante, mas significa mais digitação, já que a string mágica anexada à linha de comando do kernel está na forma de systemd.unit=desired.target
.
Quanto a startx
isso, ele também pode iniciar sessões adicionais, fornecendo a ele um número de exibição X não utilizado (a numeração começa em 0): startx -- :1
iniciará o servidor X na exibição: 1, localizando-o na primeira VT não utilizada (geralmente VT8, pois os 6 primeiros são geralmente Linux consoles e 7 é usado pela primeira sessão X em execução). Observe que o servidor X geralmente precisa de privilégios de root; portanto, você deve fazer isso como root
(o que não é uma boa ideia) ou o binário deve ser configurado como root (a necessidade disso é normalmente removida usando um gerenciador de exibição).
inittab
faz muito mais sentido, pois geralmente se quer trazer o sistema para o mesmo estado o tempo todo.
Em uma nota lateral, se você já inicializou no modo gráfico e gostaria de mudar para o modo de texto, basta pressionar Ctrl+ Alt+ F1e voltar ao modo gráfico por Ctrl+ Alt+ F7.
O Linux possui, por padrão, 6 terminais de texto e 1 terminal gráfico. Você pode alternar entre esses terminais pressionando Ctrl+ Alt+ Fn. Substitua n
por 1-7. F7levaria você ao modo gráfico apenas se inicializado no nível 5 de execução ou se você iniciou o X usando o startx
comando; caso contrário, apenas mostrará uma tela em branco F7.
Mesmo sendo um tópico bastante antigo, pode ser útil. No sistema que usa systemd
, / etc / inittab não está mais em uso. O método é bastante simples:
Modo terminal
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
Modo Gráfico
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
Depois de substituir o nível de execução padrão para id:3:initdefault:
nos /etc/inittab
usando seu editor de texto preferido (como dito anteriormente), é muito importante verificar se há alguma Plymouth (tela inicial) instalado em seu sistema. Nesse caso, será necessário remover a instalação ou remover a palavra-chave splash de /boot/grub/grub.cfg usando o seu editor de texto preferido (vim, pico ou outros). Para remover o plymouth:
sudo apt-get remove --purge plymouth
Edite seu grub.cfg:
sudo vim /boot/grub/grub.cfg
Por fim, atualize a configuração do grub:
sudo update-initramfs -u
Na próxima inicialização, você terá apenas a tela de login no modo de texto. É isso aí.
Aproveite a caixa do Linux!
A instalação do oracle-linux 7 por padrão requer a opção de instalação mínima. Você deve alterá-lo para instalação com o modo GUI no momento da instalação. Isso resolveu meu problema ao não conseguir usar o modo de usuário gráfico.
Usar
systemctl set-default multi-user.target
e reinicie a VM. A VM entrará no modo CLI.
startx
como posso voltar à linha de comando?