153a5a1b3Sopenharmony_ci[Unit]
253a5a1b3Sopenharmony_ciDescription=Sound Service
353a5a1b3Sopenharmony_ci
453a5a1b3Sopenharmony_ci# We require pulseaudio.socket to be active before starting the daemon, because
553a5a1b3Sopenharmony_ci# while it is possible to use the service without the socket, it is not clear
653a5a1b3Sopenharmony_ci# why it would be desirable.
753a5a1b3Sopenharmony_ci#
853a5a1b3Sopenharmony_ci# A user installing pulseaudio and doing `systemctl --user start pulseaudio`
953a5a1b3Sopenharmony_ci# will not get the socket started, which might be confusing and problematic if
1053a5a1b3Sopenharmony_ci# the server is to be restarted later on, as the client autospawn feature
1153a5a1b3Sopenharmony_ci# might kick in. Also, a start of the socket unit will fail, adding to the
1253a5a1b3Sopenharmony_ci# confusion.
1353a5a1b3Sopenharmony_ci#
1453a5a1b3Sopenharmony_ci# After=pulseaudio.socket is not needed, as it is already implicit in the
1553a5a1b3Sopenharmony_ci# socket-service relationship, see systemd.socket(5).
1653a5a1b3Sopenharmony_ciRequires=pulseaudio.socket
1753a5a1b3Sopenharmony_ciConditionUser=!root
1853a5a1b3Sopenharmony_ci
1953a5a1b3Sopenharmony_ci[Service]
2053a5a1b3Sopenharmony_ciExecStart=@PA_BINARY@ --daemonize=no --log-target=journal
2153a5a1b3Sopenharmony_ciLockPersonality=yes
2253a5a1b3Sopenharmony_ciMemoryDenyWriteExecute=yes
2353a5a1b3Sopenharmony_ciNoNewPrivileges=yes
2453a5a1b3Sopenharmony_ciRestart=on-failure
2553a5a1b3Sopenharmony_ciRestrictNamespaces=yes
2653a5a1b3Sopenharmony_ciSystemCallArchitectures=native
2753a5a1b3Sopenharmony_ciSystemCallFilter=@system-service
2853a5a1b3Sopenharmony_ci# Note that notify will only work if --daemonize=no
2953a5a1b3Sopenharmony_ciType=notify
3053a5a1b3Sopenharmony_ciUMask=0077
3153a5a1b3Sopenharmony_ciSlice=session.slice
3253a5a1b3Sopenharmony_ci
3353a5a1b3Sopenharmony_ci[Install]
3453a5a1b3Sopenharmony_ciAlso=pulseaudio.socket
3553a5a1b3Sopenharmony_ciWantedBy=default.target
36