Гид по технологиям

Настройка заставки терминала в Linux

6 min read Linux Обновлено 22 Apr 2026
Настройка заставки терминала в Linux
Настройка заставки терминала в Linux

кастомизация заставки терминала

Терминал — это «второй дом» для многих пользователей Linux: большую часть времени вы вводите команды, поэтому удобно и приятно видеть информативную и аккуратную заставку при запуске. Linux позволяет изменить практически любой аспект терминала: цветовую схему, шрифты, поведение и саму заставку.

В этой статье подробно показано, как настроить заставку терминала в Linux: где хранится конфигурация, какие утилиты можно использовать, шаблоны для .bashrc и рекомендации по безопасности и совместимости.

Шаг 1: Найдите файл конфигурации оболочки

Эмулятор терминала — это интерфейс для «подкапотной» оболочки. По умолчанию в большинстве дистрибутивов используется Bash; если вы предпочитаете другую оболочку (например, Zsh), её можно сменить с помощью chsh.

Каждая оболочка хранит свой конфигурационный файл в домашней папке пользователя. Для Bash это файл .bashrc, для Zsh — .zshrc.

Откройте файл конфигурации своей оболочки в любимом редакторе. Пример для Bash с Vim:

vim ~/.bashrc

Важно: некоторые терминальные эмуляторы запускают оболочку в режимах “login” и “non-login”; конфигурация может читаться из разных файлов (.bash_profile, .bash_login, .profile). В разделе “Совместимость и миграция” ниже есть подробности.

Шаг 2: Добавление содержимого заставки

Для начала добавьте простую строку, чтобы убедиться, что конфиг читается:

echo "Welcome to the Terminal!"

Сохраните файл, закройте терминал и откройте заново. Если сообщение появилось — можно добавлять более интересные элементы.

текст приветствия в терминале

Показ системной информации

Чтобы вывести красивую сводку о системе, используйте neofetch или screenfetch. Установите выбранную утилиту через пакетный менеджер и добавьте команду в конец .bashrc:

neofetch
# или
screenfetch

neofetch в заставке терминала

Случайные цитаты

Пакет fortune выводит случайные цитаты. Установите его и добавьте:

fortune

На многих системах хорошо сочетается с cowsay:

fortune | cowsay

вывод цитаты и ASCII-арт

ASCII-арт с figlet

Утилита figlet превращает текст в ASCII-арт. Установите её и используйте так:

figlet -cl "Это строка"

Где “Это строка” — ваш текст.

ASCII-арт в заставке

Погода и дата

Для вывода погоды удобно использовать wttr.in через curl. Пример для Парижа (замените на ваш город):

curl wttr.in/paris?0

Параметр ?0 выводит только текущее состояние. Текущую дату можно добавить через утилиту date:

date

погода и дата в заставке

Безопасность и надёжность: выполнять только в интерактивной оболочке

Важно: команды в .bashrc выполняются при каждом запуске оболочки. Если вы добавите к ним длительные сетевые запросы или интерактивные программы, это может ломать автоматические скрипты и SSH-сессии. Чтобы избежать этого, выполняйте заставку только в интерактивной оболочке.

Пример безопасной обёртки:

# Выполнять только в интерактивной оболочке
case $- in
  *i*)
    # сюда добавляйте неинтерактивный вывод заставки
    neofetch
    fortune | cowsay
    ;;
  *)
    ;;
esac

Альтернативный способ проверки интерактивности:

if [ -n "$PS1" ]; then
  # интерактивные команды
fi

Важно также явно указывать пути к утилитам (например, /usr/bin/neofetch), если вы не уверены в PATH во всех контекстах.

Примеры готовых фрагментов для .bashrc

  1. Минимальная заставка с проверкой интерактивности:
# ~/.bashrc
case $- in
  *i*)
    echo "Добро пожаловать, $(whoami)!";
    date;
    ;;
esac
  1. Полный пример с neofetch, fortune и погодой:
case $- in
  *i*)
    /usr/bin/neofetch --stdout || true
    /usr/games/fortune | /usr/games/cowsay || true
    /usr/bin/figlet -cl "$(whoami)@$(hostname -s)" || true
    /usr/bin/curl -s "wttr.in/$(curl -s ipinfo.io/city 2>/dev/null || echo "")?0" 2>/dev/null || true
    date
    ;;
esac

Примечание: в примере выше используются явные пути и оператор || true, чтобы ошибки внешних команд не прерывали загрузку оболочки.

Когда заставка может не работать

  • Если вы редактируете неправильный файл: Bash может читать .bash_profile или .profile вместо .bashrc в зависимости от режима запуска.
  • Если оболочка не интерактивна (например, запуск скрипта через cron), проверка интерактивности предотвратит запуск заставки.
  • Если в конфиг добавлен код, ожидающий TTY или ввод пользователя, автоматические процессы могут зависнуть.

Альтернативные подходы

  • Настроить заставку на уровне терминального эмулятора (например, терминальные профили в GNOME Terminal, Tilix) — удобнее для пользовательского интерфейса.
  • Использовать менеджеры конфигураций: хранить шаблон .bashrc в dotfiles и синхронизировать через git.
  • Для централизованной информации (погода, уведомления) настроить профиль терминала, который запускает при старте небольшой пользовательский скрипт.

Методика безопасного развертывания (мини-руководство)

  1. Создайте резервную копию текущего конфигурационного файла:
cp ~/.bashrc ~/.bashrc.backup
  1. Добавляйте изменения по одному блоку и проверяйте, перезапуская терминал.
  2. Убедитесь, что используется проверка интерактивности (case $- или PS1).
  3. Тестируйте в новой сессии SSH и в автоматических заданиях (cron/CI), чтобы убедиться, что они не ломаются.

Ролевые чек-листы

  • Для разработчика:

    • Добавить имя пользователя/хоста и git-статус текущего репозитория (при желании).
    • Не добавлять блокирующие команды.
    • Хранить dotfiles в репозитории.
  • Для системного администратора:

    • Выводить краткую информацию о системе (neofetch, uptime).
    • Проверить, что заставка не использует нестабильные сетевые сервисы.
    • Использовать явные пути к утилитам.
  • Для новичка:

    • Начать с простого echo и date.
    • Не копировать сложные скрипты без понимания.

Критерии приёмки

  • При открытии новой интерактивной сессии терминала отображается заставка.
  • Неинтерактивные задачи (скрипты, cron) выполняются без задержек.
  • При удалении или переименовании внешних утилит загрузка оболочки не завершается ошибкой.

Отладка и восстановление

Если после изменения .bashrc терминал не открывается или зависает, откройте новый терминал в режиме без чтения конфигурации или воспользуйтесь TTY (Ctrl+Alt+F3), затем восстановите резервную копию:

cp ~/.bashrc.backup ~/.bashrc

Совместимость и миграция

  • Bash: .bashrc для интерактивной оболочки, .bash_profile / .profile для login-оболочек. Добавляйте источник .bashrc из .bash_profile при необходимости:
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi
  • Zsh: используйте ~/.zshrc. Многие идеи из Bash можно перенести с минимальными изменениями.

Тонкости безопасности и конфиденциальности

  • Внешние вызовы (curl wttr.in, ipinfo.io) передают запросы третьим сторонам — не используйте их, если политика конфиденциальности вашей сети этого не позволяет.
  • Никогда не вставляйте в .bashrc непроверенный код из интернета.
  • Для команд, требующих токенов или паролей, используйте защищённые способы хранения (например, переменные окружения, менеджеры секретов) и не выводите их в окружение заставки.

Тестовые сценарии

  1. Интерактивный запуск: откройте новый терминал — заставка отображается.
  2. SSH-скрипт: запустите удалённый скрипт через SSH — должен выполниться без зависаний.
  3. Cron: убедитесь, что cron-задачи выполняются, и их вывод не содержит заставки.
  4. Отсутствие утилит: временно переименуйте neofetch — оболочка не должна падать.

Примеры шаблонов и сниппетов (cheat sheet)

  • Минимальный шаблон:
# ~/.bashrc
case $- in
  *i*)
    echo "Привет, $(whoami)!";
    date;
    ;;
esac
  • Расширенный шаблон:
case $- in
  *i*)
    command -v neofetch >/dev/null && neofetch
    command -v fortune >/dev/null && command -v cowsay >/dev/null && fortune | cowsay
    command -v figlet >/dev/null && figlet -cl "$(whoami)@$(hostname -s)"
    command -v curl >/dev/null && curl -s "wttr.in/$(curl -s ipinfo.io/city 2>/dev/null || echo "")?0"
    date
    ;;
esac

Краткие подсказки и эвристики

  • Правило простоты: ставьте на заставку только ту информацию, которая действительно полезна.
  • Избегайте длительных сетевых вызовов при каждом запуске терминала.
  • Всегда тестируйте изменения в новой сессии и в автоматизированных задачах.

Частые вопросы

Как сделать так, чтобы заставка не мешала скриптам?

Оберните команды проверкой интерактивной оболочки (case $- или проверка PS1).

Где лучше хранить кастомные скрипты для заставки?

В каталоге ~/bin или в dotfiles-репозитории и укажите абсолютные пути в .bashrc.

Работает ли это в терминале GNOME/konsole/Terminator?

Да: конфигурация оболочки одинакова; однако некоторые эмуляторы могут иметь собственные профили, которые проще настроить через GUI.

Социальный анонс

Настроил(а) заставку терминала в Linux: просто добавьте neofetch, fortune|cowsay, figlet и wttr.in в .bashrc (выполняйте только в интерактивной оболочке). Удобно, информативно и быстро!

Краткое резюме

  • Разместите команды заставки в файле конфигурации оболочки (.bashrc или .zshrc).
  • Выполняйте вывод только для интерактивных сессий.
  • Используйте neofetch, fortune, figlet и wttr.in по необходимости.
  • Тестируйте изменения и храните резервную копию конфигурации.

Полезные ссылки и команды для установки (развернутое руководство по пакетам)

  • Ubuntu/Debian:
sudo apt install neofetch fortune-mod figlet cowsay curl
  • Arch Linux:
sudo pacman -S neofetch fortune-mod figlet cowsay curl
  • Fedora/CentOS:
sudo dnf install neofetch fortune-mod figlet cowsay curl

Если вам нужна готовая конфигурация .bashrc под ваш набор утилит и стиль оформления, опишите, какие элементы хотите видеть (инфо о системе, погода, ASCII-арт, случайные цитаты), и я подготовлю персонализированный шаблон.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Запуск Командной строки от имени администратора
Windows

Запуск Командной строки от имени администратора

Отключить напоминания Facebook Memories и скрыть их
Социальные сети

Отключить напоминания Facebook Memories и скрыть их

Как управлять cookie в Chrome, Firefox и Edge
Приватность

Как управлять cookie в Chrome, Firefox и Edge

Как управлять расширениями в Chrome, Edge, Vivaldi
Браузеры

Как управлять расширениями в Chrome, Edge, Vivaldi

Добавить пользовательские эмодзи в Discord
Discord

Добавить пользовательские эмодзи в Discord

Вентилируемая подставка для ноутбука — 3 DIY-плана
DIY

Вентилируемая подставка для ноутбука — 3 DIY-плана