Como inicializar um sistema Linux sem servidor gráfico

Como inicializar um sistema Linux sem servidor gráfico

Gostaria de saber o que deve ser feito para inicializar um sistema Linux em um ambiente CLI, sem iniciar também o servidor gráfico X.

Estou interessado em uma solução apenas temporária, de preferência

  • um comando, ou uma série de comandos, que pode ser executado no terminal Grub (aquele que você obtém quando pressiona C);
  • ou adicionando uma entrada no menu KDM onde você seleciona um ambiente de área de trabalho;

em vez de uma mudança permanente no sistema (o comportamento padrão deveria ser inicializar com a interface gráfica padrão).


Conforme solicitado, estou adicionando o conteúdo relevante de/boot/grub2/grub.cgf

menuentry 'openSUSE 13.2' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-179689d2-d2f3-4ec8-9cc3-01ec946c6b11' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos 
    insmod ext2
    set root='hd0,msdos5'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5'  179689d2-d2f3-4ec8-9cc3-01ec946c6b11
    else
      search --no-floppy --fs-uuid --set=root 179689d2-d2f3-4ec8-9cc3-01ec946c6b11
    fi
    echo    'Loading Linux 3.16.7-24-desktop ...'
    linux   /boot/vmlinuz-3.16.7-24-desktop root=UUID=179689d2-d2f3-4ec8-9cc3-01ec946c6b11   quiet quiet liveinstall lang=it_IT resume=/dev/disk/by-id/ata-WDC_WD5000BEVT-00A0RT0_WD-WXL1AC0U9725-part7 splash=silent quiet showopts vga=803
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd-3.16.7-24-desktop
}

Responder1

O que você está pedindo não está totalmente claro para mim, então darei várias respostas possíveis, esperando que você encontre aquela que lhe interessa.

  1. Você pode desabilitar o servidor X na próxima inicialização acessando /etc/default/grub, encontrando a linha

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    

    e modificando-o em

    GRUB_CMDLINE_LINUX_DEFAULT="text"
    

    Agora você precisa atualizar o grub,

    update-grub
    

    e você terminou.

Você pode fazer ovice-versapara reativar o servidor X.

  1. Você pode desabilitar seu Gerenciador de Janelas: supondo que você esteja usando o systemd, o que a maioria das distros Linux faz hoje em dia,

    systemctl disable kdm
    

    ou gdm, lightdm, o que quer que você use.

  2. Se você acha que pode querer mudar de idéia, ocasionalmente,depoisa inicialização foi iniciada, adicione ao arquivo /etc/grub.d/40_customa seguinte entrada manual:

     menuentry 'Ubuntu (Text mode)' --class ubuntu {
     recordfail
     insmod gzio
     insmod part_msdos
     insmod ext2
     set root='hd0,msdos1'
     linux   /vmlinuz root=/dev/sda1 ro   text
     initrd  /initrd.img
     }
    

    (certifique-se de se adaptar /dev/sda1emsdos1seuconfiguração). Isso produz apenas uma entrada no menu GRUB2 que você pode usar ocasionalmente.

  3. Se tudo o que você deseja é um login de texto, mesmo quando uma sessão gráfica tiver sido iniciada, lembre-se que a combinação Ctrl+ Alt+ F1(ou F2- F6) lhe dará exatamente isso, um login textual. Além disso, você pode desativar o Gerenciador de janelas a partir deste login textual,

    sudo systemctl stop gdm
    

    (ordemkdm, lightdm, sddm,, ou o que você usar), e aí você terá um login puramente textual, nenhuma sessão gráfica em execução.

  4. Por último, você pode querer recorrer à inicialização somente texto quando for atingido por algum erro inesperado em sua configuração gráfica (uma atualização que deu errado?), que o pegou de surpresa (ou seja, sem ter preparado para solução3). Se você estiver preso no prompt de comando do grub, você pode usarSugestão de Terdonadequadamente modificado, porque, tal como está, nãonãofunciona em meus sistemas Debian e Arch Linux, mas o seguinte funciona: em vez de anexar textà linuxlinha na exibição do Grub como sugeriu Terdon, digite 3 (três); por exemplo,

    linux   /boot/vmlinuz-4.0.0-1-amd64 root=UUID=5e285652 ro  quiet 3
    

    Isso inicializará você com êxito no nível de execução 3, que é CLI com rede, mas sem gerenciador de exibição.

Responder2

Bem, a abordagem mais simples para uma inicialização única em modo texto seria selecionar a entrada do kernel que você deseja inicializar na tela do GRUB2, pressionar E, rolar para baixo até a linuxlinha e adicionar textao final. Por exemplo:

linux   /boot/vmlinuz-4.0.0-1-amd64 root=UUID=5e285652 ro  quiet text

Em seguida, pressione F10ou Ctrl+ Xpara inicializar.

Responder3

Copie e cole de /etc/inittab:

# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#

Portanto, você pode definir:

systemctl set-default multi-user.target

para executar apenas CLI

Responder4

para desabilitar o servidor X eu edito o arquivo /etc/default/grubna linha

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

modificando para

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash init 3"

então é só reiniciar e se quiser iniciar em modo gráfico, faça login e execute o comando startx

informação relacionada