- 7.10. Настройка консоли Linux
- Замечание
- Как определить и изменить командную оболочку (shell) в Linux
- Что такое командная оболочка
- Оболочки Linux
- Как определить текущую командую оболочку
- Способ 1
- Способ 2
- Способ 3
- Как посмотреть список оболочек, доступных в системе
- Как временно переключиться на другую оболочку
- Как изменить оболочку
- Заключение
- Настройка внешнего вида login’a в консоли GNU/Linux
- Изменяем внешний вид приветствия перед логином в Linux
- Удаляем сообщения о новой почте в Ubuntu, Linux Mint, Debian и т. д.
- Делаем Linux терминал красивым и удобным
- Добавляем функциональность
- Командная оболочка
- Настройка Zsh
- Настраиваем внешний вид
7.10. Настройка консоли Linux
Эта секция описывает настройку скрипта console , который устанавливает раскладку клавиатуры, шрифт консоли и уровень подробности информации, выводимой ядром на консоль. Если Вы не планируете использовать символы, не соответствующие стандарту ASCII (например, знак копирайта, символы фунта и евро), и собираетесь печатать только в английской раскладке, то можете пропустить большую часть секции. Без файла конфигурации (или эквивалентных настроек в rc.site ), скрипт console не будет ничего делать.
Скрипт console считывает конфигурацию из файла /etc/sysconfig/console . Решите для себя, какую раскладку клавиатуры и какой шрифт намерены использовать. Различные HOWTO для многих языков можно найти здесь: http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html. Если Вы все еще в сомнениях, посмотрите список доступных раскладок и шрифтов в директории /lib/kbd . Прочтите страницы руководства loadkeys(1) и setfont(8) , чтобы узнать необходимые аргументы для этих программ.
Файл /etc/sysconfig/console должен содержать строки в формате ПЕРЕМЕННАЯ=»значение». Допустимы следующие переменные:
Эта переменная задает уровень подробности сообщений, посылаемых ядром на системную консоль. Значение этой переменной передается в качестве аргумента утилите dmesg . Допустимы уровни от «1» (нет сообщений) до «8». По умолчанию «7».
Указывает аргументы для программы loadkeys , обычно имя раскладки, например, � es �. Если эта переменная не установлена, загрузочные скрипты не запустят loadkeys и будет использоваться раскладка по умолчанию.
Эта (крайне редко используемая) переменная задает аргументы для второго вызова программы loadkeys . Она полезна, если стандартная раскладка Вас не совсем удовлетворяет и Вы хотите немного ее подправить. Например, чтобы добавить символ евро в раскладку, которая его не содержит, присвойте этой переменной значение � euro2 �.
Задает аргументы для утилиты setfont . Обычно, она включает имя шрифта, � -m � и затем имя карты символов. Например, чтобы загрузить шрифт � lat1-16 � вместе с картой символов � 8859-1 � (неплохой вариант для США), присвойте переменной значение � lat1-16 -m 8859-1 �. В режиме UTF-8, ядро использует карту символов для преобразования 8-битных кодов нажатых клавиш из раскладке в UTF-8 и аргумент параметра «-m» должен указывать кодировку кодов клавиш в раскладке.
Присвойте этой переменной значение � 1 �, � yes � или � true �, чтобы переключить консоль в режим UTF-8. Это полезно при использовании локали, основанной на UTF-8, и не рекомендуется в иных случаях.
Для многих раскладок клавиатуры в пакете Kbd не существует готового Unicode-варианта. Скрипт console будет на лету конвертировать имеющуюся раскладку в UTF-8, если привоить этой переменной имя доступной не-UTF-8 раскладки.
Для не-Unicode настройки необходимы только переменные KEYMAP и FONT. Например, для польских пользователей может подойти такой вариант:
Как упоминалось выше, иногда бывает необходимо подкорректировать раскладку. Следующий пример добавляет символ евро к немецкой раскладке:
Следующий пример — Болгарский язык в режиме Unicode, поскольку для этого языка существует UTF-8 раскладка:
Из-за использования 512-символьного шрифта LatArCyrHeb-16 в предыдущем примере, Вы не сможете использовать яркие цвета в консоли Linux без применения буфера кадров. Если Вы хотите использовать яркие цвета без буфера кадров и готовы прожить без символов, не относящихся к Вашему языку, Вы можете использовать специфичный для вашего языка 256-символьный шрифт, как показано ниже:
Следующий пример демонстрирует автоматическое преобразование раскладки из ISO-8859-15 в UTF-8 и включает «мертвые» клавиши в режиме Unicode:
Некоторые раскладки включают в себя «мертвые» клавиши (то есть клавиши, нажатие которых само по себе не приводит к появлению на экране символа, но которые влияют на символ, генерируемый следующей клавишей) или определяют слияние символов (например: � нажмите Ctrl+. A E, чтобы получить � � в раскладке по умолчанию). Linux-3.8.1 правильно интерпретирует «мертвые» клавиши и слияния, только когда исходные символы имеют 8-битные коды. Эта особенность не влияет на раскладки для европейских языков, поскольку в них «сливаются» два ASCII-символа или добавляются подчеркивания к неподчеркнутым ASCII-символам. Однако, в режиме UTF-8 могут быть проблемы, например, для греческого языка, когда необходимо подчеркнуть символ � alpha �. Решением в этой ситуации будет отказ от использования UTF-8 или установка графической системы X Window, не имеющих подобных ограничений.
Для китайского, японского, корейского и некоторых других языков невозможно насторить консоль Linux так, чтобы она отображала все необходимые символы. Пользователи, которым требуются эти языки, должны установить систему X Window, шрифты, покрывающие необходимый диапазон символов, и правильный метод ввода (например, SCIM, он поддерживает большое число разнообразных языков).
Замечание
Файл /etc/sysconfig/console управляет только локализацией текстовой консоли Linux. Он никак не влияет на настройки раскладки клавиатуры и шрифтов в системе X Window, в сессиях SSH или на последовательном терминале. В этих ситуациях ограничения, описанные в двух расположенных выше абзацах, не применяются.
Источник
Как определить и изменить командную оболочку (shell) в Linux
Что такое командная оболочка
Командная оболочка или командный интерпретатор в Linux — это программа, которая в текстовой среде выступает в качестве интерфейса между пользователем и операционной системой. Она интерпретирует вводимые команды с терминала и вызывает необходимые программы.
Когда вы работаете в терминале, именно командная оболочка обрабатывает вводимые вами команды. Более того, оболочки Linux поддерживают написание программ на языке оболочки.
Оболочки Linux
Одна из самых популярных командных оболочек — это оболочка Bash (Bourne Again Shell). Она используется по умолчанию в большинстве дистрибутивов Linux.
Существуют разные оболочки Linux. Можно отметить:
- bash
- csh
- dash
- fish
- ksh
- pdksh
- rbash
- sh
- tcsh
- zsh
Оболочки могут очень сильно отличаться друг от друга. Они отличаются функциональностью, синтаксисом команд, строкой приветствия, дружелюбностью к пользователю и другими параметрами и возможностями.
Как определить текущую командую оболочку
Есть несколько способов определить оболочку, используемую по умолчанию в вашей системе Linux. Рассмотрим несколько из них, так как в разных системах (и оболочках) какие-то способы могут не сработать.
Также нужно знать, что у разных пользователей системы могут использоваться разные оболочки.
Способ 1
Переменная окружения SHELL хранит путь до исполняемого файла оболочки. Выполним команду:
Из вывода команды, мы видим, что используется оболочка bash.
Способ 2
Также можно воспользоваться командой echo $0 . Данная команда выведет на экран имя текущего работающего процесса, внутри которого она выполнена. Так как мы выполняем команду внутри оболочки, то будет выведено имя оболочки.
Способ 3
Определим, работающий процесс оболочки командой ps.
Как посмотреть список оболочек, доступных в системе
Список оболочек, которые в данный момент установлены и доступны в системе Linux, хранится в файле /etc/shells
Выведем содержимое файла /etc/shells , для этого выполняем команду:
Как временно переключиться на другую оболочку
Чтобы временно переключиться на другую оболочку, достаточно выполнить в терминале команду, соответствующую ее имени. После этого вы переключитесь на новую оболочку.
Например, переключимся на оболочку sh. Выполняем команду:
Как изменить оболочку
Для изменения командной оболочки на постоянной основе служит команда chsh (от слов change shell).
Чтобы изменить оболочку текущего пользователя нужно выполнить команду:
В качестве параметра путь_новой_оболочки необходимо указать путь до исполняемого файла оболочки, который вы можете найти в файле /etc/shells (см. выше).
Например, изменим оболочку на sh. Для этого выполняем команду (при выполнении команды нужно будет ввести пароль):
После этого нужно выйти и снова войти в систему.
Чтобы изменить оболочку, используемую по умолчанию, для другого пользователя, то команде chsh необходимо указать имя этого пользователя:
Заключение
Мы рассмотрели, как определить текущую оболочку Linux, как просмотреть список доступных оболочек, а также как изменить оболочку, используемую по умолчанию.
Чтобы получить информацию о какой-либо оболочке (доступной в системе) можно воспользоваться Man-страницами. Например:
Дополнительные оболочки можно устанавливать средствами системы (из репозиториев). Например, для установки оболочки fish в Ubuntu Linux, выполните команду
Источник
Настройка внешнего вида login’a в консоли GNU/Linux
Если не установлена графическая оболочка, то после загрузки дистрибутива GNU/Linux встречает приветствие консоли с просьбой ввести имя пользователя и пароль. Запускается весь этот процесс обычно программкой /bin/agetty. Вывод работы которой можно разделить на три части:
- Различная информация, которую оставили создатели дистрибутива. Её пользователь видит перед входом в систему. К примеру, в Debian это достаточно большое приветствие, содержащее полезные и не очень вещи.
- Собственно строка вида:
имя_хоста login: Где необходимо ввести имя пользователя и пароль. В данном случае запускается утилита /bin/login. - Различные сообщения системы после входа пользователя. К ним относятся уведомления о новой почте в Ubuntu, Debian и других дистрибутивах.
К сожалению, как изменить представление работы программы /bin/login я не знаю. Ну если только через правку исходного кода. С остальным же всё проще.
Изменяем внешний вид приветствия перед логином в Linux
За строчки перед “имя_хоста login:” отвечает содержимое файла /etc/issue. Для внешних сетевых соединений (в том числе по ssh) есть файл /etc/issue.net. В эти два файла можно записывать как произвольные сообщения, так и специальные символы. Начинаются они с обратного слеша или , а оканчиваются на какую-нибудь латинскую букву. При обработке утилитой /bin/agetty они заменяются на определённую последовательность букв или цифр (к примеру, вместо r будет показана версия ядра Linux системы).
Специальные символы, используемые в файле /etc/issue | |
---|---|
Символ | Значение |
b | Скорость передачи текущей консоли |
d | Актуальная дата |
s | Название дистрибутива |
l | Имя конкретной консоли |
m | Архитектура ОС |
n | Имя хоста |
o | Доменное имя |
r | Версия ядра Linux |
t | Время |
u | Количество пользователей, вошедших в систему. |
U | Строка вида “N users”, где N – число из предыдущего пункта (u) |
v | Версия операционной системы, к примеру время-дата сборки |
Если файл /etc/issue содержит следующие строки:
Welcome to Ozi-Linux (/r)! d t
То перед строкой входа в систему будет показано примерно это:
Welcome to Ozi-Linux (4.7.0-1)! Tue Aug 9 2016 22:01:51
Удаляем сообщения о новой почте в Ubuntu, Linux Mint, Debian и т. д.
Для этого необходимо создать пустой файл .hushlogin в домашней папке пользователя:
$ touch
Кроме того, не будут отображаться и другие уведомления от системы, которые были бы показаны сразу после входа в систему. Однако могут показываться сообщения, содержащиеся в конфигурационных файлах bash.
Источник
Делаем Linux терминал красивым и удобным
Добавляем функциональность
Командная оболочка
Большинство дистрибутивов поставляется со встроенным Bash. Используя дополнения можно сделать из него все что захотите, но гораздо проще этого добиться с Zsh. Почему?
Настройка Zsh
Для начала, установим Zsh (если он уже установлен, например, как в Manjaro, можете пропустить этот пункт):
Когда вам предложат установить Zsh как оболочка по-умолчанию, нажмите Y , чтоб подтвердить.
Oh-My-Zsh — популярный и активно развивающийся фреймворк Zsh, который позволяет гибко настроить оболочку терминала. Установим его:
Подсветка синтаксиса. Гораздо проще ориентироваться по содержимому терминала, когда разные части команд подсвечены разными цветами. Например, директории будут подчеркиваться, а команды — выделяться цветом, отличным от обычного текста. Установим плагин zsh-syntax-highlighting :
Чтоб плагин заработал, его надо подключить.
/.zshrc меняем строку с plugins= :
Если такой строки нет — добавьте её.
Готово! Получаем удобный и функциональный терминал. Теперь сделаем его визуально приятным.
Настраиваем внешний вид
Скачиваем и добавляем в систему шрифт JetBrains Mono Nerd (c иконками):
Выберитеодин из списка, в папке шрифт/complete выберите шрифт без «Windows Compatible», с окончанием «Mono».
Подключаем шрифт и тему.
Если в файле эти строки уже есть — замените их.
Цвета. Важная часть оформления терминала — цветовая схема. Я перебрал много разных схем, редактировал их, остановился на Monokai Dark. Не режет глаза, но при этом приятная и яркая. Список цветов:
В разных терминалах по-разному меняется цветовая схема (обычно, это делается через настройки терминала), но порядок цветов везде одинаковый. Вы можете импортировать этот шаблон в формате Termite и экспортировать его для вашего терминала через terminal.sexy
Запускаем конфигурацию темы: p10k configure .
Настройте тему, выбирая варианты отображения, которые вам больше нравятся.
Финальный штрих — меняем конфиг темы и заменяем встроенные цвета.
Если в файле эти строки уже есть — замените их. Коды цветов можно получить командой
- Отображение только текущей директории:
Источник