Ubuntu系统 systemd 开机自启动服务

2024-09-21 09:01
27

本文介绍在Ubuntu20.04系统上创建一个 systemd 服务,延迟 5 秒启动 glmark2-es2。


1. 创建 hua-chips-auto-service.sh 脚本

启动时运行 glmark2-es2 测试,新建脚本 /usr/local/bin/hua-chips-auto-service.sh。


sudo vi /usr/local/bin/hua-chips-auto-service.sh   

#!/bin/bash

# 等待5秒

sleep 5


# 设置 XAUTHORITY 以确保脚本可以访问当前用户的 X 会话

export XAUTHORITY=/home/hua-chips/.Xauthority


# 设置 DISPLAY 环境变量,以指向默认的显示器

export DISPLAY=:0


# 进行图形性能测试

glmark2-es2   

使脚本可执行:


sudo chmod +x /usr/local/bin/hua-chips-auto-service.sh


2. 创建 systemd 服务文件

新建文件/etc/systemd/system/hua-chips-auto.service


sudo vi /etc/systemd/system/hua-chips-auto.service

[Unit]

Description=HuaChips Auto Service


# 定义服务在图形界面启动后再启动

After=graphical.target


[Service]

Type=oneshot

RemainAfterExit=yes


# 使用hua-chips用户执行脚本

ExecStart=/bin/su - hua-chips -c "/usr/local/bin/hua-chips-auto-service.sh"


Environment=DISPLAY=:0

Environment=XAUTHORITY=/home/hua-chips/.Xauthority


[Install]

WantedBy=default.target


3. 启用和启动服务


# 重新加载 systemd 配置以识别新的服务文件


sudo systemctl daemon-reload;


# 启用服务,使其在系统启动时自动运行

sudo systemctl enable hua-chips-auto.service;


# 立即启动服务以测试配置

sudo systemctl start hua-chips-auto.service


# 检查服务状态以确保正常运行


sudo systemctl status hua-chips-auto.service


正常返回结果,带SUCCESS字段:

hua-chips@hua-chips:~$ sudo systemctl status hua-chips-auto.service

[sudo] password for neardi:

● hua-chips-auto.service - HuaChips Auto Service

Loaded: loaded (/etc/systemd/system/hua-chips-auto.service; enabled; vendor preset: enabled)

Active: active (exited) since Mon 2024-09-02 13:52:09 UTC; 11min ago

Process: 558 ExecStart=/bin/su - hua-chips -c /usr/local/bin/hua-chips-auto.sh (code=exited, status=0/SUCCESS)

Main PID: 558 (code=exited, status=0/SUCCESS)


Sep 02 13:46:20 hua-chips systemd[1]: Starting Neardi Auto Service...

Sep 02 13:46:20 hua-chips su[558]: (to hua-chips) root on none

Sep 02 13:46:20 hua-chips su[558]: pam_unix(su-l:session): session opened for user neardi by (uid=0)

Sep 02 13:52:09 hua-chips systemd[1]: Finished hua-chips Auto Service.




福州华芯创辉科技(hua-chips)是一家专注从事嵌入式方案设计与研发的高新企业,拥有一支多年从事嵌入式研发的团队。团队擅长全国产化替代方案设计,工业控制产品研发,AI产品研发等。产品所涉及的领域包括安防,电力,轨道交通,码头等。 已陆续推出了基于RK3588, RK3576, RK3568,RV1126 等芯片的多款产品,获得客户的一致认可。 我们也为客户提供专业的定制服务,如您有任何产品问题,设计问题都可以通过右侧的联系方式联系我们,我们会有专人为您进行解答。
产品展示
热门文章