dbus-discover: Discover DBUS session bus
parent
c0aebcbe91
commit
1849c6a623
@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
# Discover DBUS session bus
|
||||
# Source: can't remember where this from...
|
||||
|
||||
# Remember to run this script using the command "source ./filename.sh"
|
||||
|
||||
# Search these processes for the session variable
|
||||
# (they are run as the current user and have the DBUS session variable set)
|
||||
compatiblePrograms=( nautilus kdeinit kded4 pulseaudio trackerd )
|
||||
|
||||
# Attempt to get a program pid
|
||||
for index in ${compatiblePrograms[@]}; do
|
||||
PID=$(pidof -s ${index})
|
||||
if [[ "${PID}" != "" ]]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [[ "${PID}" == "" ]]; then
|
||||
echo "Could not detect active login session"
|
||||
return 1
|
||||
fi
|
||||
|
||||
QUERY_ENVIRON="$(tr '\0' '\n' < /proc/${PID}/environ | grep "DBUS_SESSION_BUS_ADDRESS" | cut -d "=" -f 2-)"
|
||||
if [[ "${QUERY_ENVIRON}" != "" ]]; then
|
||||
export DBUS_SESSION_BUS_ADDRESS="${QUERY_ENVIRON}"
|
||||
echo "Connected to session:"
|
||||
echo "DBUS_SESSION_BUS_ADDRESS=${DBUS_SESSION_BUS_ADDRESS}"
|
||||
else
|
||||
echo "Could not find dbus session ID in user environment."
|
||||
return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
|
Loading…
Reference in New Issue