如何在树莓派启动时设置显示环境变量?

问题描述 投票:0回答:1

我有一个 Raspberry Pi 4,显示屏分辨率为 1280x800,没有键盘或鼠标。我通过 WiFi 远程 ssh 进入它,并对它进行编码以显示图像,最终无需我 ssh 进入它。我安装了 feh 并在 python 脚本中使用它来显示图像:

import subprocess
image = subprocess.Popen(["feh", "--hide-pointer", "-x", "-q", "-B", "black", "-g", "1280x800", "./test.jpg"])

如果我在命令行中输入,我就可以让这段代码工作

export DISPLAY=:0.0

事先。但是,我希望在启动时自动执行此操作,以便我也可以在启动时运行 python 代码并让它自主运行。我尝试将该行放入 /etc/profile 中,但没有成功。

抱歉我的操作系统太幼稚——这确实是一个弱点。提前感谢您的帮助。

python raspberry-pi raspberry-pi4
1个回答
0
投票

有几种方法可以做到这一点,我将列出最适合我的一种:

sudo nano /etc/pam.d/sudo

#并添加这一行

session optional pam_xauth.so

这是 ssh 问题的 GUI 的最终解决方案。这有助于使用 ssh 进行调试。

并使用 GUI 自动化任何 Python 代码以在启动时运行。 (将“main.py”替换为您的文件名。同时根据您的用户名更改目录名称。)

sudo nano launcher.sh

将以下行添加到此文件中

#!/bin/sh

#launcher.sh

#navigate to home directory, then to this directory, then execute python script, then back home

cd /

cd home/pi4

export DISPLAY=:0;sudo python3 main.py &

然后,要使其在启动时执行,请执行以下操作:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

#添加以下行

 ./launcher.sh

如果您在测试时需要通过 ssh 运行此代码并且收到无法使用“sudo”错误,请使用以下命令:

sudo apt-get install libatlas-base-dev

有关更多信息,请浏览我发现的此页面: https://www.instructables.com/Raspberry-Pi-Launch-Python-script-on-startup/

© www.soinside.com 2019 - 2024. All rights reserved.