web-dev-qa-db-fra.com

Comment démarrer Linux en mode ligne de commande au lieu de l'interface graphique?

J'utilise Red Hat Linux 32 bits dans ma machine virtuelle. Je veux le démarrer en mode ligne de commande, pas en mode GUI. Je sais qu'à partir de là, je peux passer en mode GUI en utilisant la commande startx. Comment repasser en mode ligne de commande?

26

Mise à jour: la réponse ci-dessous est désormais obsolète

Pour de nombreuses distributions maintenant, la valeur par défaut est systemd plutôt que sysvinit. La réponse ci-dessous a été écrite avec Sysvinit à l'esprit. La réponse la plus récente (et celle que vous devriez utiliser si vous avez systemd comme système init) est réponse de golem .

réponse sysvinit (obsolète sur la plupart des distributions actuelles):

Vous souhaitez faire du niveau d'exécution 3 votre niveau d'exécution par défaut. À partir d'un terminal, basculez vers root et procédez comme suit:

[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

Tout ce qui suit (et y compris) le deuxième # Sur chaque ligne est un commentaire pour vous, vous n'avez pas besoin de le taper dans le terminal.

Voir la page Wikipedia sur les niveaux d'exécution pour plus d'informations.

Explication de la commande sed

  • La commande sed est un éditeur de flux (d'où le nom), vous l'utilisez pour manipuler des flux de données, généralement via expressions régulières .
  • Ici, nous demandons à sed de remplacer le modèle id:5:initdefault: Par le modèle id:3:initdefault: Dans le fichier /etc/inittab, Qui est le fichier qui contrôle vos niveaux d'exécution. La syntaxe générale pour une recherche et un remplacement de sed est s/pattern/replacement_pattern/.
  • L'option -i Indique à sed d'appliquer les modifications en place. Si ce n'était pas le cas, sed aurait sorti le fichier résultant (après substitution) vers le terminal (plus généralement vers la sortie standard).

Mise à jour

Pour revenir en mode texte, appuyez simplement sur CTRL+ALT+F1. Cela n'arrêtera pas votre session graphique, il vous ramènera simplement au terminal auquel vous vous êtes connecté. Vous pouvez revenir à la session graphique avec CTRL+ALT+F7.

23
Joseph R.

Mise à jour pour RedHat/CentOS 7 qui est passé de sysvinit à systemd.

Pour passer de l'interface graphique à l'interface CLI: systemctl isolate multi-user.target

Pour passer de CLI à GUI: systemctl isolate graphical.target

Pour définir l'interface CLI par défaut niveau d'exécution (cible dans la terminologie systemd): systemctl set-default multi-user.target. De façon analogue pour l'interface graphique: systemctl set-default graphical.target

* CLI = Interface de ligne de commande = mode ligne de commande

25
golem

Commutez d'abord l'utilisateur sur root.

su -
Password:

Saisissez le mot de passe root.

Utilisez votre éditeur préféré pour modifier cette ligne dans /etc/inittab:

id:5:initdefault:

Changez le 5 en 3. Lorsque vous (re) démarrez l'ordinateur, il vous amènera à la ligne de commande plutôt qu'à l'interface graphique.

11
Timothy Martin

En plus de changer /etc/inittab, vous pouvez également indiquer au noyau sur sa ligne de commande quel niveau d'exécution cible doit être passé à init une fois qu'il est démarré. Cela se fait en ajoutant simplement le niveau d'exécution souhaité à la ligne de commande (ce doit être le dernier argument, je crois).

Vous pouvez le faire soit comme une chose unique lors du démarrage, à condition que votre chargeur de démarrage vous permette de modifier la ligne de commande du noyau, ou vous pouvez dupliquer l'entrée dans la configuration du chargeur de démarrage et choisir la bonne lors du démarrage (utile lorsque vous démarrez dans divers runlevels souvent).

Pour les systèmes utilisant systemd le processus est similaire, mais signifie plus de typage puisque la chaîne magique ajoutée à la ligne de commande du noyau est sous la forme de systemd.unit=desired.target.

Quant à startx, il peut également démarrer des sessions supplémentaires en lui donnant un numéro d'affichage X inutilisé (la numérotation commence à 0): startx -- :1 démarrera le serveur X sur l'affichage: 1, en le localisant sur le premier VT inutilisé (souvent VT8, puisque les 6 premiers sont généralement des consoles Linux et 7 est utilisé par la première session X en cours d'exécution). Notez que le serveur X a généralement besoin des privilèges root, vous devez donc le faire en tant que root (ce qui n'est pas une bonne idée), ou le binaire doit être défini en tant que root (le besoin de ceci est normalement supprimé en utilisant un gestionnaire d'affichage).

3
peterph

En passant, si vous avez déjà démarré en mode graphique et que vous souhaitez passer en mode texte, vous pouvez simplement appuyer sur Ctrl + Alt + F1 et revenir en mode graphique par Ctrl + Alt + F7.

Linux possède par défaut 6 terminaux texte et 1 terminal graphique. Vous pouvez basculer entre ces terminaux en appuyant sur Ctrl + Alt + Fn. Remplacez n par 1-7. F7 ne vous amènerait au mode graphique que s'il a démarré au niveau d'exécution 5 ou si vous avez démarré X à l'aide de la commande startx; sinon, il affichera simplement un écran vide sur F7.

2
Punit Arya

Même être un fil assez ancien, peut être utile. Sur le système utilisant systemd, /etc/inittab n'est plus utilisé. La méthode est assez simple:

mode terminal

ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

Mode graphique

ln -sf /lib/systemd/system/graphical.target  /etc/systemd/system/default.target
1
fcm

Après avoir remplacé le niveau d'exécution par défaut par id:3:initdefault: dans /etc/inittab en utilisant votre éditeur de texte préféré (comme dit précédemment), il est très important de vérifier s'il y a un plymouth (écran de démarrage) installé dans votre système. Dans ce cas, il faudra supprimer l'installation de celui-ci, ou simplement supprimer le mot-clé splash de vous /boot/grub/grub.cfg en utilisant votre éditeur de texte préféré (vim, pico ou autres). Pour retirer le plymouth:

Sudo apt-get remove --purge plymouth

Modifiez votre grub.cfg:

Sudo vim /boot/grub/grub.cfg

Enfin, mettez à niveau la configuration de grub:

Sudo update-initramfs -u

Au prochain démarrage, vous aurez juste l'écran de connexion en mode texte. C'est ça.

Profitez de la boîte Linux!

0
S4nD3r