4

我开发了一个应用程序,让用户可以在屏幕上查看特定时间。我正在使用 pygames 库,并且在用户运行 .py 文件后 GUI 是全屏的。

我想要一个解决方案,以便用户不需要运行文件,而是在登录完成后文件自行执行。

4

4 回答 4

3

将脚本添加到/etc/rc.local文件中。

在 Raspberry Pi 上,/etc/rc.local使用文本编辑器打开。我使用 Vim 和sudo命令。

打开文件后,您将看到如下内容:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

# Add your script here
/home/pi/somescript.sh

exit 0

将路径添加到脚本后,文件将在重新启动时执行。如果您想在登录时运行,请执行相同的操作,但.bashrc改为编辑您的文件。

于 2014-06-17T00:44:28.680 回答
1

假设桌面是 LXDE,LXSession 可用于在登录时自动启动应用程序。要进行配置:菜单 -> 首选项 -> LXSession 的默认应用程序

单击“自动启动” * 禁用自动启动的应用程序?= 没有

在“+添加”旁边的框中输入应用程序的名称,然后按“+添加”,它将出现在“手动自动启动的应用程序”下。

为应用程序设置自动启动

注销并重新登录,应用程序应该启动。

登录后自动启动应用程序

于 2019-12-31T03:53:14.473 回答
0

Raspberry Pi 运行Debian操作系统。

可以在此处找到有关如何在启动时运行 Python 脚本的相关讨论。

如果您想在新终端启动时运行该脚本,您需要更新您的 .bash_profile、.profile 和 .bashrc 文件。更多关于此的信息在这里

于 2013-07-30T06:20:26.850 回答
0

TLDR:使用autostart目录。

为自动启动创建一个新条目...

cd /home/pi/.config/autostart/
sudo vim miner.desktop

miner.desktop中,我添加了我想在用户登录后启动时运行的命令。如果您不确定格式,通常该文件夹中已经有一个示例(对我来说,它是LXinput-setup.desktop),您可以使用它如果需要,作为模板。

[Desktop Entry]
Type=Application
Name=Miner (or whatever you want to call it)
Comment=MINE! (or whatever comment you want to add)
Exec=lxterminal --working-directory=/home/pi/Documents/miner/ -e ./start_moonlander2.sh
NotShowIn=GNOME;KDE;XFCE

可以想象, 的值Exec是实际执行的值。让我们分解这个命令......

lxterminal --working-directory=/home/pi/Documents/miner/ -e ./start_moonlander2.sh
  • lxterminal:为终端窗口启动新进程的应用程序。
  • --working-directory=/home/pi/Documents/miner/:设置执行的工作目录。如果您的脚本使用本地文件(即,如果它的应用程序资产位于等),这将非常重要。/pi/Documents/miner/
  • -e ./start_moonlander2.sh:这是在先前指示的工作目录中运行的命令。我正在执行一个sh使用工作目录中的资产的本地脚本。

想知道你半途而废吗?如果您在新的终端窗口中运行,您的 lxterminal 命令应该自行运行。这将导致一个新的终端窗口弹出并运行您的命令。如果它崩溃了,那么它不太可能用新的 正确启动[DeskTop Entry],你需要先让它工作。

于 2020-11-22T17:27:05.533 回答