xproot Asked: 2021-02-26 09:35:28 +0800 CST2021-02-26 09:35:28 +0800 CST 2021-02-26 09:35:28 +0800 CST 如何在 Ubuntu 在 tty 上启动时运行 bash 脚本 772 我的 grub 没有“安静启动”,因此它在启动时显示文本,我想在显示“欢迎使用 Ubuntu 20.04 LTS”之前运行“neofetch -L” boot 2 个回答 Voted Best Answer Raffa 2021-02-26T12:04:32+08:002021-02-26T12:04:32+08:00 您可以按照以下步骤添加自定义服务以在启动时运行脚本。 首先,在终端中运行以下命令,在您的主目录中创建和编辑一个 shell 脚本文件: nano ~/MyScript.sh 其次,将以下代码复制并粘贴到编辑器中,(neofetch -L只是一个示例)并按Ctrl+保存,X然后按Y然后按Enter: #!/bin/bash neofetch -L 第三,通过在终端中运行以下命令使 shell 脚本文件可执行: chmod +x ~/MyScript.sh 第四,通过在终端中运行以下命令,创建和编辑自定义systemd服务以在启动时运行 shell 脚本: 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 最后,重新启动系统。 如果出于任何原因要撤消此解决方案,请在终端中按以下相同顺序依次运行以下命令: sudo systemctl stop MyCustomService sudo systemctl disable MyCustomService sudo rm /etc/systemd/system/MyCustomService.service rm ~/MyScript.sh 注意: neofetch必须在您的系统上安装才能使上述示例脚本正常工作。它可以像这样安装: sudo apt install neofetch StandardOutput=journal+console将在屏幕上启用脚本的打印输出。 [Unit]您可以通过在系统服务下的服务文件中指定来更改自定义服务在启动期间开始执行的时间,Before=以便After=您的自定义服务将在某些系统服务之后和/或之前运行。请参阅此答案以按运行顺序列出系统服务。 当心: 首先测试您的脚本,并确保它以正确的方式及时执行,以避免在启动过程中出现延迟或锁定。 user1179897 2021-02-26T10:17:38+08:002021-02-26T10:17:38+08:00 MOTD或当天的消息是您从描述中寻求的内容。 https://linuxconfig.org/how-to-change-welcome-message-motd-on-ubuntu-18-04-server
您可以按照以下步骤添加自定义服务以在启动时运行脚本。
首先,在终端中运行以下命令,在您的主目录中创建和编辑一个 shell 脚本文件:
其次,将以下代码复制并粘贴到编辑器中,(
neofetch -L
只是一个示例)并按Ctrl+保存,X然后按Y然后按Enter:第三,通过在终端中运行以下命令使 shell 脚本文件可执行:
第四,通过在终端中运行以下命令,创建和编辑自定义systemd服务以在启动时运行 shell 脚本:
第五,将以下代码复制并粘贴到编辑器中,替换
USERNAME
为您的用户名并按Ctrl+保存,X然后按Y然后按Enter:第六,通过在终端中运行以下命令来启动服务:
第七,通过在终端中运行以下命令来启用该服务:
最后,重新启动系统。
如果出于任何原因要撤消此解决方案,请在终端中按以下相同顺序依次运行以下命令:
sudo systemctl stop MyCustomService
sudo systemctl disable MyCustomService
sudo rm /etc/systemd/system/MyCustomService.service
rm ~/MyScript.sh
注意:
neofetch
必须在您的系统上安装才能使上述示例脚本正常工作。它可以像这样安装:StandardOutput=journal+console
将在屏幕上启用脚本的打印输出。[Unit]
您可以通过在系统服务下的服务文件中指定来更改自定义服务在启动期间开始执行的时间,Before=
以便After=
您的自定义服务将在某些系统服务之后和/或之前运行。请参阅此答案以按运行顺序列出系统服务。当心:
首先测试您的脚本,并确保它以正确的方式及时执行,以避免在启动过程中出现延迟或锁定。
MOTD
或当天的消息是您从描述中寻求的内容。https://linuxconfig.org/how-to-change-welcome-message-motd-on-ubuntu-18-04-server