IREXEC(1)

NAME

irexec - run programs with one button press

SYNOPSIS
irexec [options] [config_file]

DESCRIPTION

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
    begin
        prog   = irexec
        button = KEY_RED
        config = echo "KEY_RED"
    end

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.

ARGUMENTS

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

OPTIONS

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

ENVIRONMENT

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

FILES

~/.config/lircrc
    Default config file

/etc/lirc/lircrc
    Config file used by the systemd irexec service.

~/.cache/irexec.log
    Debug log. Setting the XDG_CACHE_HOME environment variable relocates this file to $XDG_CACHE_HOME/irexec.log

NOTES

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

lircrc(5)
    The lircrc configuration file.