首页
  • GM-3568JHF
  • M4-R1
  • M5-R1
  • SC-3568HA
  • M-K1HSE
  • CF-NRS1
  • CF-CRA2
  • 1684XB-32T
  • 1684X-416T
  • C-3568BQ
  • C-3588LQ
  • GC-3568JBAF
  • C-K1BA
商城
  • English
  • 简体中文
首页
  • GM-3568JHF
  • M4-R1
  • M5-R1
  • SC-3568HA
  • M-K1HSE
  • CF-NRS1
  • CF-CRA2
  • 1684XB-32T
  • 1684X-416T
  • C-3568BQ
  • C-3588LQ
  • GC-3568JBAF
  • C-K1BA
商城
  • English
  • 简体中文
  • GM-3568JHF

    • 一、简介

      • GM-3568JHF 简介
    • 二、快速开始

      • 01 环境搭建
      • 02 编译说明
      • 03 烧录指南
      • 04 调试工具
      • 05 软件更新
      • 06 查看信息
      • 07 测试命令
      • 08 应用编译
      • 09 源码获取
    • 三、外设与接口

      • USB
      • 显示与触摸
      • 以太网
      • WIFI
      • 蓝牙
      • TF-Card
      • 音频
      • 串口
      • CAN
      • RTC
    • 四、应用开发

      • 01 UART读写案例
      • 02 按键检测案例
      • 03 LED灯闪烁案例
      • 04 MIPI屏幕检测案例
      • 05 读取 USB 设备信息案例
      • 06 FAN 检测案例
      • 07 FPGA FSPI 通信案例
      • 08 FPGA DMA 读写案例
      • 09 GPS调试案例
      • 10 以太网测试案例
      • 11 RS485读写案例
      • 12 FPGA IIC 读写案例
      • 13 PN532 NFC读卡案例
      • 14 TF卡读写案例
    • 五、QT开发

      • 01 ARM64交叉编译器环境搭建
      • 02 QT 程序加入开机自启服务
    • 六、其他

      • 01 根目录文件系统的修改
      • 02 系统自启服务

02 QT 程序加入开机自启服务

本文档将介绍通过修改 systemd 实现开机自动启动 QT 程序

1 创建 systemd 配置文件

在 /etc/systemd/system/ 目录下,创建服务配置文件,以 qt_display.service 为例

# 在 /etc/systemd/system/ 目录下,创建服务配置文件
sudo vim /etc/systemd/system/qt_display.service

配置文件范例

# qt_display.service
[Unit]
Description=Qt Display Application
After=graphical.target
Requires=graphical.target
Wants=graphical.target

[Service]
Type=simple
ExecStartPre=/bin/sleep 10
ExecStart=/home/linaro/Desktop/ad_test/build-ad_display-Desktop-Debug/ad_display -d ad7606 -m 1
User=root
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/root/.Xauthority"
Environment="LD_LIBRARY_PATH=/home/linaro/Desktop/qwt-6.1.4/build/lib:$LD_LIBRARY_PATH"
Restart=on-failure
RestartSec=3

[Install]
WantedBy=graphical.target

配置文件各参数含义

[Unit]

Description=服务描述

After=该服务在什么目标或服务启动后启动

Requires=该服务需要某个目标或服务处于活动状态才能启动。

Wants=该服务希望某个目标或服务处于活动状态,但不会强制要求。

[Service]

Type=服务类型

ExecStartPre=主进程启动前完成的命令和脚本

ExecStart=启动服务要执行的命令---主进程

User=运行服务的用户身份

Environment=设置环境变量

Restart=重启服务要求

RestartSec=重启的延迟时间

[Install]

WantedBy=指定该服务在什么目标启动时被启动

2 启动系统服务

重新加载系统服务,启用并启动服务

# 重新加载系统服务
sudo systemctl daemon-reload

# 启用服务
sudo systemctl enable qt_display.service

#启动服务
sudo systemctl start qt_display.service

检查服务启动是否正常,若正常则重启系统,验证开机是否自动启动该服务,若有问题则执行下面指令查询错误

# 检查服务状态
sudo systemctl status qt_display.service

# 查看系统日志
journalctl -u qt_display.service

3 其他常用指令

# 禁用系统服务
sudo systemctl disable qt_display.service

#停止服务
sudo systemctl stop qt_display.service
在 GitHub 上编辑此页
上次更新:
贡献者: hjf
Prev
01 ARM64交叉编译器环境搭建