Как запустить скрипт Bash, пока Ubuntu запускается на TTY

Мой GRUB не имеет «тихого всплеска», поэтому он отображает текст во время загрузки, и я хочу запустить «Neofetch -l» как раз перед тем как можно отобразить «Добро пожаловать в Ubuntu 20.04 LTS»

1
задан 25 February 2021 в 20:35

2 ответа

Вы можете добавить пользовательскую службу для запуска вашего скрипта при загрузке, выполнив следующие шаги.

Во-первых, выполните следующую команду в терминале, чтобы создать и отредактировать файл скрипта оболочки в вашем домашнем каталоге:

nano ~/MyScript.sh

Во-вторых, скопируйте и вставьте следующий код в редактор, ( neofetch -L только пример ) и сохраните его, нажав Ctrl + X, затем нажмите Y, затем нажмите Enter :

#!/bin/bash

neofetch -L

В-третьих, сделайте файл скрипта оболочки исполняемым, выполнив следующую команду в терминале:

chmod +x ~/MyScript.sh

В-четвёртых, создаёт и редактирует пользовательскую службу systemd для запуска скрипта оболочки при загрузке, выполняя следующую команду в терминале:

sudo nano /etc/systemd/system/MyCustomService.service 

В-пятых, скопируйте и вставьте следующий код в редактор, замените USERNAME на имя пользователя и сохраните его, нажав Ctrl + X, затем нажмите Y, затем нажмите Enter :

[Unit]
Description=My Custom Service
Before=motd-news.service

[Service]
Type=oneshot
ExecStart=/home/USERNAME/MyScript.sh
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

В-шестых, запустите службу, выполнив следующую команду в терминале:

sudo systemctl start MyCustomService

В-седьмых, включите службу, выполнив следующую команду в терминале:

sudo systemctl enable MyCustomService

Наконец, перезагрузите систему.


Если по какой-либо причине вы хотите отменить это решение , пожалуйста, выполните в терминале одну за другой в следующей последовательности:

  1. sudo systemctl stop MyCustomService
  2. sudo systemctl disable MyCustomService
  3. sudo rm /etc/systemd/system/MyCustomService. service
  4. rm ~/MyScript.sh

Примечание:

  • neofetch должен быть установлен в вашей системе, чтобы приведенный выше пример скрипта работал. Он может быть установлен следующим образом:

    sudo apt install neofetch
    
  • StandardOutput=journal+console включит вывод изображения из вашего скрипта на экран.

  • Вы можете изменить, когда пользовательский сервис начнет выполняться во время загрузки, указав в файле сервиса под [Unit] Before= и After= системные сервисы так, чтобы ваш пользовательский сервис выполнялся после и/или до определенных системных сервисов. См. этот ответ , чтобы перечислить системные службы в том порядке, в котором они выполняются.

Becareful:

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

2
ответ дан 18 March 2021 в 23:30

MOTD или сообщение дня - это то, что вы ищете из описания.

https://linuxconfig.org/how-to-change-welcome-message-motd-on-ubuntu-18-04-server

0
ответ дан 18 March 2021 в 23:30

Другие вопросы по тегам:

Похожие вопросы: