目录

  • 0.前言
  • 1.编写启动程序的脚本文件
  • 2.设置启动应用程序
  • 3.关闭启动可执行程序的sudo权限
  • 4.验证是否成功

0.前言

在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序

1.编写启动程序的脚本文件
  1. 创建一个新的启动脚本文件,例如 startup_script.sh,并将以下内容添加到文件中:
#!/bin/bash
sleep 5  # 延迟5秒
#打开新的终端窗口并执行命令
gnome-terminal -- /path/to/your_project
  1. /path/to/your_project是你的可执行程序路径,如果你的可执行程序需要sudo权限,可以改成sudo /path/to/your_project,总之, 你可以将/path/to/your_project替换为你想在终端执行的任何命令。
  2. 保存并关闭文件。
  3. 赋予脚本可执行权限:
chmod +x startup_script.sh
2.设置启动应用程序
  1. 打开 “Startup Applications Preferences”(启动应用程序首选项)。你可以按下 Ctrl + Alt + T 组合键打开终端,然后输入以下命令打开它:
gnome-session-properties
  1. 在 “Startup Applications”(启动应用程序)对话框中,点击 “Add”(添加)按钮。
  2. 在弹出的对话框中,输入以下信息:
  • Name(名称):输入一个适当的名称,如 “My Startup”。
  • Command(命令):输入你的启动脚本的完整路径,如 /path/to/startup_script.sh

确保将 /path/to/startup_script.sh 替换为你实际的启动脚本路径。

  1. 点击 “Add”(添加)按钮。
  2. 如果你的程序不需要sudo权限的话,你就可以reboot重新启动系统,并检查是否自动执行了你的启动脚本和程序。
  • 如果你的程序都需要sudo权限的话接着看下面一步
3.关闭启动可执行程序的sudo权限

你可以编辑 /etc/sudoers 文件,允许特定用户在不需要输入密码的情况下以管理员身份运行特定的命令。这样,你的自启动脚本可以在启动时使用 sudo 命令而无需密码。请按照以下步骤操作:

  • 打开终端并输入以下命令以编辑 /etc/sudoers 文件:
sudo visudo
  • 在打开的文件中添加以下行,将 your_username 替换为你的用户名:
your_username ALL=(ALL) NOPASSWD: /path/to/your_project
  • 确保将 /path/to/your_project 替换为你实际的可执行程序路径。

这样,你的bash脚本中使用sudo命令执行/path/to/your_project时就不需要密码了。如果你有别的命令要添加,步骤同上。

4.验证是否成功
  • 命令行执行reboot重启,开机后发现程序启动了!

我是一只咸鱼_,文章对你有用的话就点赞收藏吧!