Як завантажувати Linux в режим командного рядка замість GUI?


26

Я використовую 32-бітний Red Hat Linux у своїй машині управління. Я хочу завантажувати його в режим командного рядка, а не в режим GUI. Я знаю, що звідти я можу перейти в режим GUI за допомогою startxкоманди. Як переключитися в режим командного рядка?

Відповіді:


23

Оновлення: Відповідь, наведена нижче, застаріла

Для багатьох дистрибутивів зараз за замовчуванням є системний, а не системний. Відповідь нижче була написана з урахуванням сисвініту. Найновіша відповідь (і та, яку ви повинні використовувати, якщо ви створили систему як ініціативу) це відповідь Голема .

відповідь sysvinit (застаріла у більшості поточних дистрибутивів):

Ви хочете зробити рівень 3 для свого рівня за замовчуванням. З терміналу переключіться на root та виконайте наступне:

[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

Все, що стосується (включаючи) другого #у кожному рядку, є коментарем для вас, вам не потрібно вводити його в термінал.

Додаткову інформацію див. На сторінці Вікіпедії на рівнях.

Пояснення sedкоманди

  • sedКоманда потоковий редактор (звідси і назва), використовувати його , щоб управляти потоками даних, як правило , через регулярні вирази .
  • Тут ми розповідаємо sedпро те, щоб замінити шаблон id:5:initdefault:на шаблон id:3:initdefault:у файлі /etc/inittab, який є файлом, який керує вашими запущеними файлами. Загальний синтаксис sedпошуку та заміни єs/pattern/replacement_pattern/ .
  • -iОпція вказує sedзастосувати зміни на місці. Якби цього не sedбуло, виводив би отриманий файл (після заміни) до терміналу (більш загально, до стандартного виводу).

Оновлення

Щоб повернутися до текстового режиму, просто натисніть CTRL+ ALT+ F1. Це не зупинить ваш графічний сеанс, він просто переключить вас до терміналу, в якому ви увійшли. Ви можете повернутися до графічного сеансу за допомогою CTRL+ ALT+ F7.


Дякую за відповідь. Крім того, коли я перемикаюсь на GUI, використовуючи, startxяк я можу перейти назад до командного рядка?
Не хвилюйся, дитина

1
@ 0xF1 Додано пояснення для sedкоманди.
Джозеф Р.

1
Я б зазвичай радив не використовувати sedконфігураційні файли, якщо ви точно не знаєте, що ви робите. Розглянута лінія може бути також коментарем, але вона все одно буде змінена. Отже, регулярний вираз повинен бути більш точним, принаймні вимагати, щоб рядок id:...був на початку рядка. Оскільки на сторінці чоловіка нічого не сказано про поводження з білими пробілами, ви, ймовірно, хочете використовувати s/^ *id:5:initdefault:( Tabдо речі, не містить символів).
петерф

1
Ця відповідь більше не є дійсною, принаймні в моїй теперішній ОС. Подивіться на відповідь @ golem нижче. Це працювало для мене. Я використовую fedora 27.
Lance

1
@Lance Дуже хороший момент. Дякуємо за повідомлення Я оновив свою відповідь, щоб це відобразити.
Джозеф Р.

25

Оновлення для RedHat / CentOS 7, яке перейшло з системи sysvinit на systemd.

Для переходу з GUI на CLI: systemctl isolate multi-user.target

Для переходу з CLI на GUI: systemctl isolate graphical.target

Щоб встановити CLI як рівень запуску за замовчуванням ( ціль у системній термінології):systemctl set-default multi-user.target . Аналогічно для GUI:systemctl set-default graphical.target

* CLI = Інтерфейс командного рядка = режим командного рядка



2
Дякую .. Кожен форум все ще скидає старі знання про / etc / inittab, хоча його застарілі.
Шашанк Вяс

11

Спочатку переключіть користувача на root.

su -
Password:

Введіть пароль користувача.

Використовуйте улюблений редактор, щоб змінити цей рядок у /etc/inittab:

id:5:initdefault:

Змініть 5 на 3. Коли ви (повторно) завантажуєте комп'ютер, він переведе вас до командного рядка, а не до графічного інтерфейсу.


Будь ласка, додайте інструкції про те, як ОП повинна це робити як корінь, і до якого файлу. Ця відповідь, як нині є, не підходить для того, щоб допомогти тому, хто є новим у Linux.
Джозеф Р.

1
Дякую, що ви вказали на мій недогляд. Відповідь я відредагував відповідно.
Тімоті Мартін

Чи означає це, що графічний інтерфейс не працює, чи він прихований?
Аарон Франке

@AaronFranke Для систем Redhat на рівні 3 запуску графічний інтерфейс не увімкнено (або відключений у випадку системи, яка була переключена з рівня 5 на 3 без перезавантаження).
Тимофій Мартін

3

Крім зміни /etc/inittab, ви можете також повідомити ядро ​​в його командному рядку, до якого цільового рівня запуску слід перейтиinit після його запуску. Це робиться шляхом простого додавання потрібного рівня запуску до командного рядка (він повинен бути останнім аргументом, який я вважаю).

Ви можете це робити як разова річ під час завантаження, якщо ваш завантажувач дозволяє змінити командний рядок ядра, або ви можете дублювати запис у конфігурації завантажувача та вибрати потрібний під час завантаження (корисно, коли ви завантажуєтесь у різні часто бігають).

Для систем, що використовують systemdпроцес, подібний, але означає більше введення тексту, оскільки чарівна рядок, доданий до командного рядка ядра, має формуsystemd.unit=desired.target .

Що стосується startx, він також може запускати додаткові сеанси, надаючи йому невикористаний X-дисплейний номер (нумерація починається з 0): startx -- :1запустить X-сервер на дисплеї: 1, розмістивши його на першому невикористаному VT (часто VT8, оскільки перші 6 зазвичай є Linux консолі та 7 використовується для першого запущеного X сеансу). Зауважте, що X-серверу зазвичай потрібні привілеї root, тому вам потрібно це зробити як root(що не є хорошою ідеєю), або двійковий файл має бути встановлений корінь (потреба в цьому зазвичай усувається за допомогою диспетчера дисплеїв).


+1 Відмінна відповідь. Хоча не дуже новачок.
Джозеф Р.

Так, зміна inittabмає набагато більше сенсу, оскільки зазвичай людина хоче постійно приводити систему в один і той же стан.
петерф

2

З іншого боку, якщо ви вже завантажилися в графічний режим і хочете перейти в текстовий режим, ви можете просто натиснути клавішу Ctrl+ Alt+ F1і повернутися до графічного режиму на Ctrl+ Alt+F7 .

У Linux за замовчуванням є 6 текстових терміналів та 1 графічний термінал. Ви можете перемикатися між цими терміналами, натискаючи Ctrl+ Alt+ Fn. Замініть nна 1-7. F7переведе вас у графічний режим лише в тому випадку, якщо він завантажився на рівень 5 запуску або ви запустили X за допомогою startxкоманди; в іншому випадку він буде просто відображати порожній екран на F7.


показати цю роботу в RHEL 7?
javapowered

1

Навіть будучи досить старою ниткою, може бути корисним. У системі, що використовує systemd, / etc / inittab більше не використовується. Метод досить простий:

Термінальний режим

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

Графічний режим

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

0

Після заміни рівня запуску за замовчуванням id:3:initdefault:в /etc/inittabбудь-якому текстової редакторі (як раніше сказано), що дуже важливо перевірити , якщо є якась - то Плімут (заставка) , встановлене у вашій системі. У цьому випадку потрібно буде видалити його встановлення або просто видалити ключове слово сплеск у вас /boot/grub/grub.cfg, використовуючи бажаний текстовий редактор (vim, pico чи інші). Щоб видалити плімут:

sudo apt-get remove --purge plymouth

Відредагуйте grub.cfg:

sudo vim /boot/grub/grub.cfg

Нарешті, оновіть конфігурацію grub:

sudo update-initramfs -u

У наступному завантаженні у вас буде просто екран входу в текстовий режим. Це воно.

Насолоджуйтесь Linux коробкою!


-1

Установка oracle-linux 7 за замовчуванням потребує мінімальної можливості встановлення. Ви повинні змінити його на встановлення в режимі GUI під час встановлення. Це вирішило мою проблему щодо неможливості використання графічного режиму користувача.


Здається, у вас є запит ОП назад. Здається, що ОП намагається потрапити до CLI, а не до GUI.
HalosGhost

-1

Я спробував systemctl, update-rc.d і навіть редагував конфігурацію GRUB, але нічого не вийшло. Тоді я прокоментував диспетчер дисплеїв за замовчуванням у / etc / X11 / default-display-manager, перезавантажився і нарешті: термінал !!!! Це так просто!


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.