web-dev-qa-db-fra.com

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

J'aimerais savoir ce qui devrait être fait pour démarrer un système Linux sur un environnement CLI, sans également démarrer le serveur graphique X.

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

  • une commande ou une série de commandes, pouvant être exécutées sur la borne de grobub (celle 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 doit ê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
}
6
Sekhemty

Ce que vous demandez n'est pas complètement clair pour moi, je vous donnerai donc plusieurs réponses possibles, en espérant que vous pouvez trouver celui qui vous intéresse.

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

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    

    et la modifier dans

    GRUB_CMDLINE_LINUX_DEFAULT="text"
    

    Maintenant, vous devez mettre à jour Grub,

    update-grub
    

    et vous avez terminé.

Vous pouvez faire le Vice versa Pour réactiver le serveur X.

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

    systemctl disable kdm
    

    ou gdm, lightdm, tout ce que vous utilisez.

  2. Si vous pensez que vous voudrez peut-être changer d'avis, de temps en temps après Boot a démarré, 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 et msdos1 to votre configuration ). Cela ne produit qu'une entrée dans votre menu GRUB2 que vous souhaiterez peut-être utiliser occasionnellement.

  3. Si tout ce que vous voulez, c'est une connexion texte, même lorsqu'une session graphique a commencé, rappelez-vous que la combinaison Ctrl+Alt+F1 (ou alors F2-F6) Je vous donnerai juste cela, une connexion textuelle. De plus, vous pouvez ensuite désactiver votre gestionnaire de fenêtres à partir de ce login textuel,

    Sudo systemctl stop gdm
    

    (ORD KDM, LightDM, SDDM,, ou tout ce que vous utilisez), et vous avez une connexion purement textuelle, aucune session graphique en marche.

  4. Enfin, vous voudrez peut-être recourir au démarrage du texte uniquement lorsque vous êtes touché par une erreur inattendue dans votre configuration graphique (une mise à jour a été gérée?), Qui vous a attrapé vous ignorant ( c'est-à-dire, sans Ayant préparé pour solution 3). Si vous êtes bloqué à l'invite de commande dans Grub, vous pouvez utiliser suggestion de Terdon modifié de manière appropriée, car, comme il se tient, il le fait non Travailler sur mes systèmes de Debian et d'Arch Linux, mais ce qui suit: Au lieu d'ajouter text à la ligne linux ligne dans l'affichage de la grub comme Terdon suggéré, type 3 (trois) à la place; par exemple.,

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

    Cela vous démarrera avec succès dans Runlevel 3, qui est CLI avec réseautage mais aucun gestionnaire d'affichage.

19
MariusMatutiae

Copier la pâte 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
#

Par conséquent, vous pouvez définir:

systemctl set-default multi-user.target

ne fonctionner que cli

4
Yura

Veuillez consulter cet article: Comment utiliser Grub2 pour démarrer Linux manuellement

Démarrage indirect par chaîne de chargement

Pour GRUB1, si vous souhaitez reposer un système d'exploitation, qui peut être n'importe quel DOS, MS Windows, BSD, Solaris ou Linux, installé dans la 2e partition du 1er disque Les commandes héritées GRUB seront:

root (hd0,1)
chainloader +1
boot

Pour Grub2, les commandes sont légèrement différentes et les modifications sont surlignées en code rouge:

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

Démarrage direct en nommant les fichiers du noyau et de l'initrd

...

Dis si mon Linux a vmlinuz-2.6.18-6-686 et initrd.img-2.6.18-6-686 dans /boot SubDirectory One peut démarrer le Linux avec les commandes de code GRUB1:

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 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
1
duDE