Ich verwende 32-Bit Red Hat Linux in meiner VM. Ich möchte es im Befehlszeilenmodus starten, nicht im GUI-Modus. Ich weiß, dass ich von dort mit dem startx
Befehl in den GUI-Modus wechseln kann . Wie wechsle ich zurück in den Befehlszeilenmodus?
Ich verwende 32-Bit Red Hat Linux in meiner VM. Ich möchte es im Befehlszeilenmodus starten, nicht im GUI-Modus. Ich weiß, dass ich von dort mit dem startx
Befehl in den GUI-Modus wechseln kann . Wie wechsle ich zurück in den Befehlszeilenmodus?
Antworten:
Update: Die Antwort unten ist jetzt veraltet
In vielen Distributionen ist die Standardeinstellung systemd und nicht sysvinit. Die folgende Antwort wurde unter Berücksichtigung von sysvinit geschrieben. Die aktuellere Antwort (und die, die Sie verwenden sollten, wenn Sie systemd als Init-System haben) ist die Antwort von golem .
sysvinit Antwort (auf den meisten aktuellen Distributionen veraltet):
Sie möchten Runlevel 3 zu Ihrem Standard-Runlevel machen. Wechseln Sie von einem Terminal zu root und gehen Sie wie folgt vor:
[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
Alles, was nach (und einschließlich) der Sekunde #
in jeder Zeile steht, ist ein Kommentar für Sie. Sie müssen ihn nicht in das Terminal eingeben.
Weitere Informationen finden Sie auf der Wikipedia-Seite zu Runlevels.
Erklärung des sed
Befehls
sed
Befehl ist ein Stream-Editor (daher der Name), mit dem Sie Datenströme normalerweise durch reguläre Ausdrücke bearbeiten können .sed
das Muster id:5:initdefault:
durch das Muster id:3:initdefault:
in der Datei /etc/inittab
ersetzen. Dies ist die Datei, die Ihre Runlevels steuert. Die allgemeine Syntax für sed
Suchen und Ersetzen lautet s/pattern/replacement_pattern/
.-i
Option teilt sed
mit, dass die Änderungen übernommen werden sollen. Wäre dies nicht vorhanden, sed
hätte die resultierende Datei (nach Ersetzung) auf das Terminal ausgegeben (allgemeiner auf Standardausgabe).Aktualisieren
Um zum Textmodus zurückzukehren, drücken Sie einfach CTRL+ ALT+ F1. Dadurch wird Ihre grafische Sitzung nicht gestoppt, sondern Sie kehren einfach zu dem Terminal zurück, an dem Sie angemeldet sind. Mit CTRL+ ALT+ können Sie wieder in die grafische Sitzung wechseln F7.
sed
Befehl hinzugefügt .
sed
Konfigurationsdateien zu verwenden, es sei denn, Sie wissen genau, was Sie tun. Die betreffende Zeile kann auch ein Kommentar sein und wird dennoch geändert. Daher sollte der reguläre Ausdruck präziser sein, zumindest muss sich die Zeichenfolge id:...
am Zeilenanfang befinden. Da die Manpage nichts darüber aussagt, wie Leerzeichen behandelt werden, möchten Sie wahrscheinlich verwenden s/^ *id:5:initdefault:
(was Tab
übrigens keine Zeichen enthält).
Update für RedHat / CentOS 7, das von sysvinit auf systemd umgestellt wurde.
So wechseln Sie von der GUI zur CLI: systemctl isolate multi-user.target
So wechseln Sie von CLI zu GUI: systemctl isolate graphical.target
So legen Sie die CLI als Standard- Runlevel fest ( Ziel in systemd Terminologie) systemctl set-default multi-user.target
. Analog für GUI:systemctl set-default graphical.target
* CLI = Befehlszeilenschnittstelle = Befehlszeilenmodus
Wechseln Sie zuerst zu root.
su -
Password:
Geben Sie das root-Passwort ein.
Verwenden Sie Ihren bevorzugten Editor, um diese Zeile zu ändern in /etc/inittab
:
id:5:initdefault:
Ändern Sie die 5 in 3. Wenn Sie den Computer (neu) starten, gelangen Sie zur Befehlszeile und nicht zur GUI.
Abgesehen von der Änderung /etc/inittab
können Sie dem Kernel auch über die Befehlszeile mitteilen, an welchen Ziel-Runlevel er nach dem init
Start übergeben werden soll. Dies geschieht durch einfaches Anhängen des gewünschten Runlevels an die Befehlszeile (es muss das letzte Argument sein, das ich glaube).
Sie können dies entweder einmalig beim Booten tun, vorausgesetzt Ihr Bootloader erlaubt Ihnen, die Kernel-Befehlszeile zu ändern, oder Sie können den Eintrag in der Bootloader-Konfiguration duplizieren und beim Booten den richtigen auswählen (nützlich, wenn Sie in verschiedene booten Runlevel oft).
Bei Systemen, bei denen systemd
der Prozess verwendet wird, ist er ähnlich, bedeutet jedoch mehr Eingaben, da die an die Kernel-Befehlszeile angehängte magische Zeichenfolge die Form von hat systemd.unit=desired.target
.
Was startx
kann es auch zusätzliche Sitzungen starten , indem er eine nicht verwendete X - Display - Nummer geben ( die Nummerierung beginnt bei 0): startx -- :1
1, Fest es auf den ersten nicht verwendeten VT (oft VT8, da die ersten 6 sind in der Regel Linux: wird X - Server auf dem Display beginnen Konsolen und 7 werden von der ersten laufenden X-Sitzung verwendet. Beachten Sie, dass der X-Server normalerweise Root-Rechte benötigt, so dass Sie dies entweder als root
(was keine gute Idee ist) oder als setuid root für die Binärdatei tun müssen (die Notwendigkeit hierfür wird normalerweise mithilfe eines Display-Managers beseitigt).
inittab
ist viel sinnvoller, da man das System in der Regel immer auf den gleichen Stand bringen möchte.
Auf einer Seite beachten, wenn Sie bereits in grafischen Modus gestartet haben und möchten in dem Textmodus wechseln, konnte man nur drücken Ctrl+ Alt+ F1und wieder zurück zum grafischen Modus von Ctrl+ Alt+ F7.
Linux verfügt standardmäßig über 6 Textterminals und 1 Grafikterminal. Sie können zwischen diesen Anschlüssen wechseln, indem Sie Ctrl+ Alt+ drücken Fn. Durch n
1-7 ersetzen . F7Sie würden nur dann in den grafischen Modus wechseln, wenn Sie Run Level 5 starten oder X mit dem startx
Befehl gestartet haben . Andernfalls wird nur ein leerer Bildschirm angezeigt F7.
Auch ein ziemlich alter Thread zu sein, kann nützlich sein. Auf dem System systemd
, auf dem / etc / inittab verwendet wird, wird es nicht mehr verwendet. Die Methode ist ganz einfach:
Terminal-Modus
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
Grafikmodus
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
Nach ersetzt den Standard - Runlevel id:3:initdefault:
in /etc/inittab
Ihrem bevorzugten Texteditor (wie zuvor gesagt), ist es sehr wichtig , zu überprüfen , ob es gibt einige plymouth (Splash - Screen) auf Ihrem System installiert werden. In diesem Fall müssen Sie die Installation entfernen oder einfach das Begrüßungsschlüsselwort mit Ihrem bevorzugten Texteditor (vim, pico oder andere) aus /boot/grub/grub.cfg entfernen. So entfernen Sie Plymouth:
sudo apt-get remove --purge plymouth
Bearbeite deine grub.cfg:
sudo vim /boot/grub/grub.cfg
Aktualisieren Sie abschließend die Grub-Konfiguration:
sudo update-initramfs -u
Beim nächsten Start haben Sie nur den Anmeldebildschirm im Textmodus. Das ist es.
Viel Spaß mit der Linux-Box!
Für die Installation von Oracle-Linux 7 sind standardmäßig nur minimale Installationsoptionen erforderlich. Sie müssen es zum Zeitpunkt der Installation auf Installation mit GUI-Modus ändern. Dies hat mein Problem behoben, da der grafische Benutzermodus nicht verwendet werden kann.
Verwenden
systemctl set-default multi-user.target
und starten Sie die VM neu. Die VM wird in den CLI-Modus versetzt.
startx
Wie kann ich zur Befehlszeile zurückkehren , wenn ich zur grafischen Benutzeroberfläche wechsle?