Neptune 3 UI - Systemd 服务设置

Neptune 3 UI 服务文件中有三个部分

  • [Unit]
  • [Service]
  • [Install]

[Unit] 部分

本部分描述了服务本身,包括依赖项和/或冲突,以及加载顺序。

本部分由以下变量组成:

变量描述
Description=Neptune3-UI系统工具显示的服务描述
After=dbus.service [email protected] systemd-user-sessions.service ivi-services.target加载顺序(After=dbus.service)。这意味着 Neptune 3 UI systemd 服务将在 dbus.service 之后加载。然后是 dbus 用户会话(有两个会话 - 用户和系统会话),以及为 Neptune 3 UI 提供数据的多个服务(ivi-services.target)。
Wants=ivi-services.target [email protected]表示 ivi-services.target 和 dbus 用户会话存在直接依赖关系。
Conflicts=neptune-qsr.service Before=neptune-qsr.service OnFailure=neptune-qsr.service这些变量描述了启动行为:首先 neptune3-ui 启动,然后它与 QSR 内容应用冲突。此外,这些变量意味着如果 neptune3-ui 故障,则 QSR 内容应用应启动。这可以只是 {conflicts},但在这种情况下,systemd 不会等待 Neptune 3 UI 完全关闭,而是同时关闭这两个服务。

[Service] 部分

本部分描述了服务的启动方式以及使用的参数。

变量描述
User=root以 root 用户(Linux/Unix 的管理员)启动。
ExecStart=/opt/neptune3/neptune3-ui -r --dbus session -c am-config-neptune.yaml服务启动命令。
WorkingDirectory=/opt/neptune3在服务启动之前,systemd 会切换到的目录。
EnvironmentFile=/etc/default/qt从格式为 变量=值 的文件中加载环境变量。
Environment=AM_STARTUP_TIMER=1当设置为 "1" 时,此变量启用测量 Neptune 3 UI 启动所需的时间。在这种情况下,测量的时间值将显示在系统菜单中。当设置为 "0" 时,将关闭 Neptune 3 UI 启动所需时间的测量,并且不会在系统菜单中显示。
Environment=QT_QPA_EGLFS_HIDECURSOR=1此变量管理鼠标指针的可见性:当设置为 "1" 时,鼠标指针将隐藏,当设置为 "0" 时,它将可见。

[Install] 部分

本部分确定了服务文件将如何安装。

变量描述
WantedBy=multi-user.target在此用例中,服务文件是多用户系统目标的一部分。因此,它将作为依赖项之一安装。

注意:在任何情况中修改 .service 文件时,都需要运行 systemctl daemon-reload,否则 systemd 不会重新加载文件更改并使用旧文件。

©2019 Luxoft Sweden AB。此处包含的文档贡献是各自拥有者的版权。
提供的文档许可证根据 Fedora Software Foundation 发布的 GNU 自由文档许可协议版本 1.3 条款。
Qt 及其相关标志是芬兰 Qt 公司及其在其他国家/地区的商标。所有其他商标均为各自所有者的财产。