Aktualizacja: Poniższa odpowiedź jest już nieaktualna
W przypadku wielu dystrybucji domyślną opcją jest raczej systemowe niż sysvinit. Poniższa odpowiedź została napisana z myślą o sysvinit. Bardziej aktualna odpowiedź (i ta, której powinieneś użyć, jeśli masz system jako system init) jest odpowiedzią golema .
odpowiedź sysvinit (przestarzała w większości obecnych dystrybucji):
Chcesz ustawić poziom uruchamiania 3 jako domyślny. Z terminalu przełącz się na root i wykonaj następujące czynności:
[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
Cokolwiek po (i włącznie) drugim #
w każdej linii jest dla ciebie komentarzem, nie musisz wpisywać go w terminalu.
Więcej informacji można znaleźć na stronie Wikipedii dotyczącej poziomów pracy.
Wyjaśnienie sed
polecenia
sed
Polecenie to edytor strumień (stąd nazwa), należy użyć go do manipulowania strumieni danych, zwykle za pośrednictwem wyrażeń regularnych .
- Mówimy tutaj,
sed
aby zastąpić wzorzec id:5:initdefault:
wzorkiem id:3:initdefault:
w pliku /etc/inittab
, który jest plikiem kontrolującym twoje poziomy uruchomieniowe. Ogólna składnia sed
wyszukiwania i zamiany to s/pattern/replacement_pattern/
.
-i
Opcja nakazuje sed
zastosować modyfikacje w miejscu. Gdyby tego nie było, sed
wyprowadziłby wynikowy plik (po podstawieniu) do terminala (bardziej ogólnie na standardowe wyjście).
Aktualizacja
Aby wrócić do trybu tekstowego, wystarczy nacisnąć CTRL+ ALT+ F1. To nie zatrzyma twojej sesji graficznej, po prostu przełączy cię z powrotem na terminal, na którym się zalogowałeś. Możesz wrócić do sesji graficznej za pomocą CTRL+ ALT+ F7.
startx
jak mogę wrócić do wiersza poleceń?sed
polecenia.sed
plików konfiguracyjnych, chyba że dokładnie wiesz, co robisz. Wiersz, o którym mowa, może być także komentarzem, a mimo to zostałby zmieniony. Dlatego wyrażenie regularne powinno być bardziej precyzyjne, przynajmniej wymagać, aby ciąg znakówid:...
znajdował się na początku wiersza. Ponieważ strona podręcznika nic nie mówi o tym, jak traktowane są białe spacje, prawdopodobnie prawdopodobnie zechcesz jej użyćs/^ *id:5:initdefault:
(któraTab
, nawiasem mówiąc, nie zawiera znaku).Aktualizacja dla RedHat / CentOS 7, która przeszła z sysvinit na systemd.
Aby przełączyć się z GUI na CLI:
systemctl isolate multi-user.target
Aby przełączyć się z CLI na GUI:
systemctl isolate graphical.target
Aby ustawić CLI jako domyślnego poziomu działania ( cel w Systemd terminologii)
systemctl set-default multi-user.target
. Analogicznie dla GUI:systemctl set-default graphical.target
* CLI = Interfejs wiersza poleceń = tryb wiersza poleceń
źródło
Najpierw przełącz użytkownika na root.
Wpisz hasło roota.
Użyj swojego ulubionego edytora, aby zmodyfikować ten wiersz w
/etc/inittab
:Zmień 5 na 3. Kiedy ponownie uruchomisz komputer, przeniesie Cię on do wiersza poleceń, a nie do GUI.
źródło
Oprócz zmiany
/etc/inittab
, możesz także powiedzieć jądru w jego linii poleceń, do którego docelowego poziomu uruchamiania powinien zostać przekazanyinit
po uruchomieniu. Odbywa się to po prostu dodając pożądany poziom działania do wiersza poleceń (uważam, że to ostatni argument).Możesz to zrobić jako jednorazową czynność podczas rozruchu, pod warunkiem, że bootloader pozwala na zmianę wiersza poleceń jądra, lub możesz zduplikować wpis w konfiguracji bootloadera i wybrać właściwy podczas uruchamiania (przydatne, gdy uruchamiasz się w różnych poziomy pracy często).
W systemach korzystających z
systemd
tego procesu proces jest podobny, ale oznacza więcej pisania, ponieważ magiczny ciąg dołączony do wiersza polecenia jądra ma postaćsystemd.unit=desired.target
.Jeśli chodzi o
startx
to, może również rozpocząć dodatkowe sesje, nadając mu nieużywany numer X wyświetlacza (numeracja zaczyna się od 0):startx -- :1
uruchomi X serwer na wyświetlaczu: 1, lokalizując go na pierwszym nieużywanym VT (często VT8, ponieważ pierwsze 6 to zwykle Linux konsole i 7 są używane przez pierwszą uruchomioną sesję X). Zauważ, że serwer X zwykle potrzebuje uprawnień roota, więc albo musisz to zrobić jakoroot
(co nie jest dobrym pomysłem), albo plik binarny musi być rootem setuid (potrzeba jest zwykle usuwana za pomocą menedżera wyświetlania).źródło
inittab
ma znacznie większy sens, ponieważ zwykle chce się cały czas przywracać system do tego samego stanu.Na marginesie, jeśli już uruchomiłeś tryb graficzny i chciałbyś przejść do trybu tekstowego, możesz po prostu nacisnąć Ctrl+ Alt+ F1i wrócić do trybu graficznego przez Ctrl+ Alt+ F7.
Linux ma domyślnie 6 terminali tekstowych i 1 terminal graficzny. Możesz przełączać się między tymi terminalami, naciskając Ctrl+ Alt+ Fn. Zamień na
n
1-7. F7przeniósłby cię do trybu graficznego tylko wtedy, gdy uruchomił się na poziomie uruchamiania 5 lub uruchomiłeś X za pomocąstartx
polecenia; w przeciwnym razie wyświetli się pusty ekran F7.źródło
Może nawet być dość starym wątkiem. W systemie z użyciem
systemd
, / etc / inittab nie jest już w użyciu. Metoda jest dość prosta:Tryb terminalowy
Tryb graficzny
źródło
Po zastąpić domyślny poziom pracy, aby
id:3:initdefault:
w/etc/inittab
użyciu preferowanego edytora tekstu (jak wspomniano wcześniej), to bardzo ważne, należy sprawdzić, czy istnieje jakiś Plymouth (ekran powitalny) zainstalowanych w systemie. W takim przypadku konieczne będzie usunięcie instalacji lub usunięcie słowa kluczowego splash z twojego pliku /boot/grub/grub.cfg za pomocą preferowanego edytora tekstu (vim, pico lub innych). Aby usunąć Plymouth:Edytuj swój grub.cfg:
Na koniec zaktualizuj konfigurację grub:
Przy następnym uruchomieniu pojawi się ekran logowania w trybie tekstowym. to jest to!
Ciesz się Linux-em!
źródło
Instalacja oracle-linux 7 domyślnie wymaga minimalnej opcji instalacji. Musisz zmienić go na instalację z trybem GUI w momencie instalacji. To rozwiązało mój problem z niemożnością korzystania z graficznego trybu użytkownika.
źródło
Próbowałem systemctl, update-rc.d, a nawet edytowałem konfigurację GRUB, ale nic nie działało. Potem skomentowałem domyślnego menedżera wyświetlania w / etc / X11 / default-display-manager, zrestartowałem i wreszcie: terminal !!!! To takie proste!
źródło
Posługiwać się
i zrestartuj maszynę wirtualną. Maszyna wirtualna przejdzie w tryb CLI.
źródło