Il 08/01/2024 04:29, Max Nikulin ha scritto:
On 07/01/2024 12:44, Max Nikulin wrote:
setpriv --reuid 1000 --regid 1000 --init-groups --reset-env -- \
env XDG_RUNTIME_DIR="/run/user/1000" \
systemd-run --user --slice=app.slice -- \
xterm
Instead of tricks with setting proper context for a process executed
system-wide, I would consider a process running in user sessions and
listening for D-Bus events:
So your idea would be stopping and starting channel play by dbus messages?
I'm looking again with introspect, and I don't see anything like "stop"
in kaffeine.
$ dbus-monitor --system
"type='signal',interface='org.freedesktop.login1.Manager',member='PrepareForSleep'"
dbus-monitor: unable to enable new-style monitoring:
org.freedesktop.DBus.Error.AccessDenied: "Rejected send message, 1
matched rules; type="method_call", sender=":1.1080" (uid=1000 pid=48803
comm="dbus-monitor --system type='signal',interface='org")
interface="org.freedesktop.DBus.Monitoring" member="BecomeMonitor" error
name="(unset)" requested_reply="0" destination="org.freedesktop.DBus"
(bus)". Falling back to eavesdropping.
signal time=1704679328.754948 sender=org.freedesktop.DBus ->
destination=:1.1080 serial=2 path=/org/freedesktop/DBus;
interface=org.freedesktop.DBus; member=NameAcquired
string ":1.1080"
signal time=1704679441.870349 sender=:1.6 -> destination=(null
destination) serial=3187 path=/org/freedesktop/login1;
interface=org.freedesktop.login1.Manager; member=PrepareForSleep
boolean true
signal time=1704679448.065409 sender=:1.6 -> destination=(null
destination) serial=3233 path=/org/freedesktop/login1;
interface=org.freedesktop.login1.Manager; member=PrepareForSleep
boolean false
A tiny python script may be more convenient than dbus-monitor and
similar tools.
It seems too complex for me.