- How To Boot To Console (Text) Mode Using Debian / Ubuntu, Fedora, Arch Linux / Manjaro And More
- Case A. Temporary booting to console mode (text mode)
- Case B. Permanently booting to text mode (console mode)
- 5 причин, почему Linux так часто использует командную строку
- 1. Когда разрабатывалась Unix, не было графического интерфейса
- 2. Инструменты программирования используют командную строку
- 3. Командная строка работает быстро
- 4. Командная строка работает везде, в том числе и на серверах
- 5. Для программ командной строки можно создавать сценарии
- Теперь вы знаете, почему Linux так часто использует командную строку
How To Boot To Console (Text) Mode Using Debian / Ubuntu, Fedora, Arch Linux / Manjaro And More
The instructions in this article should work with any Linux distribution that uses systemd (for the permanent mode below) and GNU GRUB (for the temporary mode), but I personally only tried this with Debian, Ubuntu, Manjaro and Fedora.
Booting in console mode (text mode / tty) allows you to login to your system from the command line (as a regular user or as the root user if it’s enabled), without using a graphical user interface. This is useful in case your system fails to boot when using the graphical mode, or maybe you have a computer running Linux for which you don’t regularly use the GUI and ssh into it, so you’d like to save some system resources by booting in text mode. But regardless of the reason, this article shows you how to boot to console / text / tty on Linux.
Case A. Temporary booting to console mode (text mode)
Using these instructions, your computer will boot to console only for the current boot. After restarting the computer it will boot normally, so these changes are temporary.
1. To temporarily boot to console mode (tty), start your computer and immediately after the BIOS / UEFI splash screen, press and hold the Shift (BIOS), or press the Esc (UEFI) key repeatedly, to access the GRUB menu.
2. Once you see the GNU GRUB screen, with the first entry from the menu selected, press the e key. This allows you to edit the kernel parameters before booting.
Look for the line that begins with linux (use the Up / Down / Left / Right arrow keys to navigate); vmlinuz should also be on the same line. At the end of this line (you can place the cursor using the arrow keys at the beginning of the line, then press the End key to move the cursor to the end of that line) add a space followed by the number 3 . Don’t change anything else.
This 3 represents the multi-user.target systemd target which is mapped to the old, now obsolete runlevel 2, 3 and 4 (used to start and stop groups of services). For example the old runlevel 5 is mapped to the systemd graphical.target and using this starts. you’ve guessed it, the graphical (GUI) target. For more on systemd targets see this page.
Example #1. This is how the line beginning with «linux» looks like for Ubuntu 18.04 LTS (it doesn’t have to be identical for you, it’s just so you get an idea):
linux /boot/vmlinuz-4.18.0-15-generic root=UUID=1438eb20-da3d-4880-bb3a-414e+++0a929 ro quiet splash $vt_handoff
And this is how the line beginning with «linux» looks after adding the 3 at the end:
linux /boot/vmlinuz-4.18.0-15-generic root=UUID=1438eb20-da3d-4880-bb3a-414e+++0a929 ro quiet splash $vt_handoff 3
Example #2. This is how the line beginning with «linux» looks for Fedora 31 (it’s not identical for you, it’s just so you get an idea):
linux ($root)/vmlinuz-5.3.13-300.fc31.x86_64 root=/dev/mapper/fedora_localhost--live-root ro resume=/dev/mapper/fedora_localhost--live-swap rd.lvm.lv=fedora_localhost-live/root rd.lvm.lv=fedora_localhost-live/swap rhgb quiet
And this is how it looks after adding the 3 at the end of the line:
linux ($root)/vmlinuz-5.3.13-300.fc31.x86_64 root=/dev/mapper/fedora_localhost--live-root ro resume=/dev/mapper/fedora_localhost--live-swap rd.lvm.lv=fedora_localhost-live/root rd.lvm.lv=fedora_localhost-live/swap rhgb quiet 3
3. After doing this, press Ctrl + x or F10 to boot to console (text) mode.
To reboot your system while in console mode, use the reboot command ( sudo reboot ).
It’s worth noting that Debian and Ubuntu based Linux distributions (including Linux Mint, Elementary OS, Pop!_OS, Zorin OS, etc.) come with a recovery mode built into the GNU GRUB menu. So in case you use Debian / Ubuntu or some Linux distribution based on it, get to the GNU GRUB menu as explained above, then select Advanced options , and from the new list that comes up select the first entry that ends with (recovery mode) . Select this entry and hit the Enter key, and you’ll get to a menu that, among others, allows you to drop to root shell prompt — when selected, your system continues to boot to the command line and not a graphical user interface, allowing you to login using your root password. This allows access to the filesystem in read-only mode; for read-write use mount -o remount,rw / . Use this for example to reset a lost user / administrator password on Ubuntu, Linux Mint, Elementary OS, etc.
Case B. Permanently booting to text mode (console mode)
Getting your Linux system to always boot to console (text / tty) mode is as easy as running a single command:
sudo systemctl set-default multi-user.target
This command sets text mode as the default systemd target (runlevel as it used to be called before systemd). After running this command, reboot your system and it will automatically boot to console / text mode every time.
Don’t know the current systemd target used on your system? Use this command, which will show the currently set target:
Extra tip: using this, your Linux computer will boot to tty1 (text-only virtual console). You can switch to a different virtual console by using Ctrl + Alt + F2 for tty2, Ctrl + Alt + F3 for tty3, and so on until tty7.
In case you want to undo this change and get your Linux system to boot to the default graphical mode, use:
sudo systemctl set-default graphical.target
After using this command, reboot ( sudo reboot ) and your system should start in graphical mode, as it was by default.
5 причин, почему Linux так часто использует командную строку
Когда вы начнете использовать Linux, вы обнаружите, что система полагается на командную строку гораздо больше, чем другие операционные системы, несмотря на наличие многочисленных сред рабочего стола. Почему это?
Командная строка является неотъемлемой частью экосистемы Linux по многим причинам.
1. Когда разрабатывалась Unix, не было графического интерфейса
Хотя Linux — это не Unix, поскольку в нем нет системного кода, его поведение основано на нем, включая использование командной строки. Когда Unix разрабатывалась в Bell Labs в конце 60-х и начале 70-х годов, графического пользовательского интерфейса не существовало.
Большинство людей представляли свои программы на перфокартах, а немногие счастливчики могли взаимодействовать с системой с помощью терминала, как создатели Unix: Деннис Ритчи и Кен Томпсон.
Эти терминалы были либо телетайпами, либо видеотерминалами, которые представляли собой только экран и клавиатуру. Оба этих типа терминалов поддерживали только текст, а не графику.
Интерфейсы командной строки были естественными для терминалов такого типа. Использование текстовых терминалов также было основной причиной, по которой разработчики Unix предпочитали короткие имена команд, поскольку их было быстрее набирать.
2. Инструменты программирования используют командную строку
Программисты были самыми стойкими сторонниками Linux, потому что у него есть так много инструментов для выполнения своей работы: интерпретаторы, компиляторы и отладчики. И все эти инструменты работают в командной строке.
Хотя вы можете вызывать все это из графической IDE, это всего лишь внешний интерфейс для командной строки где-то.
3. Командная строка работает быстро
Многие пользователи Linux любят утверждать, что командная строка Linux работает быстрее, чем использование графического интерфейса. Программы командной строки запускаются быстрее, чем графические, потому что меньше накладных расходов.
Это одна из причин того, что, когда Linux впервые дебютировал на ПК, дистрибутивы по умолчанию использовали консольную среду. Менее мощные ПК той эпохи часто с трудом запускали X, по крайней мере, с небольшим объемом оперативной памяти, которым оснащались настольные системы.
4. Командная строка работает везде, в том числе и на серверах
Одна из основных причин того, что командная строка сохранилась в системах Linux, заключается в том, что она работает практически везде. Если X не нравится ваша видеокарта (проблема, которая также была более распространена в ранних системах Linux), вы окажетесь на консоли. Это означает, что вы можете вернуться к командной строке, когда вам нужно.
По этой причине принято устанавливать серверы Linux только с интерфейсом командной строки. Это позволяет более эффективно использовать сервер. В конце концов, нет необходимости в графическом интерфейсе, если его все равно никто не увидит.
Многие администраторы предпочитают удаленно входить в систему через SSH для управления своими серверами. Эти более низкие накладные расходы позволяют серверам Linux работать более эффективно, чем серверам Windows.
5. Для программ командной строки можно создавать сценарии
Одним из больших преимуществ программ командной строки перед графическими является то, что программисты могут их автоматизировать.
Если вы работаете с графическими программами, такими как файловые менеджеры, вы часто будете сталкиваться с повторяющимися операциями, такими как переименование файлов. Если у вас много файлов, это может стать утомительным с файловым менеджером с графическим интерфейсом. Оболочка позволяет использовать подстановочные знаки для создания списка файлов.
Если вы хотите скопировать все ваши текстовые файлы в каталог, вы должны использовать эту строку:
Вы также можете использовать языки сценариев для более сложных задач. В течение многих лет предпочтительным языком сценариев была оболочка. Преимущество оболочки в том, что вы можете использовать знакомые программы, которые вы использовали в командной строке в своих сценариях.
В то время как языки сценариев, такие как Perl и Python, используют библиотеки, также можно использовать стандартные программы Linux, если библиотеки не существует.
Теперь вы знаете, почему Linux так часто использует командную строку
Если вы были сбиты с толку тем, насколько важна командная строка для Linux, теперь вы знаете, насколько она важна для многих технических применений, таких как серверы и разработка. Это даже заставляет компьютер работать на вас, а не наоборот.
Если вы только начинаете работать с командной строкой Linux и чувствуете себя потерянным, прочтите дополнительные советы о том, как получить максимальную отдачу от вашей системы Linux с помощью оболочки.