Open 1player opened 2 years ago
What you ask can not be done. The reason is that does not exist a service in EasyEffects in the usual meaning of the word. We make use of a gtk feature that allows a gui application to keep running in the background when its window is closed. In order to make use of it the application has to be started with the command line option --gapplication-service
. That is what your autostart file is doing. And as it usually happens with most command line options it is something that can only be done in the application initialization phase.
So at the end of the day EasyEffects is still a gui application. We just pretend to be a service. In order to do what you want we would have to first rewrite EasyEffects implementing a true service and a client. What would definitely be a pain to do considering the amount of level meters and other stuff that we currently have.
All that being said I wonder why you are having crashes in the first place. Here on Arch Linux I am using the latest versions of EasyEffects, PipeWire(0.3.43
) and GNOME(41.1
) and the service starts as usual on login. No crashes.
for me i create user systemd service
steps:
1) go to /home/%user%/.config/systemd/user/
2) make our easyeffects.service file that's contain:
[Unit]
Description=easyeffects autostart config
[Service]
Restart=always
RestartSec=3
ExecStart=/usr/bin/easyeffects --gapplication-service
Nice=-10
[Install]
WantedBy=default.target
3)
systemctl --user daemon-reload
systemctl --user start easyeffects.service
systemctl --user status easyeffects.service
if all fine make final step:
systemctl --user enable easyeffects.service
and after this you can disable autostart checkbox maybe not perfect, but it works
What I use on my setup (Arch, with pipewire
, wireplumber
and pipewire-pulse
)
cat /home/admin/.config/systemd/user/easyeffects.service
[Unit]
Description=Keep EasyEffects Up
Requires=pipewire-pulse.socket
ConditionUser=!root
Wants=pipewire.service pipewire-session-manager.service
After=pipewire.service pipewire-session-manager.service
BindsTo=pipewire.service
StartLimitIntervalSec=60
StartLimitBurst=3
[Service]
Type=simple
ExecStart=/usr/bin/easyeffects --gapplication-service
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=pipewire.service
systemctl --user status pipewire.service pipewire-pulse.service easyeffects.service pipewire-session-manager.service
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
Active: active (running) since Tue 2024-01-09 11:14:53 CET; 49min ago
TriggeredBy: ● pipewire.socket
Main PID: 1230808 (pipewire)
Tasks: 4 (limit: 38421)
Memory: 42.0M (peak: 42.9M)
CPU: 3min 49.795s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
└─1230808 /usr/bin/pipewire
● pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; preset: enabled)
Active: active (running) since Tue 2024-01-09 11:16:15 CET; 48min ago
TriggeredBy: ● pipewire-pulse.socket
Main PID: 1234806 (pipewire-pulse)
Tasks: 3 (limit: 38421)
Memory: 55.4M (peak: 56.4M)
CPU: 5min 29.919s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
└─1234806 /usr/bin/pipewire-pulse
● easyeffects.service - Keep EasyEffects Up
Loaded: loaded (/home/admin/.config/systemd/user/easyeffects.service; enabled; preset: enabled)
Active: active (running) since Tue 2024-01-09 11:21:57 CET; 42min ago
Main PID: 1251100 (easyeffects)
Tasks: 14 (limit: 38421)
Memory: 56.9M (peak: 57.7M)
CPU: 8min 31.882s
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/easyeffects.service
└─1251100 /usr/bin/easyeffects --gapplication-service
● wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Active: active (running) since Tue 2024-01-09 11:16:15 CET; 48min ago
Main PID: 1234803 (wireplumber)
Tasks: 7 (limit: 38421)
Memory: 12.8M (peak: 13.6M)
CPU: 1min 39.237s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
└─1234803 /usr/bin/wireplumber
EasyEffects Version
6.2.1
What package are you using?
Flatpak (Flathub)
Distribution
Fedora 35 GNOME
Describe the bug
Due to recent pipewire bugs, the easyeffects service, which is configured to start at login, crashes. Right now when this happens I have to open the EasyEffects GUI and minimise it so it does its thing, or restart my whole session to have the background service restored.
Please give users a way of restarting the service from the application, or just start the background process, when configured to do so, when the GUI starts.
Expected Behavior
No response
Debug Log
No response
Additional Information
No response