运行 python 当互联网连接在 Jetson Nano 上可用时的脚本 (Ubuntu 18.04)
Run python script when internet connection becomes available on Jetson Nano (Ubuntu 18.04)
我需要设置一个 Jetson Nano 设备,以便在每次互联网连接可用时启动 Python 脚本。
因此,参考 this question,我做了以下操作:
- 我创建了 'run_when_connection_available' 脚本:
#!/bin/sh
# create a dummy folder to check script execution
mkdir /home /user_name/dummy_folder_00
# kill previous instances of the system
pkill python3
# move to folder with python script and launch it
cd /home/user_name/projects/folder
/usr/bin/python3 launcher.py --arg01 --arg02 ...
# create another dummy folder to check script execution
mkdir /home /user_name/dummy_folder_01
- 我使这个脚本可执行并将它复制到 /etc/network/if-up.d
现在,每次我插拔以太网电缆时,我都可以看到在 /home/user_name 中创建了虚拟文件夹,但是 python 脚本没有启动(至少,它不会出现在系统监视器中)。我从终端尝试 运行 脚本中的命令,一切正常,python 程序按预期启动。我做错了什么吗?
我想找出一些与你相似,但又不完全相同的东西..
这个解决方案得到了我的脚本 python 脚本 运行ning 在互联网连接后 ,我可以检查日志并且一切正常:
Raspbian - Running A Script After An Internet Connection Is Established
但是,我的脚本使用 notify-send 向我的 window 经理发送通知,我似乎无法使用 systemd - 当 运行 在用户 space 所以我认为这与 systemd 和 Xorg 有关。希望这对您来说不是问题,我希望这能解决您的问题。
中间不需要 bash 脚本,我使用 chmod u+x <file>.py
为 运行 我的 python 脚本提供了 systemd 服务,并将 #!/usr/bin/env python3
在 python 文件的顶部,这样它就可以直接在 .service 文件下执行,如下所示:
ExecStart=/path/to/file/file.py
好吧,我猜是权限的问题,我通过运行一切都解决了user_name,所以我修改脚本为
sudo -user user_name /usr/bin/python3 launcher.py --arg01 --arg02 ...
我需要设置一个 Jetson Nano 设备,以便在每次互联网连接可用时启动 Python 脚本。
因此,参考 this question,我做了以下操作:
- 我创建了 'run_when_connection_available' 脚本:
#!/bin/sh
# create a dummy folder to check script execution
mkdir /home /user_name/dummy_folder_00
# kill previous instances of the system
pkill python3
# move to folder with python script and launch it
cd /home/user_name/projects/folder
/usr/bin/python3 launcher.py --arg01 --arg02 ...
# create another dummy folder to check script execution
mkdir /home /user_name/dummy_folder_01
- 我使这个脚本可执行并将它复制到 /etc/network/if-up.d
现在,每次我插拔以太网电缆时,我都可以看到在 /home/user_name 中创建了虚拟文件夹,但是 python 脚本没有启动(至少,它不会出现在系统监视器中)。我从终端尝试 运行 脚本中的命令,一切正常,python 程序按预期启动。我做错了什么吗?
我想找出一些与你相似,但又不完全相同的东西..
这个解决方案得到了我的脚本 python 脚本 运行ning 在互联网连接后 ,我可以检查日志并且一切正常:
Raspbian - Running A Script After An Internet Connection Is Established
但是,我的脚本使用 notify-send 向我的 window 经理发送通知,我似乎无法使用 systemd - 当 运行 在用户 space 所以我认为这与 systemd 和 Xorg 有关。希望这对您来说不是问题,我希望这能解决您的问题。
中间不需要 bash 脚本,我使用 chmod u+x <file>.py
为 运行 我的 python 脚本提供了 systemd 服务,并将 #!/usr/bin/env python3
在 python 文件的顶部,这样它就可以直接在 .service 文件下执行,如下所示:
ExecStart=/path/to/file/file.py
好吧,我猜是权限的问题,我通过运行一切都解决了user_name,所以我修改脚本为
sudo -user user_name /usr/bin/python3 launcher.py --arg01 --arg02 ...