【问题标题】:How to run a script from startup on Raspbian 10 (buster)?如何在 Raspbian 10(buster)上从启动运行脚本?
【发布时间】:2019-09-10 14:40:41
【问题描述】:

我设计了一个 GUI,我想在我打开 Raspberry Pi 后立即运行它。它目前设置为在启动时自动以用户身份登录,但如果这使过程更加困难,我可以改变它。我的 Raspi 在 Raspbian 10 (buster) 上运行,这让事情变得很困难,因为我只能找到 Raspbian 8 左右的教程。

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

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

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

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

然后弹出一个新文件,但在底部我收到警告 [Directory '/etc/xdg/autostart' is not writable]

如何让我的 GUI 脚本在使用 Raspbian 10 (buster) 启动时运行?

【问题讨论】:

    标签: raspbian debian-buster


    【解决方案1】:

    这里有很多问题,首先,当您查看教程时认识到 Linux 发行版是分层构建的,为了简单起见,假设您的“层堆栈”看起来像这样:内核、systemd、x11、xdg、lxde。内核启动,然后启动 systemd,然后启动 x11(和许多其他东西),x11 启动 xdg(和其他一些东西,我认为),lxde 由 x11 或 xdg 启动,我不确定哪个。

    你想在这个进程中添加一些东西,你可以在内核级别(坏主意),在他们的 systemd 级别(可能不正确,除非它是一个守护进程),在 x11 级别(仍然可能很糟糕,因为你仍然还没有用户会话),或者在 xdg 或 lxde 级别。

    xdg 可能是正确的地方,因为它拥有你所需要的一切(一个 gui,一个用户会话),而且很常见(如果你切换窗口管理器,xdg 可能仍然可以工作)

    除此之外,为什么您修改 xdg 的解决方案不起作用?这是因为 '/etc/xdg/autostart' 是系统配置目录。对其所做的任何更改都将适用于所有用户。您可能想要这样做,但系统正试图保护您系统上的其他用户,并且只允许 root 对每个人进行更改。如果您想这样做,请使用“sudo”(在堆栈交换和互联网的其他地方记录)。如果您只想使用 ~/.config/autostart,(https://wiki.archlinux.org/index.php/XDG_Autostart) 您可能需要使用“mkdir ~/.config/”创建该目录,然后使用“emacs ~/.config/autostart”

    【讨论】:

    • 我运行了“mkdir ~/.config”,结果发现该目录已经存在,所以它必须被隐藏。但是,它不包含自动启动文件夹。如果我在 ~/.config 中创建这个文件夹,它是否仍然具有自动启动功能,还是只是一个名为 autostart 的新文件夹?
    • 我不知道,试试看?电脑玩起来很便宜。我的猜测是,执行自动启动的守护程序/函数将在 /etc/xdg/autostart 中查找,然后在 ~/.config/autostart 中查找,如果它没有找到它就不会做任何事情,如果它确实找到了它会做的事情它。
    【解决方案2】:

    让python程序从启动时在终端窗口中运行会更好吗?这样你就可以看到它在发生错误时正在做什么。

    如果是这样,不妨看看https://stackoverflow.com/a/61730679/7575617

    顺便说一句,在文件管理器中,点击 CTRL+H 来切换查看隐藏文件和文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-14
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      • 2015-10-25
      • 2020-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多