8 votes

Comment démarrer un système Linux sans serveur graphique ?

J'aimerais savoir ce qu'il faut faire pour démarrer un système Linux sur un environnement CLI, sans démarrer également le serveur graphique X.

Je suis intéressé par une solution uniquement temporaire, idéalement

  • une commande, ou une série de commandes, qui peut être exécutée sur le terminal Grub (celui que vous obtenez lorsque vous appuyez sur C ) ;
  • ou en ajoutant une entrée dans le menu KDM où vous sélectionnez un environnement de bureau ;

plutôt qu'un changement permanent sur le système (le comportement standard devrait être de démarrer avec l'interface graphique par défaut).


Comme demandé, j'ajoute le contenu pertinent 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
}

24voto

MariusMatutiae Points 45233

Ce que vous demandez n'est pas tout à fait clair pour moi, je vais donc vous donner plusieurs réponses possibles, en espérant que vous trouverez celle qui vous intéresse.

  1. Vous pouvez désactiver le serveur X au prochain démarrage en allant à /etc/default/grub en trouvant la ligne

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    et le modifier en

    GRUB_CMDLINE_LINUX_DEFAULT="text"

    Maintenant vous devez mettre à jour Grub,

    update-grub

    et vous avez terminé.

Vous pouvez faire le inversement pour réactiver le serveur X.

  1. Vous pouvez désactiver votre gestionnaire de fenêtres : en supposant que vous utilisez systemd ce que font la plupart des distributions Linux de nos jours,

    systemctl disable kdm

    o gdm , lightdm ou ce que vous utilisez.

  2. Si vous pensez que vous pourriez changer d'avis, à l'occasion, après Le démarrage a commencé, ajoutez au fichier /etc/grub.d/40_custom l'entrée manuelle suivante :

     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
     }

    (assurez-vous d'adapter /dev/sda1 y msdos1 a votre configuration). Cela produit juste une entrée dans votre menu GRUB2 que vous pouvez souhaiter utiliser occasionnellement.

  3. Si tout ce que vous voulez est une connexion en mode texte, même lorsqu'une session graphique a démarré, rappelez-vous que la combinaison Ctrl + Alt + F1 (ou F2 - F6 ) vous donnera juste cela, un login textuel. En outre, vous pouvez désactiver votre gestionnaire de fenêtres à partir de cette connexion textuelle,

    sudo systemctl stop gdm

    (ord kdm, lightdm, sddm, ou ce que vous utilisez), et vous avez une connexion purement textuelle, sans session graphique.

  4. Enfin, vous pouvez avoir recours au démarrage en mode texte lorsque vous êtes frappé par une erreur inattendue dans votre configuration graphique (une mise à jour qui a mal tourné ?), qui vous a pris au dépourvu ( c'est-à-dire sans avoir préparé la solution 3 ). Si vous êtes bloqué à l'invite de commande dans Grub, vous pouvez utiliser La suggestion de Terdon modifié de manière appropriée, car, tel qu'il est, il ne fait pas no fonctionnent sur mes systèmes Debian et Arch Linux, mais ce qui suit le fait : au lieu d'annexer text à la linux dans l'affichage Grub comme Terdon l'a suggéré, tapez 3 (trois) à la place ; par exemple,

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

    Cela vous permettra de démarrer avec succès au niveau d'exécution 3, qui est CLI avec le réseau mais pas de gestionnaire d'affichage.

5voto

Mohsin Points 11

Eh bien, l'approche la plus simple pour un démarrage unique en mode texte serait de sélectionner l'entrée du noyau que vous voulez démarrer lorsqu'à l'écran de GRUB2, appuyez sur E , faites défiler vers le bas jusqu'à la linux et ajoutez text jusqu'à la fin. Par exemple :

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

Ensuite, appuyez sur F10 o Ctrl + X pour démarrer.

4voto

Iurii Vasylenko Points 141

Copier coller depuis /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
#

Ainsi, vous pouvez définir :

systemctl set-default multi-user.target

pour exécuter uniquement le CLI

1voto

Leo Chapiro Points 15089

Jetez un coup d'œil à cet article : Comment utiliser Grub2 pour démarrer Linux manuellement

Amorçage indirect par chargement en chaîne

Pour Grub1, si vous voulez démarrer un OS, qui peut être n'importe quel Dos, MS Windows, BSD, Solaris ou Linux, installé dans la 2ème partition du 1er disque, les commandes Grub Legacy seront les suivantes Code :

root (hd0,1)
chainloader +1
boot

Pour Grub2 les commandes sont légèrement différentes et les changements sont surlignés en rouge Code :

set root=(hd0,2)
chainloader +1
boot

Démarrage direct en nommant les fichiers kernel et initrd

...

Disons que si mon Linux a vmlinuz-2.6.18-6-686 y initrd.img-2.6.18-6-686 en /boot on peut démarrer le système Linux avec les commandes Grub1 suivantes Code :

root (hd0,1)
kernel  /boot/vmlinuz-2.6.18-6-686 root=/dev/sda11 ro 
initrd   /boot/initrd.img-2.6.18-6-686
boot

Pour Grub2, les commandes correspondantes seront les suivantes Code :

set root=(hd0,2)
linux  /boot/vmlinuz-2.6.18-6-686 root=/dev/sda11  
initrd   /boot/initrd.img-2.6.18-6-686
boot

0voto

henrique Frota Points 1

Pour désactiver le serveur X, je modifie le fichier /etc/default/grub sur la ligne

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

modifier pour

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash init 3"

puis redémarrez simplement et si vous voulez démarrer en mode graphique, connectez-vous et exécutez la commande startx

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X