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. 用户服务需要在登录后运行:图形会话启动后才会运行
相关推荐
LongRunning12 小时前
【Linux】RK3568-OpenCV+YOLO(八)
linux·opencv·yolo
民乐团扒谱机15 小时前
【微实验】NSGA-II(非支配排序遗传算法)——解决多目标优化问题的“自然选择模拟器”
linux·人工智能·算法
물の韜15 小时前
ZYNQ/FMQL系列Linux之I2C开发实战
linux·arm开发·嵌入式硬件·设备树·iic·zynq
qq_3718021115 小时前
Ubuntu Linux中安装WorkBuddy
linux·运维·服务器·ubuntu
无足鸟ICT16 小时前
【RHCA+】iptraf-ng(网络监控分析)
linux·网络
独隅16 小时前
WebStorm 在 Linux 环境下的实战安装与高效开发指南
linux·ide·webstorm
坤坤子吖18 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
阡陌数智18 小时前
Claude API新版本重大变更与安全升级指南
java·linux·安全
奶茶树18 小时前
【Linux】环境开发工具(vim,gcc,g++,Makefile)
linux·运维·vim
木子欢儿1 天前
国内 macOS/Linux 安装 rust
linux·运维·服务器·macos·rust