]> code.delx.au - monosys/blobdiff - bin/xuserrun
Removed user-hook-sleep and xuserrun
[monosys] / bin / xuserrun
diff --git a/bin/xuserrun b/bin/xuserrun
deleted file mode 100755 (executable)
index d6909ce..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/bash
-# vim:ts=2:sts=2:sw=2
-
-#
-# Run a command as the currently active X11 user
-#
-
-seat="seat0"
-
-# determine location of loginctl
-LOGINCTL=$(command -v loginctl || command -v systemd-loginctl)
-if [[ -e LOGINCTL ]]; then
-  echo "Error: Unable to find loginctl executable"
-  exit 1
-fi
-
-get_session_info() {
-  local session="$1"
-  local varname="$2"
-  local IFS=$'\n'
-  eval declare -Ag $varname
-  for row in $(loginctl show-session "$session"); do
-    key="$(echo "${row}"|cut -d= -f1)"
-    val="$(echo "${row}"|cut -d= -f2-)"
-    eval ${varname}[\"${key}\"]=\"${val}\"
-  done
-}
-
-escape() {
-  for arg in "$@" ; do
-    printf "%q " "$arg";
-  done;
-}
-
-session_list="$(loginctl --no-legend | grep "$seat" | awk '{print $1}')"
-found_active_session=""
-for session in $session_list; do
-  get_session_info "$session" session_info
-  if [[ "${session_info[Active]}" = "yes" ]]; then
-    found_active_session="yes"
-    break
-  fi
-done
-if [ -z "${found_active_session}" ]; then
-  echo "Error: Unable to determine active session"
-  exit 1
-fi
-
-if [[ "${session_info[Type]}" != "x11" ]]; then
-  echo "Error: Active session is not x11"
-  exit 2
-fi
-
-current_user="$(id -u -n)"
-
-if [[ ${current_user} == ${session_info[Name]} ]]; then
-  # already correct user, no need to su
-  DISPLAY="${session_info[Display]}" "$@"
-else
-  # run command as user
-  DISPLAY="${session_info[Display]}" su -c - "${session_info[Name]}" "$(escape "$@")"
-fi