NatPierce & Sunshine systemctl 服务配置指南

NatPierce & Sunshine systemctl 服务配置指南

概述

本文记录 natpierce 和 sunshine 两个服务的正确配置方法。

区别

环境 适合运行 图形支持
系统服务 (root) 系统守护进程、硬件服务 ❌ 无图形环境
用户服务 (普通用户) GUI 程序、用户级守护 ✅ 完整图形环境

root 用户没有图形化界面环境(没有 DISPLAY、无 Xauthority、无 DBus 会话等),因此 GUI 程序必须用用户服务运行。


1. NatPierce 服务(系统级服务)

特点

  • 系统守护进程
  • root 权限运行
  • 无需图形界面

服务文件

ini 复制代码
[Unit]
Description=NatPierce Service
After=network.target

[Service]
Type=simple
ExecStart=/opt/natpierce/natpierce
Restart=always
RestartSec=5
User=root

[Install]
WantedBy=multi-user.target

文件位置

  • 服务文件:/etc/systemd/system/natpierce.service

2. Sunshine 服务(用户级服务)

特点

  • GUI 程序,需要图形环境
  • 当前用户权限运行
  • 登录后自启动
  • 关闭/崩溃自动重启

服务文件

ini 复制代码
[Unit]
Description=Sunshine Game Streaming
After=graphical-session.target

[Service]
ExecStart=/opt/sunshine/sunshine.AppImage
Restart=always
RestartSec=5

[Install]
WantedBy=graphical-session.target

文件位置

  • 服务文件:~/.config/systemd/user/sunshine.service

参数说明

  • Restart=always - 任何退出(包括手动关闭)都会自动重启
  • RestartSec=5 - 重启间隔 5 秒

常用命令

NatPierce (系统服务)

bash 复制代码
# 启动/停止/重启
sudo systemctl start natpierce.service
sudo systemctl stop natpierce.service
sudo systemctl restart natpierce.service

# 查看状态
sudo systemctl status natpierce.service

# 查看日志
sudo journalctl -u natpierce.service -f

Sunshine (用户服务)

bash 复制代码
# 启动/停止/重启
systemctl --user start sunshine.service
systemctl --user stop sunshine.service
systemctl --user restart sunshine.service

# 查看状态
systemctl --user status sunshine.service

# 查看日志
journalctl --user -u sunshine.service -f

注意事项

  1. GUI 程序必须用用户服务:不能用系统服务运行 GUI,否则会因缺少显示环境变量而失败
  2. 用户服务需要在登录后运行:图形会话启动后才会运行
相关推荐
A小辣椒12 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒15 小时前
TShark:基础知识
linux
AlfredZhao18 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩2 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言