Вопрос или проблема
Я знаю, что motd отображается только в консоли оболочки входа и не для gnome-terminal. Но есть ли способ отображать его каждый раз, когда я запускаю gnome-terminal с помощью ALT+Ctrl+T?
Вы уже редактировали /etc/motd?
Это должно отображаться в любом терминале.
Источник: https://www.linuxquestions.org/questions/linux-newbie-8/welcome-message-on-terminal-582616/
Вы можете получить это один раз в день, используя
Gnome Terminal > три горизонтальные полосы > Профили > Безымянный (или любой, который вы используете) > Команда > Запуск команды в качестве логин-оболочки
Это поведение реализуется с помощью /etc/profile.d/update-motd.sh
из пакета “show-motd”.
Разумный способ переопределить поведение “один раз в день”, то есть если вы хотите, чтобы motd отображалось каждый раз, это отредактировать файл, чтобы удалить проверку метки времени на ~/.motd_shown
:
dpkg --status show-motd
указывает, что это conffile, поэтому ваши изменения будут сохранены при нормальном обновлении.
Я обнаружил, что это работает для меня на Ubuntu 22.04:
1. Перейдите в Предпочтения -> Безымянный -> Команда
2. Включите радиокнопку "Запускать пользовательскую команду вместо моей оболочки"
3. Установите команду, например:
/bin/sh -c 'cat /etc/motd; exec /bin/bash -l'
После этого открытие нового терминала (например, нажав Ctrl-Shift-T
) покажет содержимое /etc/motd
и предоставит вам приглашение оболочки.
Чтобы сохранить этот пример простым, предполагается, что /etc/motd существует, и вы хотите bash в качестве логин-оболочки. Меняйте по мере необходимости.
Ответ или решение
Для того чтобы отображать содержимое motd (Message of the Day) в gnome-terminal при каждом его запуске, несмотря на то что это поведение по умолчанию поддерживается только в консоли входа в систему, можно использовать несколько решений. Давайте рассмотрим, почему это происходит, как обойти это ограничение и применить на практике.
Теория
Что такое motd?
Motd или Message of the Day — это текстовое сообщение, которое по умолчанию отображается в Unix-системах при входе в систему через консоль. Это сообщение часто используется для вывода важной информации о системе, уведомлений или просто приветствия.
Почему motd не отображается в gnome-terminal?
Gnome-terminal по умолчанию не запускается как логин-оболочка, что является одной из причин, почему motd не отображается. В логин-оболочке происходит вызов /etc/motd
, а gnome-terminal запускает интерактивную shell-сессию, минуя этапы, которые обрабатывают содержимое /etc/motd
.
Пример
Чтобы добиться желаемого поведения и отображать motd каждый раз при запуске gnome-terminal, можно использовать несколько подходов. Один из самых распространённых способов — это настройка gnome-terminal или оболочки так, чтобы запускалась как логин-оболочка. Также вы можете использовать скрипты для вывода этих сообщений, не прибегая к изменениям системных файлов.
Настройка логин-оболочки
Вы можете настроить gnome-terminal так, чтобы он запускался как логин-оболочка. Это достаточно простой способ для отображения содержимого motd каждый раз при запуске терминала:
-
Откройте gnome-terminal и зайдите в настройки профиля:
- Нажмите на три горизонтальные полосы в верхнем углу окна терминала.
- Перейдите в "Настройки" > "Профили".
- Выберите профиль, который вы используете по умолчанию (обычно "Unnamed").
-
Настройка команд:
- В разделе "Команда" найдите опцию "Запустить команду как логин-оболочку".
- Активируйте этот параметр. Это позволит терминалу выполнять
/etc/profile
и другие скрипты, которые вызываются при запуске логин-оболочки.
Запуск пользовательской команды при старте
Второй, более гибкий способ — это использование пользовательского скрипта. Это позволяет вам выводить motd независимо от настройки логин-оболочки:
-
Создание пользовательской команды:
- В том же разделе "Команда" выберите "Выполнить пользовательскую команду вместо моей оболочки".
- В форме команды установите следующее:
/bin/sh -c 'cat /etc/motd; exec /bin/bash -l'
- Это заставит терминал сначала вывести содержимое файла
/etc/motd
, а затем запустит новый интерактивный сеанс bash как логин-оболочку.
-
Настройка проверки и вывода motd:
- Убедитесь, что файл
/etc/motd
существует и содержит необходимую информацию. - При необходимости отредактируйте файл
/etc/motd
, чтобы добавить важные сообщения.
- Убедитесь, что файл
Применение
Теперь, когда вы открываете gnome-terminal с помощью комбинаций клавиш, таких как ALT + Ctrl + T, вы будете видеть сообщение motd при каждом новом запуске терминала. Это может быть особо полезно для администраторов систем, которые хотят информировать пользователей о важных системных обновлениях или состояниях.
Обратная связь и поддержка
- Обновление и сохранение конфигураций: Обратите внимание, что некоторые изменения могут сохраняться даже после обновления пакета
show-motd
, если они были внесены в конфигурации как conffile. Это гарантирует, что ваши изменения не будут перезаписаны при обновлениях системы. - Локализация шаблона: Вы можете настроить вывод motd персонализировано для различных групп пользователей или использовать скрипты, чтобы автоматически обновлять его содержимое в соответствии с текущими потребностями.
- Дополнительные скрипты: Если вам требуется более сложная функциональность, можно использовать дополнительное программное обеспечение для обновления содержимого motd на ежедневной основе или в зависимости от заданного события.
Следуя этим рекомендациям, вы гарантированно сможете добиваться желаемого поведения для вашего терминала, обеспечив регулярное отображение необходимой информации.