irexec man page

irexec — run programs with one button press


irexec [options] [config_file]


irexec executes commands on an IR signal decoded by lircd, the LIRC daemon. It uses an lircrc config file where the config = entries are executed. E. g., given the following config file snippet

    prog   = irexec
    button = KEY_RED
    config = echo "KEY_RED"

irexec will echo KEY_RED on the terminal when the corresponding button is pushed on a remote. The command is an arbitrary shell command executed asynchronously - irexec does not wait for it to complete.


lircrc configuration file. irexec only uses entries with prog = irexec. The path defaults to ~/.config/lircrc.


-h, --help
Display usage summary
-v, --version
Display version
-d, --daemon
Make irexec fork to background. In this case a config file should be given on the command line as irexec won't be able to find any home directory.
-D, --loglevel [level]
Determine the amount of logging information. [level] can be a symbolic syslog level: error, warning, info, notice or debug. lirc also defines three additional levels trace, trace and trace2 which gives even more messages (trace2 bringing the most). However, in the log these messages are marked as debug. By default, no logging is done.
-n, --name <name>
Use this program name instead of the default irexec as identifier in the lircd.conf file.


Path to the lircd socket irexec reads from, defaults to /var/run/lirc/lircd.


Default config file
Config file used by the systemd irexec service.
Debug log. Setting the XDG_CACHE_HOME environment variable relocates this file to $XDG_CACHE_HOME/irexec.log


For versions up to 0.9.1 irexec used to wait until the executed program terminated. Old configuration files thus often includes a '&' appended to the command string to avoid being stuck in the command. This is not required in 0.9.2+ which cannot wait for command completion.

irexec should run as a service. The contrib directory contains a .desktop file which could be dropped in ~/.local/autostart. Doing so creates a service which can be handled by regular desktop tools such as gnome-tweak-tool on all major desktops. If running restricted commands such as powering off the machine is required, sudo(8) can be used to allow regular users to run such commands.

An alternative is to use the irexec.service systemd service which runs as root (and can run in parallel with the desktop service). Running as root has severe security implications. See the Configuration Guide in the html documentation.

See Also

The lircrc configuration file.

Referenced By

irxevent(1), lircrcd(8).

Explore man page connections for irexec(1).

irexec 0.9.4b Oct 2015