- Linux console
- Contents
- Implementation
- Virtual consoles
- Text mode
- Framebuffer console
- Keyboard shortcuts
- Fonts
- Preview and temporary changes
- Linux console (Русский)
- Contents
- Реализация
- Виртуальные консоли
- Текстовый режим
- Framebuffer консоль
- Горячие клавиши
- Шрифты
- Предпросмотр и временные изменения
- Постоянные изменения
- Help:Reading (Русский)
- Contents
- Организация
- Форматирование
- Обычный пользователь или root
- Добавить, создать, редактировать
- Сделать исполняемым
- Source
- Установка пакетов
- Официальные пакеты
- Репозиторий пользователей Arch (AUR)
- Управление юнитами systemd
- Общесистемные или пользовательские настройки
- Общие файлы оболочек
- Псевдо-переменные в примерах кода
- Многоточие
Linux console
The Linux console is a system console internal to the Linux kernel. The Linux console provides a way for the kernel and other processes to send text output to the user, and to receive text input from the user. The user typically enters text with a computer keyboard and reads the output text on a computer monitor. The Linux kernel supports virtual consoles — consoles that are logically separate, but which access the same physical keyboard and display.
This article describes the basics of the Linux console and how to configure the font display. Keyboard configuration is described in the /Keyboard configuration subpage.
Contents
Implementation
This article or section needs expansion.
The console, unlike most services that interact directly with users, is implemented in the kernel. This contrasts with terminal emulation software, such as Xterm, which is implemented in user space as a normal application. The console has always been part of released Linux kernels, but has undergone changes in its history, most notably the transition to using the framebuffer and support for Unicode.
Despite many improvements in the console, its full backward compatibility with legacy hardware means it is limited compared to a graphical terminal emulator.
Virtual consoles
The console is presented to the user as a series of virtual consoles. These give the impression that several independent terminals are running concurrently; each virtual console can be logged in with different users, run its own shell and have its own font settings. The virtual consoles each use a device /dev/ttyX , and you can switch between them by pressing Alt+Fx (where x is equal to the virtual console number, beginning with 1). The device /dev/console is automatically mapped to the active virtual console.
Text mode
This article or section needs expansion.
Since Linux originally began as a kernel for PC hardware, the console was developed using standard IBM CGA/EGA/VGA graphics, which all PCs supported at the time. The graphics operated in VGA text mode, which provides a simple 80×25 character display with 16 colours. This legacy mode is similar to the capabilities of dedicated text terminals, such as the DEC VT100 series. It is still possible to boot in text mode if the system hardware supports it, but almost all modern distributions (including Arch Linux) use the framebuffer console instead.
Framebuffer console
As Linux was ported to other non-PC architectures, a better solution was required, since other architectures do not use VGA-compatible graphics adapters, and may not support text modes at all. The framebuffer console was implemented to provide a standard console across all platforms, and so presents the same VGA-style interface regardless of the underlying graphics hardware. As such, the Linux console is not a terminal emulator, but a terminal in its own right. It uses the terminal type linux , and is largely compatible with VT100.
Keyboard shortcuts
Keyboard Shortcut | Description |
---|---|
Ctrl+Alt+Del | Reboots the system (specified by the symlink /usr/lib/systemd/system/ctrl-alt-del.target ) |
Alt+F1 , F2 , F3 , . | Switch to n-th virtual console |
Alt+ ← | Switch to previous virtual console |
Alt+ → | Switch to next virtual console |
Scroll Lock | When Scroll Lock is activated, input/output is locked |
Ctrl+c | Kills current task |
Ctrl+d | Inserts an EOF |
Ctrl+z | Pauses current Task |
Fonts
This article or section needs expansion.
By default, the virtual console uses the kernel built-in font with a CP437 character set, [1] but this can be easily changed.
The Linux console uses UTF-8 encoding by default, but because the standard VGA-compatible framebuffer is used, a console font is limited to either a standard 256, or 512 glyphs. If the font has more than 256 glyphs, the number of colours is reduced from 16 to 8. In order to assign correct symbol to be displayed to the given Unicode value, a special translation map, often called unimap, is needed. Nowadays most of the console fonts have the unimap built-in; historically, it had to be loaded separately.
The kbd package provides tools to change virtual console font and font mapping. Available fonts are saved in the /usr/share/kbd/consolefonts/ directory, those ending with .psfu or .psfu.gz have a Unicode translation map built-in.
Keymaps, the connection between the key pressed and the character used by the computer, are found in the subdirectories of /usr/share/kbd/keymaps/ , see /Keyboard configuration for details.
Preview and temporary changes
shows a table of glyphs or letters of a font.
setfont temporarily change the font if passed a font name (in /usr/share/kbd/consolefonts/ ) such as
Font names are case-sensitive. With no parameter, setfont returns the console to the default font.
So to have a small 8×8 font, with that font installed like seen below, use e.g.:
To have a bigger font, the Terminus font ( terminus-font ) is available in many sizes, such as ter-132n which is large.
Источник
Linux console (Русский)
Linux консоль — консоль, реализованная в ядре Linux, стала первой функциональностью ядра, разработанной в 1991 году. Является способом взаимодействия с пользователем — позволяет ядру и другим процессам отправлять пользователю текстовые данные, а также получать данные, введённые пользователем. Обычно для ввода используется клавиатура, а для вывода – монитор. Linux-консоль поддерживает так называемые виртуальные консоли — консоли, которые отделены логически, но используют те же клавиатуру и дисплей.
Данная статья описывает основы консоли Linux и как настроить отображения шрифтов. Настройка клавиатуры описана в подстранице Конфигурация клавиатуры в консоли.
Contents
Реализация
Консоль, в отличии от сервисов которые взаимодействуют с пользователем напрямую, является частью ядра системы. Это отличает ее от эмуляторов терминала, таких как xterm (Русский), которые реализованы на уровне пользовательского пространства и являются обычными приложениями. Консоль оставалась компонентом ядра Linux, но имела заметные изменения, такие как графический вывод (framebuffer) и поддержка Юникода.
Не смотря на все усовершенствования консоли, она до сих пор имеет полную обратную совместимость с прежним оборудованием, ограниченным в своих возможностях по сравнению с графическими эмуляторами терминала.
Виртуальные консоли
Консоль в представлении пользователя это набор виртуальных консолей. Они создают впечатление параллельной работы нескольких терминалов: в каждую из виртуальных консолей могут быть залогинены разные пользователи. Они могут работать в своих оболочках и иметь собственные настройки шрифтов. Каждая консоль использует устройство /dev/ttyX и вы можете переключится между ними сочетанием клавиш Alt+FX , где X номер виртуальной консоли начиная с 1. Устройство /dev/console автоматически привязывается к активной виртуальной консоли.
Текстовый режим
Изначально Linux был создан как ядро для управления оборудованием ПК, консоль была разработана по стандартам IBM CGA/EGA/VGA, которые поддерживали на тот момент все ПК. Графические возможности, предоставляемые этим стандартом предоставляли простое отображение 80*25 сетки символов с поддержкой 16 цветов. Этот устаревший режим был похож на принцип работы текстовых терминалов, таких как VT100. Все еще существует возможность загрузиться в текстовом режиме, если оборудование поддерживает его, но большинство современных дистрибутивов (в том числе Arch Linux) используют framebuffer консоль.
Framebuffer консоль
Так как Linux был портирован на различные архитектуры, которые не использовали VGA-совместимых графических адаптеров и не поддерживали текстовый режим, требовалась другая реализация. Framebuffer консоль была разработана для предоставления стандартной консоли среди всех доступных платформ и представляла собой VGA-подобный интерфейс независимый от используемого графического оборудования. Таким образом, консоль Linux — это не эмулятор терминала, а сам по себе терминал. Она использует тип терминала linux и в значительной мере совместима с VT100.
Горячие клавиши
Горячие клавиши | Описание |
---|---|
Ctrl+Alt+Del | Перезапускает систему (указанно символической ссылкой /usr/lib/systemd/system/ctrl-alt-del.target ) |
Alt+F1 , F2 , F3 , . | Переключает на n-ую виртуальную консоль |
Alt+ ← | Переключает на предыдущую виртуальную консоль |
Alt+ → | Переключает на следующую виртуальную консоль |
Scroll Lock | Когда Scroll Lock активен, ввод и вывод заблокированы |
Ctrl+c | Закрывает текущую задачу |
Ctrl+d | Вставляет EOF |
Ctrl+z | Прерывает текущую задачу |
Шрифты
По стандарту, виртуальная консоль использует встроенный в ядро шрифт с набором символов CP437 [1] , но это можно изменить.
Linux консоль по умолчанию использует кодирование UTF-8, но из-за особенностей VGA-совместимого framebuffer, консольный шрифт ограничен стандартными 256 или 512 глифами. Если в шрифте более чем 256 глифов, то количество цветов уменьшается с 16 до 8. Для корректного отображения нужного символа требуется специальная карта трансляции, называемая unimap. В настоящее время большинство консольных шрифтов имеют встроенную unimap, но исторически она загружалась отдельно.
Пакет kbd предоставляет инструменты для смены шрифта и его отображения в виртуальной консоли. Доступные шрифты находятся в директории /usr/share/kbd/consolefonts/ . Шрифты с расширением .psfu или .psfu.gz имеют встроенную карту трансляций Юникод.
Списки раскладок, являющиеся связью между нажатой клавишей и символом используемым системой, находятся в директории /usr/share/kbd/keymaps/ , подробности смотрите на странице Конфигурация клавиатуры в консоли.
Предпросмотр и временные изменения
Показывает таблицу глифов или символов шрифта.
setfont временно меняет шрифт, если команде передано имя шрифта (находящегося в директории /usr/share/kbd/consolefonts/ ), например:
Название шрифта чувствительно к регистру. Без параметров setfont возвращает консоли стандартный шрифт.
Для смены на маленький шрифт размера 8×8, можете использовать данный шрифт:
Для большого шрифта, можете рассмотреть шрифт terminus-font , он доступен в различных размерах. Например ter-132n .
Постоянные изменения
Переменная FONT в /etc/vconsole.conf используется для применения шрифта при загрузке системы для всех консолей. Смотрите vconsole.conf(5) для деталей.
Для отображения символов Č, ž, đ, š or Ł, ę, ą, ś используйте шрифт lat2-16.psfu.gz :
Вторая часть набора символов ISO/IEC 8859 будет размера 16. Вы можете поменять размер шрифта используя другие значения (например lat2-08 ). Для регионов определяемых спецификацией ISO 8859, смотрите Части ISO 8859
Источник
Help:Reading (Русский)
Поскольку подавляющее большинство статей в ArchWiki содержит указания, не совсем понятные для новых пользователей Arch Linux (или GNU/Linux в целом), было решено написать это краткое изложение основных процедур во избежание путаницы при чтении, а также для уменьшения количества повторений в самом содержании статей.
Contents
Организация
Большинство статей в ArchWiki не предоставляет целостного погружения в конкретную тему, они пишутся в соответствии с принципом DRY и предположением, что пользователь самостоятельно найдет и прочитает необходимые дополнительные материалы по тем темам, которые ему непонятны. Там, где это возможно, ссылки на такие материалы приведены в самих статьях при помощи специального форматирования, смотрите #Форматирование.
Вследствие такой организации, чтобы лучше усвоить материал, может потребоваться изучить несколько относящихся к теме источников. В частности, новые в Arch (или GNU/Linux в целом) пользователи должны читать большое количество статей даже при решении простых проблем. Прежде чем обращаться к другим пользователям за помощью, особенно важно изучить дополнительную информацию.
Форматирование
- ссылка на раздел в текущей статье: #Организация
- ссылка на другую статью ArchWiki
- ссылка на внешний веб-ресурс)
- ссылка на man-страницу: intro(1)
- man-страница, доступная только без сети: foo(1)
- ссылка на пакет, находящийся в официальных репозиториях: foobar
- ссылка на пакет, находящийся в AUR: foobarAUR
Обычный пользователь или root
Есть строки написанные так:
А есть с другим префиксом:
Цифры или знак ( # ) указывает на то, что команда должна быть запущена от root, в то время как знак доллара ( $ ) показывает что команда должна быть запущена от имени обычного пользователя.
Заметьте следующее исключение:
В этом примере, знак # говорит что это не будет командой; вместо этого он должен быть отредактирован в файле. Так как в данном случае знак # означает комментарий. Комментарий может содержать пояснительный текст, который не будет выполняться соответствующей программой. Обозначение комментариев в скриптах Bash совпадает с PS1 суперпользователя.
Дополнительным указанием на комментарий является заглавная буква после знака # . Обычно, команды Unix не написаны таким образом и в большинстве случаев они являются короткими аббревиатурами вместо полных Английских слов (например, Copy становится cp).
Несмотря на это, большинство статей даёт это легко распознать, уведомив читателя:
Добавить, создать, редактировать
Когда вам будет предложено добавить, создать или отредактировать один или несколько файлов, в этом случае предполагается использование одного из следующих методов.
Для создания или изменения текстовых файлов предлагается использовать текстовый редактор. Например, nano, команда для редактирования файла /etc/bash.bashrc :
Чтобы создать или перезаписать файл из терминала, проще использовать перенаправление выводаWikipedia:ru:Перенаправление_ввода-вывода. В следующем примере создается или перезаписывается содержимое файла /etc/hostname содержимым файла myhostname .
Также перенаправление вывода можно использовать для добавления строки в файл. В примере строка [custom-repo] добавляется в файл /etc/pacman.conf .
Когда просят создать каталог(и), используйте команду mkdir:
Сделать исполняемым
После создания файла предназначеного для запуска в виде скрипта (вручную или другой программой) необходимо сделать его исполняемым, например:
Для получения дополнительной информации смотрите chmod. Некоторые приложения, такие как файловый менеджер могут предоставлять графический интерфейс для настройки этого.
Source
Некоторые приложения, в частности командные оболочки, используют скрипты для их настройки: после их изменения, они должны быть sourced (прочитаны) чтобы принять изменения. Например, в случае с bash, это делается путём выполнения (вы также можете заменить source с . ):
Когда статья предложит изменить скрипт настроек, она не будет напоминать вам о выполнении команды source для файла, и только в некоторых случаях вам будет указан ссылкой этот раздел.
Установка пакетов
Когда статья предлагает установить какие-либо пакеты обычным способом, там не будут описаны подробные инструкции. Вместо них будут имена пакетов, которые нужно установить.
Приведенные ниже подразделы дают обзор общих процедур установки в зависимости от типа пакета.
Официальные пакеты
Для получения пакетов из официальных репозиториев вы увидите нечто похожее:
Это означает, что вы должны запустить:
Статья pacman содержит подробные инструкции как правильно управлять пакетами в Arch Linux.
Репозиторий пользователей Arch (AUR)
Для получения пакетов из AUR (Пользовательского Репозитория Arch) вы увидите примерно такое:
Это означает, что вы должны перейти по ссылке имя_пакета AUR , скачать архив PKGBUILD, распаковать его, проверить содержание, и запустить в этой же папке:
Статья Пользовательский репозиторий Arch содержит все подробные объяснения и лучшие методы работы с пакетами AUR.
Управление юнитами systemd
Когда статья говорит запустить, включить, остановить или перезапустить какой-то юнит systemd (например service (службу)), в статье не будут указаны подробные инструкции как это сделать, вместо этого вы будете читать примерно такое:
Это означает, что вы должны выполнить:
Ссылка Запустить приведёт вас к статье systemd, которая содержит все подробные пояснения по правильному использованию юнитов systemd в Arch Linux.
Общесистемные или пользовательские настройки
Важно помнить, что существуют два разных вида настроек в системе GNU/Linux. Общесистемная настройка влияет на всех пользователей. Поскольку общесистемные настройки расположены как правило в каталоге /etc , нужны права суперпользователя (root) чтобы их менять. Например, для применения настроек Bash которые затронут всех пользователей, должен быть изменён /etc/bash.bashrc .
Пользовательские настройки затрагивают только конкретного пользователя. Файл с точкой (.файл) используется для настроек конкретного пользователя. Например файл
/.bashrc является пользовательским (для конкретного пользователя) файлом настроек. Идея заключается в том, что каждый пользователь может задать свои собственные настройки, такие как псевдонимы (alias), функции и другие интерактивные черты, как строка приглашения (prompt), не затрагивая предпочтения других пользователей.
/ и $HOME представляют собой ярлыки для домашнего каталога пользователя, обычно /home/Имя_пользователя/ .
Общие файлы оболочек
Bash и другие Bourne-совместимые оболочки, как Zsh, также содержат зависимые исходные файлы, смотря какая оболочка представлена, оболочка входа или интерактивная оболочка. Для подробностей смотрите Bash (Русский)#Файлы настроек и Zsh (Русский)#Файлы Запуска/Завершения.
Псевдо-переменные в примерах кода
Некоторые блоки кода могут содержать так называемые псевдо-переменные, которые, как следует из названия, не являются фактическими переменными, используемые в коде. Вместо этого они представляют собой место для заполнения и должны быть вручную заменены на конкретный системный элемент конфигурации до того, как код может быть запущен или внедрён. Общие оболочки, такие как bash и zsh, обеспечивают автодополнение по табу (tab) для параметров общих команд, таких как systemctl.
В статьях, которые соответствуют Help:Style/Formatting and punctuation, псевдо-переменные оформлены курсивом. Например:
- Включить dhcpcd@interface_name.service для сетевого интерфейса выявленного командой ip link .
В этом случае interface_name используется в качестве псевдо-переменной которую нужно заполнить в блоке юнита systemd. Все шаблоны юнитов systemd, опознаются знаком @ , требующим элемент конфигурации конкретной системы как аргумент. Смотрите Systemd (Русский)#Использование юнитов.
- Команда dd if=data_source of=/dev/sdX bs=sector_size count=sector_number seek=partitions_start_sector может быть запущена от суперпользователя, чтобы уничтожить раздел с конкретными параметрами.
В этом случае псевдо-переменные используются для описания параметров, которые должны быть заменены на них. Подробное описание этих параметров, включая команду, рассматривается в разделе Securely wipe disk#Calculate blocks to wipe manually.
В случае файла примеров, вставляя псевдо-переменные в реальный файл настроек, можно испортить работу программы которая его использует.
Многоточие
В большинстве случаев многоточие ( . ) не является частью фактического содержимого файла или вывода кода, и используются вместо отображения кода или дополнительного текста, который не относится к обсуждаемой теме.
Например HOOKS=». encrypt . filesystems . » или:
Имейте в виду, что в некоторых случаях многоточие может быть значимой частью синтаксиса кода: внимательные пользователи смогут легко распознавать эти случаи по контексту.
Источник