Как отобразить motd в gnome-terminal?

Вопрос или проблема

Я знаю, что 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 каждый раз при запуске терминала:

  1. Откройте gnome-terminal и зайдите в настройки профиля:

    • Нажмите на три горизонтальные полосы в верхнем углу окна терминала.
    • Перейдите в "Настройки" > "Профили".
    • Выберите профиль, который вы используете по умолчанию (обычно "Unnamed").
  2. Настройка команд:

    • В разделе "Команда" найдите опцию "Запустить команду как логин-оболочку".
    • Активируйте этот параметр. Это позволит терминалу выполнять /etc/profile и другие скрипты, которые вызываются при запуске логин-оболочки.

Запуск пользовательской команды при старте

Второй, более гибкий способ — это использование пользовательского скрипта. Это позволяет вам выводить motd независимо от настройки логин-оболочки:

  1. Создание пользовательской команды:

    • В том же разделе "Команда" выберите "Выполнить пользовательскую команду вместо моей оболочки".
    • В форме команды установите следующее:
      /bin/sh -c 'cat /etc/motd; exec /bin/bash -l'
    • Это заставит терминал сначала вывести содержимое файла /etc/motd, а затем запустит новый интерактивный сеанс bash как логин-оболочку.
  2. Настройка проверки и вывода motd:

    • Убедитесь, что файл /etc/motd существует и содержит необходимую информацию.
    • При необходимости отредактируйте файл /etc/motd, чтобы добавить важные сообщения.

Применение

Теперь, когда вы открываете gnome-terminal с помощью комбинаций клавиш, таких как ALT + Ctrl + T, вы будете видеть сообщение motd при каждом новом запуске терминала. Это может быть особо полезно для администраторов систем, которые хотят информировать пользователей о важных системных обновлениях или состояниях.

Обратная связь и поддержка

  • Обновление и сохранение конфигураций: Обратите внимание, что некоторые изменения могут сохраняться даже после обновления пакета show-motd, если они были внесены в конфигурации как conffile. Это гарантирует, что ваши изменения не будут перезаписаны при обновлениях системы.
  • Локализация шаблона: Вы можете настроить вывод motd персонализировано для различных групп пользователей или использовать скрипты, чтобы автоматически обновлять его содержимое в соответствии с текущими потребностями.
  • Дополнительные скрипты: Если вам требуется более сложная функциональность, можно использовать дополнительное программное обеспечение для обновления содержимого motd на ежедневной основе или в зависимости от заданного события.

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

Оцените материал
Добавить комментарий

Капча загружается...