GitHub - Ventto/xpub: POSIX Shell script to get user's display environment variables of any TTY from anywhere. (original) (raw)

License Vote for xpub

"Xpub is a Shell script to get user's display environment variables of any X graphical session from anywhere."

Perks

Installation

$ git clone https://github.com/Ventto/xpub.git $ cd xpub $ chmod +x src/xpub.sh

Usage

Usage: xpub [-t TTY]

Without option, prints the X session information of the current user.

  -h:   Prints this help and exits.
  -v:   Prints the version and exits.
  -t:   prints the current TTY's user X session information.

Examples

From terminal

sudo is required.

$ xpub TTY=tty2 XUSER=alice XAUTHORITY=/home/alice/.Xauthority DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=/path

$ xpub -t tty2 XUSER=alice XAUTHORITY=/home/alice/.Xauthority DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=/path

Udev rules

IMPORT{program}="/usr/bin/xpub",
RUN+="/bin/su $env{XUSER} -c '/usr/bin/notify-send Hello'"

After editing your rules, you may need to run udevadm control --reload-rules.

For root

$ export (xpub);su"(xpub) ; su "(xpub);su"{XUSER}" -c '/usr/bin/notify-send Hello'

Shell scripts

xenv=$(xpub 2>/tmp/xpub.log)

if [ $# -ne 0 ]; then exit 1 else export ${xenv} fi

su "${XUSER}" -c "/usr/bin/notify-send Hello"