Run commands as the currently-active X11 user
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
LICENSE Create LICENSE Mar 12, 2014 more README Sep 26, 2012
xuserrun fix whitespace Dec 13, 2012


Run commands as the currently-active X11 user

Usage: xuserrun [arg1 arg2 ...]


  • systemd
  • coreutils


This uses loginctl to determine the active session. If it is an X11 session, then the display and username are obtained from loginctl. command and all additional arguments are executed after switching to the active user and setting the DISPLAY variable appropriately.

Example Usage

On arch-linux, ACPI events are handled by /etc/acpid/, which runs as root. To send notifications the the current user, add a line to this script like:

/path/to/xuserrun notify-send "AC Adapter" "Plugged in"


This currently assumes that the user is on the default loginctl 'seat', and will need to be modified if you require multi-seat support (see Multi-Seat on Linux for more information).