英伟达Jetson Nano 开发(3)、Jupyter-Lab开机自启动

前言

Jetson上配置好JupyterLab后,每次都要先SSH登录Jetson上打开JupyterLab服务器,非常麻烦。因此,在Jetson开机后自启动JupyterLab服务器就十分方便了。

1 创建JupyterLab运行脚本

首先找到jupyter-lab命令的位置,一般在~/.local/bin/下,可以创建shell脚本autoJupyterLab.sh

#!/bin/sh

/home/myjetson/.local/bin/jupyter-lab

测试一下脚本的正确性::

./autoJupyterLab.sh

远程连接JupyterLab成功,说明运行脚本没问题。

2 添加JupyterLab Service文件

Ubuntu18通过systemd管理服务,因此添加服务来开机运行JupyterLab脚本。

服务Service保存在/lib/systemd/system/etc/systemd/system下。在/etc/systemd/system下创建auto-jupyter.service服务:

[Unit]
Description=Auto Load JupyterLab
After=network.target

[Service]
Type=simple
User=your_username
ExecStart=/your_script_dir/autoJupyterLab.sh
Restart=on-failure
Resta
### 实现 Jetson Nano 开机自动设置串口通信权限 为了使 NVIDIA Jetson Nano 设备上的串口通信能够在开机时自动设置权限,可以通过创建一个 systemd 服务文件来完成此操作。以下是具体方法: #### 创建 Systemd 服务文件 在 Linux 系统中,Systemd 是一种初始化系统和服务管理器,用于管理系统进程和资源。通过配置一个 service 文件,可以让特定命令在系统启动时执行。 1. **编辑 Service 文件** 使用文本编辑器(如 `nano` 或 `vim`),创建一个新的 service 文件: ```bash sudo nano /etc/systemd/system/serial-port-permission.service ``` 2. **填写 Service 配置内容** 将以下内容复制并粘贴到新创建的服务文件中: ```ini [Unit] Description=Set Serial Port Permissions on Boot After=network.target [Service] Type=oneshot ExecStartPre=/bin/sleep 5 ExecStart=/usr/bin/sudo /bin/chmod 777 /dev/ttyTHS1 RemainAfterExit=yes [Install] WantedBy=multi-user.target ``` 上述配置说明如下: - `[Unit]` 部分描述了该服务的作用以及依赖关系。 - `[Service]` 定义了实际要运行的命令。这里设置了 `/dev/ttyTHS1` 权限为 777[^2]。 - `ExecStartPre=/bin/sleep 5` 延迟几秒钟以确保设备完全加载后再修改权限。 - `RemainAfterExit=yes` 表明即使服务退出后仍认为其处于活动状态。 3. **启用并启动服务** 编辑完成后保存并关闭文件,接着重新加载 systemd 配置并启用服务: ```bash sudo systemctl daemon-reload sudo systemctl enable serial-port-permission.service sudo systemctl start serial-port-permission.service ``` 4. **验证权限更改效果** 可以通过以下命令查看指定串口设备的权限是否已成功更改为预期值: ```bash ls -l /dev/ttyTHS1 ``` 如果显示的结果类似于 `-rw-rw-rw-` 则表示权限设置正确[^2]。 #### 注意事项 - 修改硬件接口权限可能带来安全风险,请仅授予必要的访问权给可信程序或用户组。 - 不同型号的 Jetson Nano 和操作系统版本可能会有不同的默认串口号(例如 `/dev/ttyUSB0`, `/dev/ttyACM0`)。需确认目标串口路径再调整相应脚本中的参数[^1]。 ```python import os os.system("sudo chmod 777 /dev/ttyTHS1") # Python 脚本示例 ``` 以上代码片段展示了如何利用 Python 动态地赋予某个端口最高读写权限[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值