- Делаем Linux терминал красивым и удобным
- Добавляем функциональность
- Командная оболочка
- Настройка Zsh
- Настраиваем внешний вид
- Ubuntu Linux
- Сайт для пользователей Ubuntu Linux
- Как установить обои в консоли
- Инструментарий
- Наложение патчей и установка ядра
- Установка тестовой темы
- Настройка загрузчика Grub
- Создание собственной темы
- Установка фона на все консоли
- Примечание
- Цвета терминала Linux
- Раскрашиваем цвета вывода ls
- Раскрашиваем и изменяем строку приглашения:
- Разноцветные терминалы
Делаем 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 .
Настройте тему, выбирая варианты отображения, которые вам больше нравятся.
Финальный штрих — меняем конфиг темы и заменяем встроенные цвета.
Если в файле эти строки уже есть — замените их. Коды цветов можно получить командой
- Отображение только текущей директории:
Источник
Ubuntu Linux
Сайт для пользователей Ubuntu Linux
Как установить обои в консоли
Здесь описан процесс установки фонового изображения в консоли на примере версий ПО, последних на момент написания статьи. Упор делается на дистрибутив Ubuntu 8.04, но в других дистрибутивах установка должна быть аналогичной.
Инструментарий
- Исходные коды ядра Linux (www.kernel.org)
- Патч Spock’а
- Набор утилит splashutils, доступный в виде исходных кодов и пакетов
- Тестовая тема
Примечание
- Для установки splashutils из пакетов вам потребуется более новая версия пакета sysv-rc, найти его можно здесь.
- Утилиты splashutils конфликтуют с usplash и splashy, поэтому их надо удалить.
- Необходимо убрать модуль vesafb из «черного списка», для этого в файле /etc/modprobe.d/blacklist-framebuffer закомментируйте строку blacklist vesafb:
Наложение патчей и установка ядра
Распакуйте патчи и исходные коды ядра в папку /usr/src. Далее в терминале выполните:
Если Вы самостоятельно ещё ни разу не конфигурировали ядро, то можно скопировать настройки ядра по-умолчанию, в Ubuntu 8.04 для этого выполните:
Теперь нужно отметить необходимые опции ядра, для запуска утилиты настройки в системе должны быть установленны пакеты build-essential и libncurses5-dev:
Отмечаем следующую опцию:
Остальные опции в этой секции меню необходимо убрать.
Теперь нужно отметить ещё одну опцию:
Выходим из утилиты настройки, не забывая ответить «Yes» на вопрос о сохранении настроек, выполняем:
Установка тестовой темы
Сначала создайте резервную копию образа initrd.img:
Распакуйте тестовую тему в папку /etc/splash и выполните:
Где 1400×1050 замените на разрешение Вашего монитора.
Настройка загрузчика Grub
В файле /boot/grub/menu.lst создайте раздел меню для нового ядра, например:
Где «root (hd0,4)» — раздел, на котором находится /boot (sda1 это hd0,0, sda2 — hd0,1, sdb1 — hd1,0 и т.д.); «root=/dev/sda5″ — корневой раздел; «splash=verbose,theme:emergence» — здесь параметр verbose показывает, что во время загрузки будут видны системные сообщения, чтобы их не видеть verbose замените на silent, theme — название темы, vga — разрешение монитора, по этой таблице:
Теперь можете перезагрузиться в новое ядро, на фоне консоли должен появиться логотип дистрибутива Gentoo.
Создание собственной темы
Здесь описывается процесс создания простейшей темы (просто картинка на фоне), более подробную информацию Вы можете прочитать в файле /usr/share/doc/splashutils/docs/theme_format.gz Создайте в /etc/splash каталог для Вашей темы, а в нём вложенную папку images с картинкой, которую хотите поставить в фон, например /etc/splash/ubuntu/images/ubuntu.jpg (разрешение картинки должно совпадать с разрешением монитора). Теперь в папке /etc/splash/ubuntu создайте файл, имя которого состоит из разрешения Вашего монитора и расширения .cfg (/etc/splash/ubuntu/1400×1050.cfg), со следующим содержанием:
Установка темы:
Восстановите образ initrd.img:
Установка собственной темы аналогична установке тестовой:
Не забудьте изменить параметр theme в /boot/grub/menu.lst
Установка фона на все консоли
В файл /etc/rc.local добавьте:
Где «theme» замените названием Вашей темы.
Примечание
Если у вас установлены драйвера на видео-карту, то перед выполнением вышеизложенных действий откройте файл /etc/X11/xorg.conf и измените параметр «Driver» на драйвер по-умолчанию для вашей карты («nv» для NVidia, «vesa» для Ati).
Чтобы установить драйвера на видео-карту NVidia в новом ядре удалите пакеты nvidia-glx-new или nvidia-glx-legacy. Затем скачайте драйвера с сайта NVidia, завершите сеанс и перейдите в консоль (ctrl+alt+F1). В консоли выполните (если у Вас KDE, то «gdm» замените на «kdm»):
Источник
Цвета терминала Linux
Одно из главных преимуществ Linux заключается в том, что при желании в нём можно настроить всё, что угодно. В этом и выражается преимущество проективных систем, над процедурными. Фактически, это конструктор, состоящий из отдельных блоков, каждый из которых можно настроить по своему желанию.
Особенно интересно, если не просто копируешь чужой «рецепт», а пытаешься разобраться, что и как устроено. И даже решая несерьезную задачу, узнаешь что-то новое.
Раскрашиваем цвета вывода ls
Как-то захотелось мне настроить цвета терминала linux в выводе команды ls. Ну не нравился блекло-фиолетовый цвет для каталогов в Linux Mint. Начал разбираться.
Из документации к ls, выяснил, что установка цветов для вывода осуществляется при помощи утилиты dircolors, которая либо устанавливает параметры цвета из своей собственной базы, либо берет их из файла
/.dircolors. Такого файла в моем домашнем каталоге не было. Также упоминалось, что инициализация использования цветов происходит через
/.bashrc, файл с настройками командной оболочки, а сами параметры определяются через переменную LC_COLORS.
Действительно, в .bashrc обнаружился скрипт следующего содержания:
Его суть сводится к проверке на наличие утилиты dircolors в системе, присваивания значения переменной и, при удачном выполнении, использовании параметра —color=auto при каждом вызове ls.
Если запустить утилиту dircolors, она выводит значение переменной LC_COLOR.
Также возможен вывод значения переменной LC_COLORS в структурированном виде, указанием ключа:
Поскольку вывод получается длинный, приводить его не буду.
Если перенаправить вывод dircolors -p >
/.dircolors, то будет создан структурированный файл, из которого и будут браться настройки цветов. Редактируя данный файл и устанавливаются настройки цвета для вывода ls.
В созданном файле .dircolors есть подсказка:
Устанавливая последовательность через точку с запятой и получаем нужный нам цвет в консоли linux, согласно перечисленным. Цвета терминала linux от 30 до 37 для цвета шрифта, а с 40 до 47 для фона. К примеру:
DIR 01;34 подразумевает, что имена директорий будут выделяться жирным шрифтом и синим цветом.
Но таким способом получается всего восемь цветов, а современные эмуляторы терминала способны выводить как минимум 256! Выяснилось, что существуют и другие способы установки цвета. К примеру, значение EXEC 38;5;208;1 — даёт оранжевый толстый шрифт у исполняемых файлов.
Чтобы не перебирать цвета linux вручную, есть уже готовая таблица цветов:
Подставляя в значение цвета 38;5;x — где x цвет из таблицы, получаем необходимый результат. Получается что-то вроде этого:
Но как это работает? Дело в том, что установка цвета вывода информации в эмуляторе терминала осуществляется при помощи ANSI escape-кодов. Это определенная последовательность символов, которая не выводится на экран, однако влияет на вывод. Называется она так, поскольку начинается с \033[ — кода «Esc». Поскольку терминалов и эмуляторов терминалов существует множество, эти управляющие коды стандартизированы. Управлением цветом через последовательность от 30 до 37 — это стандарт ECMA-48. Информация о нем содержится в разделе console_codes. А управление через 38;5;* — определено стандартом T.416. Более подробная информация есть, конечно же, в Википедии.
Раскрашиваем и изменяем строку приглашения:
Разобравшись, как устанавливать цвета linux через esc-коды, не составит труда переделать и раскрасить строку приглашения. За ее вывод отвечает переменная PS1, которая определена в файле
В Linux Mint скрипт ее инициализации имеет следующий вид:
То-есть сперва определяется, запустил ли скрипт root или обычный пользователь. Поскольку в подавляющем большинстве случаев имеет место именно второй вариант, то и редактировать нужно строку, следующую после первого ‘else’. Формат строки расшифрован в документации по баш, в разделе «Promting». Из него следует, что esc-последовательность должна начинаться с «\[» и заканчиваться «\]». Таким образом:
- [\033[01;32m\] — устанавливает зеленый цвет;
- \u — выводит имя пользователя;
- \h — выводит имя хоста;
- [\033[00m\] — очищает установленные атрибуты;
- [\033[01;34m\] — устанавливает синий цвет;
- \w — выводит имя рабочей директории;
- Привет! — пример того, что может быть выведен любой производный текст.
Что ещё можно вывести в строке приглашения:
- \d — дату, в формате «Wed Dec 28»;
- \A — время в 24-часовом формате;
- \! — номер текущей команды в истории;
- \n — перенос вывода на другую строку;
Введем что нибудь поинтереснее:
И строка приглашения примет вид:
Так, не понял, а откуда взялась ёлка-то?
Ну ладно, на самом деле, если в конец .bashrc вставить echo -e «С Новым годом», то поздравление будет выводиться при каждом запуске терминала перед приглашением ввода. Соответственно, вывод можно раскрашивать каким угодно способом. А там уж и ёлку нарисовать не сложно.
Источник
Разноцветные терминалы
В этой публикации я расскажу о некоторых трюках, которые украсят будни любого системного администратора Linux (и не только). Все они связаны с переменной PS1 оболочки bash. Переменная PS1 определяет, как будет выглядеть приглашение для ввода новых команд. И каждый пользователь может переопределять её как пожелает, например, в файле
/.bashrc (который выполняется при запуске bash и используется для в том числе для конфигурации).
Для начала рассмотрим простой вариант, мой любимый формат командной строки.
Результат будет вот такой:
Это обычное использование переменной PS1, но если бы я не начал с этого — рассказ был бы неполным. Обычно в переменной PS1 с помощью специальных последовательностей символов определяют формат приглашения для ввода команд. Подробный список этих последовательностей можно почитать в документации к bash, в данном примере:
- \t — вывод «текущего времени», на самом деле это получается время завершения выполнения предыдущей команды, удобно когда перед глазами.
- j\j — выводит символ j и после него количество запущенных job, т.е. процессов в фоне. Это тоже удобно иметь перед глазами чтобы случаем про них не забыть когда соберешься закрыть терминал.
- \u@\h — имя пользователя и название сервера. Если работаете с несколькими серверами через удаленные терминалы — чтобы не путаться.
- \w — после двоеточия — рабочая директория.
- \n — поскольку строка получилась хоть и информативной (что-то вроде статус бара), но длинной, то приглашаем вводить команды с новой строки, а эта верхняя строка будет наглядно отделять от результата работы предыдущей команды.
- \$ — на новой строке будет выводится символ либо $ для обычного пользователя либо # для root’а и отделив его пробелом можно приглашать вводить новую команду.
Казалось бы, чего еще желать… Но дальше будет интереснее. Дело в том, что с помощью специальных управляющих символов можно задавать цвет выводимого текста, цвет курсора и даже переопределять title bar у таких графических терминалов, как Gnome2. И, на мой взгляд, довольно удобно когда цветом отделяются терминалы запущенные на различных серверах. Для меня каждый сервер ассоциируется с каким-то цветом и в этот цвет мы будем красить командную строку и курсор на каждом сервере.
У меня .bashrc разделен на два файла, в самом .bashrc содержится общий код для всех серверов, а в .bash_local — уникальные для этого сервера настройки командной строки. .bash_local я буду вставлять в .bashrc специальной директивой. Начнем с .bash_local. В контексте данной статьи там у меня будут две строчки, которые определяют цвет этого сервера:
Просто заношу коды цвета в переменные. Но, как вы заметили, что способ задания цвета для курсора и для текста командной строки — разный. Почему-то так исторический получилось. Чтобы понять, какой цвет каким кодом кодируется, есть подходящая картинка.
Посредине — обозначение цвета для цвета курсора, снизу — обозначение цвета для текста. Как вы можете увидеть, что я для текста и курсора использую цвет морской волны. Т.к. название сервера petrel («буревестник»), то он ассоциируется у меня с этим цветом.
Теперь .bashrc, тоже показываю его не полностью, а только то что имеет отношение к теме:
Тут я вставляю код из .bash_local в общий файл. Таким образом определяться ранее описанные переменные с цветом сервера.
Еще две переменные определяю с чисто красным цветом, он будет использоваться для маркировки терминалов привелигированного пользователя (root’а).
Тут проверяется какой используется терминал. Для любого неизвестного или неподдерживающего цвета будет использоваться приглашение без цвета (PS1=’\t j\j \u@\h:\w\n\$ ‘) так, как я это описал в начале статьи. Но если имя терминала начинается на xterm или rxvt, например, так себя позиционирует терминал Gnome, начинаем кудесить с цветом. Первая строчка — задаем цвет текста — цвет сервера и выводим первую строку приглашения ввода команд. Она всегда будет окрашена в цвет сервера. Вторая строчка — проверяем, работаем ли мы под непривелигированным или привелигированным пользователем (root’ом). Если root — то переопределяем цвета на красный. Третья строчка — формируем вторую строчку приглашения и определяем цвет курсора в терминале. Т.е. там у нас получится либо $ и через пробел курсор, оба покрашенные в цвет сервера, если пользователь обычный. Либо красный # и через пробел красный курсор, если это root.
А это, если честно, один в один скопированно из первоначального .bashrc от Дебиана. Знаю, что этот код видоизменяет title bar у окна, размещает там информацию об пользователе, сервере и домашней директории. Но поскольку этот код придумал не я, комментировать его не буду.
В результате у нас должно получится так, как на картинке в самом начале публикации.
Источник