当前位置: 首页 > news >正文

jetson开机之前自启脚本sudo ifconfig 如何不需要输入密码

在 Jetson(Ubuntu 22.04)上设置开机自启脚本有两种主流方式:

  • 🟢 现代推荐:Systemd Service(最稳定、受控、可查看日志)

  • 🔵 旧方式:rc.local(简单直接,但不推荐长期用)

下面我给你两种方式都讲清楚。


🟢 方法一:使用 systemd(推荐)

假设你要在开机时执行:

sudo ifconfig enP8p1s0 192.168.1.100 up

① 新建脚本

  1. 创建目录(建议放在 /usr/local/bin):

  2. sudo mkdir -p /usr/local/bin

  3. 新建脚本:

  4. sudo nano /usr/local/bin/netstart.sh

  5. 写入内容:

  6. #!/bin/bash /sbin/ifconfig enP8p1s0 192.168.1.100 up

  7. 保存退出(Ctrl+O → 回车 → Ctrl+X

  8. 赋予执行权限:

  9. sudo chmod +x /usr/local/bin/netstart.sh


② 创建 systemd service

  1. 创建 service 文件:

  2. sudo nano /etc/systemd/system/netstart.service

  3. 填入内容(注意路径一致):

    [Unit] Description=Set static IP for enP8p1s0 After=network.target [Service] Type=oneshot ExecStart=/usr/local/bin/netstart.sh RemainAfterExit=yes [Install] WantedBy=multi-user.target 
  4. 保存退出。


③ 启用并测试

sudo systemctl daemon-reload sudo systemctl enable netstart.service sudo systemctl start netstart.service 

验证:

ifconfig enP8p1s0

你应该能看到 IP 已被设置为 192.168.1.100

查看日志:

sudo journalctl -u netstart.service


🔵 方法二:用 /etc/rc.local(简易方式)

  1. 创建文件sudo nano /etc/rc.local

  2. 写入:#!/bin/bash /sbin/ifconfig enP8p1s0 192.168.1.100 up exit 0

  3. 赋予执行权限:sudo chmod +x /etc/rc.local

  4. 创建 service 支持 rc.local(因为 Ubuntu 22.04 默认没启用):                                                 sudo nano /etc/systemd/system/rc-local.service

  5. 填入:

    [Unit] Description=/etc/rc.local Compatibility ConditionFileIsExecutable=/etc/rc.local After=network.target [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target 
  6. 启用:

    sudo systemctl daemon-reload sudo systemctl enable rc-local sudo systemctl start rc-local 

✅ 推荐总结

方式优点推荐程度
systemd service稳定、可控、能看日志🟢 强烈推荐
rc.local简单、老式、兼容性差🟡 临时用

要不要我帮你写一个具体适合你 Jetson(网口 enP8p1s0)的开机自动配置脚本?
例如设置静态 IP、启动 SSH、检测网络后再执行。

还有Jetson / Ubuntu 系统自带的图形化方式

叫做:

“Startup Applications”
(中文界面中叫「启动应用程序」或「启动项」)

它确实可以让你在开机登录图形界面后自动运行脚本或命令。

不过——要注意它和 systemd 的区别 👇


⚙️Startup Applications 是什么

  • 它属于 桌面环境(GNOME)的一部分

  • 仅在 用户登录图形界面之后 执行;

  • 执行的程序 以当前用户权限 运行(不是 root);

  • 常用于启动 GUI 应用或简单命令。

几个注意点

  • 这种方式需要图形登录(比如你要进入桌面),不会在纯命令行启动阶段运行

  • 如果执行 sudo 命令,仍然会要求输入密码。
    👉 可以配合 sudoers 免密配置:

    zylox ALL=(ALL) NOPASSWD: /sbin/ifconfig 
  • 如果你要在无人值守(headless)模式下启动服务(比如设备通电自动执行),还是建议用 systemd


✅ 四、总结推荐

场景推荐方式
开机自动运行后台服务 / 设置网络🟢 systemd service
用户登录桌面后启动程序🟡 Startup Applications
临时实验、自定义命令🟣 rc.local(简单但老旧)

第二步:

如果你希望 Jetson 开机后执行 sudo ifconfig 时不需要输入密码,可以通过修改 sudoers 配置来实现。下面是安全、正确的做法 👇


🧭 目标

让特定用户(比如 bingzylox)在执行某些命令(如 ifconfig)时无需输入密码。


✅ 方法一:仅免密码执行 ifconfig

  1. 打开 sudoers 编辑器(推荐使用 visudo,它会自动检查语法)sudo visudo

  2. 在文件底部添加一行(请将 your_username 替换为你的实际用户名,例如 zyloxbing):

    your_username ALL=(ALL) NOPASSWD: /sbin/ifconfig 

    Jetson 系统中 ifconfig 一般位于 /sbin/ifconfig,可以用以下命令确认路径:

    which ifconfig

  3. 保存退出(Ctrl+OEnterCtrl+X)。

  4. 验证:sudo ifconfig

    ✅ 不会再提示输入密码。


✅ 方法二:免密码执行所有 sudo 命令(不推荐)

如果是开发板实验环境、完全信任的单用户设备,也可以让所有 sudo 命令都免密:

  1. 编辑:

    sudo visudo 
  2. 找到这一行(通常在文件中间):

    %sudo ALL=(ALL:ALL) ALL 

    改为:

    %sudo ALL=(ALL:ALL) NOPASSWD: ALL 
  3. 或者针对单个用户写法:

    your_username ALL=(ALL) NOPASSWD: ALL 

✅ 方法三:开机自动执行 ifconfig(比如设置静态 IP)

如果你只是想在开机时自动执行 ifconfig(例如设置网络),而不是手动敲命令,可以把脚本放在:

/etc/rc.local 

/etc/systemd/system/ 

中作为 service 自动运行,这样连 sudo 都不需要手动输入。

http://www.dtcms.com/a/596663.html

相关文章:

  • 环评登记表在哪个网站做php网站开发试题
  • K8S RD: Kubernetes核心技术之管理、高可用与配置详解
  • Rust:Trait 抽象接口 特征约束
  • 【Windows】tauri+rust运行打包工具链安装
  • 网站被人抄袭怎么办哪家做网站的公司
  • 在 Linux 上实现 Spring Boot 程序的自动启动与守护运行
  • 得物TiDB升级实践
  • uni-app微信小程序相机组件二次拍照白屏问题的排查与解决
  • 邯郸大名网站建设网站服务器类型查询
  • 远程在线诊疗|在线诊疗|基于java和小程序的在线诊疗系统小程序设计与实现(源码+数据库+文档)
  • Linux进程间通信(IPC)常用方法精要
  • 展望无人机的未来发展,技术趋势和应用前景
  • 黄页 网站模板什么是展示型网站
  • gov域名网站有哪些如何建一个免费试用网站
  • Vue中 class 和 style 属性的区别对比
  • 视频融合平台EasyCVR:构建智慧化城市/乡镇污水处理厂综合安防与运营监管方案
  • 【ZeroRange WebRTC】KVS WebRTC C SDK 崩溃分析报告
  • 库卡机器人编程语言 | 深入了解库卡机器人的编程方法与应用
  • 移动+协作+视觉=?复合型机器人重新定义智能产线
  • 【macOS 版】Android studio jdk 1.8 gradle 一键打包成 release 包的脚本
  • 网站关键词优化原理亳州做企业网站
  • 数据库知识整理——SQL数据定义
  • AAAI 2026|港科大等提出ReconVLA:利用视觉重构引导,刷新机器人操作精度!(含代码)
  • Java 进阶:IO 流与 Lambda 表达式深度解析
  • 集团公司网站推广方案怎么做十年网站建设
  • 张祥前统一场论视角下的托卡马克Z箍缩不稳定性解读
  • 【每天一个AI小知识】:什么是MCP协议?
  • 在 kubernetes 上使用 SMB 协议做存储的「即插即用」方案
  • 软件测试大赛Web测试赛道工程化ai提示词大全
  • 智慧团建官方网站登录入口优秀的网站建设价格