Como inicializar o Linux no modo de linha de comando em vez da GUI?

24

Estou usando o Red Hat Linux de 32 bits na minha VM. Eu quero inicializá-lo para o modo de linha de comando, não para o modo de GUI. Eu sei que a partir daí eu posso mudar para o modo GUI usando o comando startx . Como faço para voltar para o modo de linha de comando?

    
por Don't You Worry Child 13.09.2013 / 20:57

10 respostas

23

Atualização: a resposta abaixo 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 systemd como seu sistema init) é resposta de golem .

Resposta do sysvinit

(obsoleta na maioria das distribuições atuais):

Você quer tornar o runlevel 3 seu nível de execução padrão. De 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ê, você não precisa digitá-lo no terminal.

Veja a página da Wikipedia nos runlevels para mais informações.

Explicação do comando sed

  • O comando sed é um editor de fluxo (daí o nome), você o usa para manipular fluxos de dados, geralmente por meio de regular expressões .
  • Aqui, estamos dizendo sed para substituir o padrão id:5:initdefault: pelo padrão id:3:initdefault: no arquivo /etc/inittab , que é o arquivo que controla seus runlevles. A sintaxe geral para uma pesquisa e substituição sed é s/pattern/replacement_pattern/ .
  • A opção -i informa sed para aplicar as modificações no local. Se isso não estivesse presente, sed teria enviado o arquivo resultante (após a substituição) para o terminal (mais geralmente para a saída padrão).

Atualizar

Para retornar ao modo texto, simplesmente pressione CTRL + ALT + F1 . Isso não interromperá sua sessão gráfica, ele simplesmente retornará ao terminal em que você efetuou login. Você pode voltar para a sessão gráfica com CTRL + ALT + F7 .

    
por 13.09.2013 / 21:02
21

Atualização para o RedHat / CentOS 7 que mudou do sysvinit para o 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 runlevel padrão ( target na terminologia do systemd): systemctl set-default multi-user.target . Analogamente para GUI: systemctl set-default graphical.target

* CLI = Interface de linha de comando = modo de linha de comando

    
por 11.02.2015 / 15:46
11

Primeiro, mude o usuário para root.

su -
Password:

Digite a senha do root.

Use seu editor favorito para modificar essa linha em /etc/inittab :

id:5:initdefault:

Mude de 5 para 3. Quando você (re) inicializar o computador, ele irá levá-lo para a linha de comando, e não para a GUI.

    
por 13.09.2013 / 21:03
3

Além de alterar /etc/inittab , você também pode informar ao kernel em sua linha de comando qual nível de execução deve ser passado para init depois de 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 seu gerenciador de inicialização permita que você altere a linha de comando do kernel ou duplique a entrada na configuração do gerenciador de inicialização e escolha a correta ao inicializar (útil quando você estiver inicializando em vários runlevels com freqüência).

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 ao startx , ele também pode iniciar sessões adicionais, fornecendo um número de exibição X não utilizado (a numeração inicia em 0): startx -- :1 iniciará o servidor X exibido: 1, localizando-o no primeiro VT não utilizado muitas vezes VT8, desde os primeiros 6 são geralmente consoles Linux e 7 é usado pela primeira sessão X em execução). Note que o servidor X geralmente precisa de privilégios de root, então você tem que fazer isso como root (o que não é uma boa idéia), ou o binário deve ser setuid root (a necessidade disso é normalmente removida usando um gerenciador de exibição ).

    
por 14.09.2013 / 10:12
2

Em uma nota lateral, se você já tiver inicializado no modo gráfico e quiser mudar para o modo texto, você pode simplesmente pressionar Ctrl + Alt + F1 e de volta ao modo gráfico por Ctrl + Alt + F7 .

O Linux tem por padrão 6 terminais de texto e 1 terminal gráfico. Você pode alternar entre estes terminais pressionando Ctrl + Alt + Fn . Substitua n por 1-7. F7 levará você para o modo gráfico somente se for inicializado no nível de execução 5 ou se você tiver iniciado o X usando o comando startx ; caso contrário, apenas mostrará uma tela em branco em F7 .

    
por 14.09.2013 / 06:22
0

Depois de substituir o nível de execução padrão por id:3:initdefault: em /etc/inittab usando seu editor de texto preferido (como foi dito anteriormente), é muito importante verificar se há algum plymouth (tela inicial) instalado em seu sistema. Neste caso, será necessário remover a instalação ou apenas remover a palavra-chave splash de /boot/grub/grub.cfg usando 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.

Aproveite a caixa do Linux!

    
por 16.01.2015 / 13:20
0

Mesmo sendo um segmento bastante antigo, pode ser útil. No sistema que usa systemd , / etc / inittab não está mais em uso. O método é bem simples:

Modo de 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
    
por 13.09.2016 / 01:03
-1

A instalação do oracle-linux 7, por padrão, requer uma opção mínima de instalação. Você deve alterá-lo para a instalação com o modo GUI no momento da instalação. Isso resolveu meu problema por não conseguir usar o modo de usuário gráfico.

    
por 11.02.2015 / 14:02
-1

Eu tentei o systemctl, update-rc.d e até mesmo editar a configuração do GRUB, mas nada funcionou. Então eu comentei o gerenciador de exibição padrão em / etc / X11 / default-display-manager, reiniciei e finalmente: o terminal !!!! É tão simples assim!

    
por 23.08.2015 / 01:57
-1

Use

systemctl set-default multi-user.target

e reinicie a VM. A VM entrará no modo CLI.

    
por 24.07.2016 / 09:48