我想运行一个 python 脚本,它在启动时执行 GUI(当 pi 启动时)。但是我在屏幕上看不到任何 GUI,但是当我打开终端时,我的程序会自动执行并出现 GUI。另外,我的程序在执行时需要互联网连接,但 pi 稍后连接到 wifi,我的脚本首先执行并以不连接到互联网结束。
在 pi 正确启动并且 pi 连接到互联网后,我的 python 脚本有什么办法执行
最佳答案
在不了解 Pi 的情况下进行设置有点困难。但假设您正在以其默认的“桌面”模式运行 raspbian:
- 通过
ssh
在 Pi 上打开终端或连接显示器/键盘。 - 首先我们需要允许您自动登录,因此
sudo nano /etc/inittab
打开 inittab 进行编辑。 - 查找行
1:2345:respawn:/sbin/getty 115200 tty1
并将其更改为#1:2345:respawn:/sbin/getty 115200 tty1
- 在该行下添加
1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1
。输入 Ctrl+O,然后输入 Ctrl+X 保存并退出 - 接下来,我们可以编辑rc.local。
sudo nano /etc/rc.local
- 添加一行
su -l pi -c startx
(将pi
替换为您要启动的用户名)在exit 0
上方线。这将在启动时启动 X,从而允许其他应用程序使用图形界面。 - 将要运行的命令添加到上一行下方(例如
python /path/to/mycoolscript.py &
),但仍在exit 0
上方线。
注意&
包含在这里。这会“ fork ”进程,即使您的脚本尚未退出,也允许其他命令运行。再次按 Ctrl+O 和 Ctrl+X 保存并退出。
现在,当您打开 Pi 时,它会自动登录、启动 X,然后启动您编写的 python 脚本!
Also, my program requires an internet connection on execution but pi connects to wifi later and my script executes first and ends with not connecting to the internet.
这应该在脚本本身中解决。创建一个简单的while
检查 Internet 访问、等待并重复直到 wifi 连接的循环。
关于python - 树莓派 : Auto run GUI on boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41021109/