如何在Raspbian 10(启动程序)上从启动运行脚本?

时间:2019-09-10 14:40:41

标签: raspbian debian-buster

我设计了一个GUI,希望在我打开Raspberry Pi时立即运行。目前已将其设置为在启动时以用户身份自动登录,但是如果这样会使过程变得更加困难,我可以进行更改。我的Raspi在Raspbian 10(破坏者)上运行,这使事情变得很困难,因为我只能找到Raspbian 8左右的教程。

我曾尝试修改autostart文件夹,但它与以前的Raspbian版本不在同一位置,并且似乎不像以前那样工作。教程说要在/home/pi/.config/autostart中创建一个.desktop文件,但是我没有.config文件夹,或者至少它是隐藏的。对我来说,自动启动位于/ etc / xdg / autostart中,当我尝试在终端中使用nano此处在此处创建新文件时,我收到消息[目录'/ etc / xdg / autostart'不可写”,但它没有。保存我的文件。

我也曾尝试在/etc/rc.local中调用我的脚本,但是它什么也没做。有人说它不适用于GUI。

这是我在终端中输入的内容:

$ nano /etc/xdg/autostart/gui.desktop

一个新文件弹出,但是在底部我得到警告[目录'/ etc / xdg / autostart'不可写'

如何使我的GUI脚本在Raspbian 10(破坏者)启动时运行?

2 个答案:

答案 0 :(得分:1)

这里有很多问题,首先,当您查看教程时,会认识到Linux发行版是内置于分层中的,为简单起见,我们可以说您的“分层堆栈”看起来像这样:kernel,systemd,x11,xdg,lxde。内核启动,然后启动systemd,然后启动x11(以及其他很多东西),x11启动xdg(我认为还有其他东西),lxde是由x11或xdg启动的,我不确定是哪个。 / p>

您想在此过程中添加一些东西,您可以在内核级别(不好的主意),在系统级(可能是不正确的,除非有它的守护程序),在x11级别(可能仍然很糟糕)还没有用户会话),或者处于xdg或lxde级别。

xdg可能是正确的位置,因为它很常见,同时又具有您所需要的所有功能(GUI,用户会话)(如果您切换窗口管理器,xdg仍然可以工作)

这样一来,为什么您修改xdg的解决方案不起作用?这是因为“ / etc / xdg / autostart”是系统配置目录。对其所做的任何更改将适用于所有用户。您可能想要这样做,但是系统正在尝试保护系统上的其他用户,并且仅允许root用户对所有人进行更改。如果要执行此操作,请使用“ sudo”(在堆栈交换和Internet上的其他位置记录)。如果只想使用〜/ .config / autostart(https://wiki.archlinux.org/index.php/XDG_Autostart),则可能需要先使用“ mkdir〜/ .config /”创建该目录,然后再使用“ emacs〜/ .config / autostart”来创建该目录。 “

答案 1 :(得分:0)

从启动时在终端窗口中运行python程序会更好吗?这样一来,您将看到发生错误时的操作。

如果是这样,也许可以检查一下https://stackoverflow.com/a/61730679/7575617

在文件管理器中,按 CTRL + H 可以切换查看隐藏文件和文件夹。