TI论坛
直播中

赵辉

13年用户 967经验值
私信 关注
[问答]

如何在BeagleBone Black+DLP2000套件启动桌面后,自动启动一个QT程序呢?


  • 我有BeagleBone Black+DLP2000的套件,并且能成功显示出桌面
    我希望能在设备启动后自动打开并显示QT程序。
    我目前是在/etc/profile内加入export DISPLAY=:0.0 & /home/QTAPP -qws &
    但是这个命令在设备重启后并没有被执行
    只有当我用putty登录后,才能执行?

    所以我希望问一下,如何能不登陆就可以自动启动QT程序?

回帖(1)

李英

2025-3-3 17:20:01
要在BeagleBone Black+DLP2000套件启动桌面后自动启动一个QT程序,您需要将启动QT程序的命令添加到系统启动脚本中。以下是详细步骤:

1. 首先,确保您的QT程序已经正确安装在BeagleBone Black上,并且可以在桌面环境下运行2。

. 接下来,您需要找到系统启动脚本的位置。在大多数Linux系统中,启动脚本位于`/etc/init.d/`目录下。您需要创建一个新的启动脚本,以便在系统启动时自动运行您的QT程序。

3. 创建一个新的启动脚本文件,例如`qtapp_autostart.sh`。您可以使用以下命令创建文件:

   ```
   sudo nano /etc/init.d/qtapp_auto.shstart
   ```

4. 在新创建的脚本文件中,添加以下内容:

   ```bash
   #!/bin/bash
   ### BEGIN INIT INFO
   # Provides:          qtapp_autostart
   # Required-Start:    $remote_fs $syslog
   # Required-Stop:     $remote_fs $syslog
   # Default-Start:     2 3 4 5
   # Default-Stop:      0 1 6
   # Short-Description: Start qtapp at boot time
   # Description:       Enable service provided by qtapp.
   ### END INIT INFO

   case "$1" in
     start)
       echo "Starting qtapp..."
       export DISPLAY=:0.0
       /home/QTAPP -qws &
       ;;
     stop)
       echo "Stopping qtapp..."
       ;;
     *)
       echo "Usage: /etc/init.d/qtapp_autostart.sh {start|stop}"
       exit 1
       ;;
   esac

   exit 0
   ```

   请确保将`/home/QTAPP`替换为您的QT程序的实际路径。

5. 保存并关闭文件。然后,使脚本文件具有可执行权限:

   ```
   sudo chmod +x /etc/init.d/qtapp_autostart.sh
   ```

6. 将新创建的启动脚本添加到系统服务中,以便在启动时自动运行:

   ```
   sudo update-rc.d qtapp_autostart.sh defaults
   ```

7. 现在,当您的BeagleBone Black+DLP2000套件启动时,系统将自动启动QT程序。

通过以上步骤,您应该能够在不登录的情况下,在BeagleBone Black+DLP2000套件启动桌面后自动启动QT程序。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分