- Как настроить шрифт в терминале Linux
- Как изменить шрифт в терминале Linux
- 1. Выбор шрифта
- 2. Увеличение размера шрифта
- Лучшие шрифты для терминала
- 1. JetBrains Mono
- 2. Roboto Mono
- 3. Inconsolata
- 4. Terminus
- 5. Envy Code R
- Выводы
- Linux console
- Implementation
- Virtual consoles
- Text mode
- Framebuffer console
- Keyboard shortcuts
- Fonts
- Preview and temporary changes
- Persistent configuration
- HiDPI
- Audible tones
- See also
Как настроить шрифт в терминале Linux
Операционная система Linux славится своей гибкостью, именно поэтому на ее базе существует столь внушительное количество дистрибутивов, каждый из которых подходит для разных задач. Но в большинстве случаев основное взаимодействие в них осуществляется через терминал. Поэтому важно, чтобы все команды в нем удобно читались, а размер текста был достаточно комфортным. И тут у каждого пользователя свои предпочтения.
В данной статье мы разберемся, как настроить шрифт для терминала Ubuntu, и предложим на выбор несколько самых удачных из них, которые многим понравятся.
Как изменить шрифт в терминале Linux
По умолчанию в дистрибутиве Ubuntu уже встроено множество шрифтов, которые можно применить для терминала. Делается это со страницы параметров. Там же доступно изменение других параметров, например, увеличение или уменьшение размера текста.
Сначала речь пойдет о выборе шрифта из списка предусмотренных в системе, затем – о изменении его размера для более удобного чтения, а в конце статьи будет список лучших шрифтов для терминала, которые можно установить отдельно.
1. Выбор шрифта
Для начала следует открыть окно терминала. В случае с Ubuntu это удобно делать одновременным нажатием Ctrl + Shift + T на клавиатуре. Далее, вызовите основное меню, кликнув по иконке с 3 полосами в правом верхнем углу. А затем выберите пункт Параметры, чтобы переместиться к настройкам.
Теперь перейдите к профилю Безымянный, расположенному в левом блоке, и активируйте пункт Пользовательский шрифт.
Теперь кликните по шрифту справа, открыв полный список доступных вариантов. Воспользуйтесь функцией поиска, чтобы добраться до нужного, или просто перебирайте их по очереди. Следить за итоговым видом текста можно в графе под списком. А для того чтобы выбрать шрифт в терминале Ubuntu нажмите кнопку Выбрать.
Самые распространенные начертания: Regular – обычный, Bold – жирный, Italic – курсив.
2. Увеличение размера шрифта
Регулировать размер текста получится в том же окне, где вы выбирали шрифт. Достаточно перемещать нижний ползунок в сторону увеличения или уменьшения. Также можно пользоваться специальными иконками или задать любое значение вручную, введя нужное число.
На будущее вы можете создать новый профиль настроек терминала, чтобы быстро переключаться между разными шрифтами и размерами. Для этого кликните по иконке плюс рядом с графой Профили. Затем укажите для него любое название и нажмите Создать.
Остается только настроить все параметры по своему усмотрению. Чтобы быстро переключиться между профилями, достаточно кликнуть правой клавишей мыши по окну терминала и выбрать соответствующий вариант для пункта Профили.
Теперь вы знаете как увеличить шрифт в терминале Ubuntu.
Лучшие шрифты для терминала
Вполне может быть такое, что изначально присутствующие шрифты вам не подойдут. В таком случае имеет смысл установить другие, например, найдя интересный вариант на просторах Интернета. Детальная инструкция по этой процедуре описана в отдельной статье.
А сейчас в качестве примера мы возьмем несколько интересных начертаний и объясним, как их поставить. После установки шрифта нужно перезапустить терминал и применить его через Параметры, как это было описано выше.
1. JetBrains Mono
На официальном сайте указано, что это шрифт специально для разработчиков. Скачать его выйдет прямиком из окна терминала.
А затем распакуйте содержимое архива в системный каталог usr, если планируется его использование для всех пользователей.
sudo unzip JetBrainsMono-2.242.zip -d /usr/share
А вот команда для установки шрифта на одного пользователя:
sudo unzip JetBrainsMono-2.242.zip -d ~/.local/share
2. Roboto Mono
Этот шрифт удобно скачивать через сайт Google Fonts. Перейдите на эту страницу, кликните по кнопке Download family и сохраните архив.
Далее, откройте его и дважды кликните по любому файлу с расширением .ttf.
В новом окошке нажмите кнопку Установить.
Повторите это действие и со вторым ttf-файлом.
3. Inconsolata
Как и в предыдущем случае, для загрузки шрифта можно использовать сервис Google Fonts.
4. Terminus
Данный шрифт можно загрузить в виде отдельного пакета.
sudo apt-get install fonts-terminus
5. Envy Code R
Сначала нужно скачать шрифт с официального сайта:
Остается распаковать архив в подходящий каталог. Если шрифт нужен только для одного пользователя, то выполните команду:
sudo unzip EnvyCodeR-PR7.zip -d ~/.local/share/fonts
А для всех пользователей шрифт устанавливается так:
sudo unzip EnvyCodeR-PR7.zip -d /usr/share/fonts
Выводы
Исходный шрифт в терминале Ubuntu подходит далеко не для всех пользователей. Поэтому в окне параметров предусмотрено несколько вариантов на выбор, а также присутствует возможность регулировки размера букв. Кроме того, можно самостоятельно найти в Интернете подходящий шрифт и установить его.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
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.
Implementation
This article or section needs expansion.
Reason: In what ways is the Linux console limited compared to terminal emulators? (Discuss in Talk:Linux console)
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
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 (with vga=0 nomodeset ) 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+Left | Switch to previous virtual console |
Alt+Right | 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
Note: This section is about the Linux console. For alternative console solutions offering more features (full Unicode fonts, modern graphics adapters etc.), see KMSCON or similar projects.
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.
By default, the virtual console uses the kernel built-in font with a CP437 character set[1], but this can be easily changed. The kernel offers about 15 built in fonts to choose from, from which the officially supported kernels provide two: VGA 8×16 font ( CONFIG_FONT_8x16 ) and Terminus 16×32 font ( CONFIG_FONT_TER16x32 ). The kernel chooses the one to use based on its evaluation of the screen resolution. Another builtin font can be forced upon by kernel parameters boot parameter setting such as fbcon=font:TER16x32 .
The kbd package provides tools to override the kernel decision for virtual console font and font mapping. Available fonts are provided 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.
Note: Replacing the font can cause issues with programs that expect a standard VGA-style font, such as those using line drawing graphics.
Tip: For European based languages written in Latin/Greek letters, you can use the eurlatgr font. It includes a broad range of Latin/Greek letter variations as well as special characters [2].
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.:
$ setfont -h8 /usr/share/kbd/consolefonts/drdos8x8.psfu.gz
To have a bigger font, the Terminus font ( terminus-font ) is available in many sizes, such as ter-132b which is large.
Note: setfont only works on the console currently being used. Any other consoles, active or inactive, remain unaffected.
Persistent configuration
The FONT variable in /etc/vconsole.conf is used to set the font at boot, persistently for all consoles. See vconsole.conf(5) for details.
For displaying characters such as Č, ž, đ, š or Ł, ę, ą, ś using the font lat2-16.psfu.gz :
It means that second part of ISO/IEC 8859 characters are used with size 16. You can change font size using other values (e.g. lat2-08 ). For the regions determined by 8859 specification, look at the Wikipedia:ISO/IEC 8859#The parts of ISO/IEC 8859.
Since mkinitcpio v33, the font specified in /etc/vconsole.conf gets automatically loaded during early userspace by default via the consolefont hook, which adds the font to the initramfs. See Mkinitcpio#HOOKS for more information.
You may also need to restart systemd-vconsole-setup.service after changing /etc/vconsole.conf .
If the fonts appear to not change on boot, or change only temporarily, it is most likely that they got reset when graphics driver was initialized and console was switched to framebuffer. By default, all in-tree kernel drivers are loaded early, NVIDIA users should see NVIDIA#Early loading to load their graphics driver before /etc/vconsole.conf is applied.