- Настройка внешнего вида login’a в консоли GNU/Linux
- Изменяем внешний вид приветствия перед логином в Linux
- Удаляем сообщения о новой почте в Ubuntu, Linux Mint, Debian и т. д.
- Создание приветствия после запуска Linux Terminal
- Основные команды
- Редактирование .bashrc
- Исходный код
- Настройка приглашения командной строки в Bash
- В какой переменной задается приглашение
- Как изменить приглашение (только для данной сессии)
- Настройка приглашения
- Примеры
- Пример 1
- Пример 2
- Пример 3
- Как изменить цвета в строке приглашения
- Примеры
- Пример 1
- Пример 2
- Как изменить приглашение на постоянной основе
- Меняем приветствие в терминале 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 ~/.hushlogin
Кроме того, не будут отображаться и другие уведомления от системы, которые были бы показаны сразу после входа в систему. Однако могут показываться сообщения, содержащиеся в конфигурационных файлах bash.
Создание приветствия после запуска Linux Terminal
Привет! Сегодня я расскажу вам, как создать приветствие после запуска Linux Terminal.
mkdir welcome-script cd welcome-script/
После этого необходимо создать файл .sh
Вам нужно открыть файл welcome.sh через Vim
Основные команды
echo — команда, выводящая текст и т.д.
Переменная (программирование) — именованная
Команды в переменной — вывод чего-либо, функция
sleep — время для завершения чего-либо по истечении времени
u — переменная для функции Linux (например, имя пользователя, версия ОС и т.д.)
$ — для вывода команды Linux. Пример: os=$(whoami) (переменная=функция для команды(command)
#!/bin/bash name="Name" u="$USER" echo " " echo " " echo "░█░█░█░█▀▀▀░█░░░░█▀▀▀░█▀▀█░█▀█▀█░█▀▀▀░" echo "░█░█░█░█▀▀▀░█░░░░█░░░░█░░█░█░█░█░█▀▀▀░" echo "░▀▀▀▀▀░▀▀▀▀░▀▀▀▀░▀▀▀▀░▀▀▀▀░▀░▀░▀░▀▀▀▀░" sleep 1 echo " " now=$(date) echo "Current time: $now" echo " " echo "Hello $USER!" sleep 1 echo " " os=$(uname -r) echo "Your OS is $os" echo " " sleep 1 setup=$(neofetch) echo "Your PC stats: $setup" echo " " sleep 1
Редактирование .bashrc
Откройте свой файловый менеджер и вставьте эту команду
Теперь вам нужно вставить команду в .bashrc
source /home/YOURUSER/welcome-script/welcome.sh
Исходный код
Вы можете легко загрузить этот скрипт из моего репозитория GitHub.
Настройка приглашения командной строки в Bash
Приглашение можно настраивать. Можно добавлять информацию или, например, изменить цвет приглашения.
В какой переменной задается приглашение
Формат строки приглашения задается в переменной окружения PS1. Чтобы настроить приглашение, необходимо изменить значение переменной PS1.
Например, переменная PS1 может иметь значение:
Или, например, командой echo $PS1 можно вывести текущее значение переменной PS1. У меня в Ubuntu оно выглядит так:
echo $PS1 \[\e]0;\u@\h: \w\a\]$\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]\w\[3[00m\]$
Не пугайтесь. На самом деле существует масса возможностей для настройки строки приглашения. Ниже мы рассмотрим базовые методы настройки.
Как изменить приглашение (только для данной сессии)
Можно установить переменную PS1 только для текущей сессии в терминале. Это удобно, пока вы подбираете, как будет выглядеть строка приглашения. Чтобы это сделать нужно выполнить команду export для переменной PS1, например:
После выполнения команды строка приглашения в терминале сразу изменится.
Настройка приглашения
Для задания различных значений переменной PS1 существуют специальные символы. Комбинируя различные специальные символы можно составить свою строку приглашения.
Специальные символы начинаются с символа косой черты « \ », за которой следует буква или символ. Ниже приведена таблица специальных символов.
Обозначение | Описание |
---|---|
\a | ASCII-символ bell (07) |
\d | Дата в формате «День недели Месяц Дата» (например, «Пн Ноя 26») |
\D | Значение format передается функции strftime. В строку приглашения подставляется результат выполнения функции. Фигурные скобки обязательны. |
\e | ASCII-символ escape (033) |
\h | Hostname (имя хоста) до первого символа точка « . ». |
\H | Hostname (имя хоста, компьютера). |
\j | Количество фоновых процессов, запущенных в данной оболочке |
\l | Базовое название оболочки. |
\n | Переход на новую строку. |
\r | Переход к началу строки (возврат каретки). |
\s | Имя оболочки (имя shell). |
\t | Текущее время в 24-часовом формате (HH:MM:SS). |
\T | Текущее время в 12-часовом формате (HH:MM:SS). |
\@ | Текущее время в 12-часовом am/pm формате. |
\A | Текущее время в 24-часовом формате (HH:MM). |
\u | Имя пользователя. |
\v | Версия bash (например, 4.4). |
\V | Версия bash с версией релиза (например, 4.4.19). |
\w | Текущий абсолютный путь (полный путь). Домашняя директория сокращается до значка тильды « ~ ». |
\W | Текущий относительный путь. Домашняя директория сокращается до значка тильды « ~ ». |
\! | Номер команды в истории команд (history). |
\# | Номер команды в текущей сессии терминала. |
\$ | Символ приглашения ( # для root, $ для обычных пользователей). |
\nnn | Символ, соответствующий восьмеричному значению nnn. |
\\ | Символ обратной косой черты « \ ». |
\[ | Начало последовательности непечатаемых символов. |
\] | Конец последовательности. |
Примеры
Пример 1
Приглашение, состоящее из одного символа « > »:
Пример 2
Текущее время, пользователь, текущая директория:
Пример 3
Дата, пользователь, текущая директория, номер команды:
Как изменить цвета в строке приглашения
Элементы строки приглашения можно раскрашивать в разные цвета.
Чтобы задавать цвета для элементов строки приглашения нужно части строки приглашения заключать в специальные символы.
Используется следующий синтаксис:
\e[ X;Ym РАСКРАШИВАЕМАЯ_СТРОКА \e[m
\e[ — начало цветовой схемы.
X;Ym — цветовая пара (X;Y). Именно значения X и Y определяют цвет.
\e[m — окончание цветовой схемы.
Небольшой пример, чтобы вы понимали о чем идет речь. Раскрасим всю строку целиком цветом с обозначением 0;36.
Цвета задаются числами. Можно задавать парой X;Y или просто Y. Например, красный это — 0;31 или просто 31. Есть и другие способы задания цветов, но в данной статье мы их не рассматриваем.
Список цифровых обозначений для цветов (Y):
Цвет | Числовое обозначение |
---|---|
Black | 30 |
Red | 31 |
Green | 32 |
Brown | 33 |
Blue | 34 |
Purple | 35 |
Cyan | 36 |
Light gray | 37 |
Dark gray | 90 |
Light red | 91 |
Light green | 92 |
Light yellow | 93 |
Light blue | 94 |
Light magenta | 95 |
Light cyan | 96 |
White | 97 |
При задании цвета двумя числами X;Y, первое число X принимает следующие значения:
0 — обычный цвет;
1 — будет использоваться более яркий цвет;
2 — более темный цвет;
3 — курсив;
4 — подчеркивание;
5 — моргание.
Примеры
Пример 1
Например, установим имя пользователя желтым цветом, а остальной текст оставим стандартным цветом (в моем случае это белый). Для указания желтого цвета используем обозначение 1;33 (как светло-коричневый).
Пример 2
Раскрасим остальные элементы строки приглашения:
export PS1="\e[1;33m\u\e[m@\e[0;96m\h\e[m \e[0;92m\W\e[m$ "
Как изменить приглашение на постоянной основе
Новое значение переменной PS1 прописывается в файле .bashrc , который расположен в вашей домашней директории (файл может отсутствовать).
Откроем файл .bashrc в редакторе nano для редактирования. Для этого в терминале выполним команду:
Перейдем в конец файла и добавим новую строку, в которой пропишем значение переменной PS1. Например:
Сохраним изменения и закроем файл. Для этого нажмите Ctrl+X , затем Y и Enter , чтобы сохранить изменения.
Теперь выполним команду source, чтобы наши изменения вступили в силу:
Перезапустите терминал. Приглашение для ввода команд будет обновлено.
Меняем приветствие в терминале Linux
Многие из тех, кто работает в Linux, используют терминал. Его приветствие обычно состоит из имени пользователя и название вашего компьютера. Но, в Linux можно изменить приветствие в терминале отредактировав файл “.bashrc” который находится в домашней директории пользователя. Но, сначала давайте по порядку разберем из чего состоит приветствие по умолчанию, это будет полезно для понимания как все устроено. И так, первым идет как уже говорилось, имя пользователя, затем имя компьютера (хоста), информация о нахождения в директории (тильда ~, домашняя директория). И последним знак доллара ($). Который означает что мы зашли под обычным пользователем, в случае с root пользователем, вместо знака доллара ($) будет решетка (#):
Меняем приветствие
Теперь собственно давайте разберем некоторые флаги, которые можно использовать при составлении собственного приветствия в терминале. И так, начнем с имени пользователя, который вошел в систему, для этого используется флаг:
\$ - Показывает знак $ для обычного пользователя или # для пользователя root
\\ Буквенный символ обратной косой черты "\"
Теперь давайте разберем все это на практике, открываем в терминале файл “.bashrc”, набрав команду:
После чего спускаемся вконец открытого файла. Для того что бы мы могли вывести в терминале свой текст, необходимо добавить несколько строк:
Стоит отметить, что в кавычках вы можете написать любой текст, который только захотите:
Теперь сохраняем отредактированный файл и выходим. Как пользоваться текстовым редактором Nano, вы можете ознакомиться в этой статье. Теперь необходимо загрузить наши настройки, для этого выполняем команду:
Теперь давайте составим приветствие, которое будет состоять из самого приветствия, а так же из имени пользователя и отображать наш путь в терминале. Для этого снова открываем файл “bashrc” командой:
Затем спускаемся вниз, до нашего вписанного кода и задаем параметры (флаги), которые описаны были чуть выше. К примеру, я хочу что бы в терминале выводился текст “Добро пожаловать”. А затем с новой строки выводилось имя пользователя и директория в которой я нахожусь. Для этого вписываем следующие значения:
export PS1="Добро пожаловать \n\u:\W $ "
Сохраняем отредактированный файл и выходим. Затем в терминале выполняем уже знакомую команду для применения наших настроек:
И в результате получаем следующий вид нашего приветствия в терминале:
Жирный текст
Можно сделать текст более жирным, для этого нужно заключить необходимый текст между строк “\[$(tput bold)\]Ваш текст\[$(tput sgr0)\]”. То есть, то же самое приветствие, которое мы делали чуть выше, будет выглядеть следующим образом:
export PS1="\[$(tput bold)\]Добро пожаловать\[$(tput sgr0)\] \n\u:\W $ "
Затем для применения настроек выполняем знакомую команду:
В итоге у вас получится следующее:
Как видите, текст “Добро пожаловать” стал жирнее, таким образом можно выделять любой текст приветствия в терминале. И так, двигаемся дальше.
Цвет приветствия
Можно прописать и цвет для приветствия. Это конечно можно сделать и из настроек самого терминала. Но, все же давайте разберем как это можно сделать при помощи редактирования файла “.bashrc”. Так сказать, для саморазвития. Для того что бы задать текст, нужно вписать в нужное место следующие строки:
Например, я хочу что бы имя пользователя было красным, для этого вставляю код цвета перед выводом имени пользователя:
Заключение
Есть и более простой способ сформировать приветствие в терминале, для этого можно перейти на сайт и там сформировать нужный нам вывод приветствия. Сайт правда на Английском, но, можно потыкать по полям и примерно понять как это работает. А так же можно воспользоваться переводчиком.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
С уважением Cyber-X