31 lines
		
	
	
		
			867 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			867 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # 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 dbus session: ${DBUS_SESSION_BUS_ADDRESS}"
 | |
| else
 | |
| 	echo "Could not find dbus session ID in user environment."
 | |
| 	return 1
 | |
| fi
 | |
| 
 | |
| return 0
 |