Your company here — click to reach over 10,000 unique daily visitors

irexec - Man Page

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).

Last change: Oct 2015 irexec 0.10.0