.TH LIRCD "8" "Last change: Jun 2017" "lircd 0.10.2" "System Administration Utilities" .SH NAME .P \fBlircd\fR - Decode infrared signals and provide them on a socket. .SH SYNOPSIS .B lircd [\fIoptions\fR] [\fIconfig file\fR] .SH DESCRIPTION The main task of lircd is to decode the infrared signals and provide an uniform interface for client applications. Clients can connect to lircd through a Unix domain socket, by default /var/run/lirc/lircd. Using this socket they will get the infrared codes received by lircd and they can send commands to lircd. .PP .SH ARGUMENTS .TP 4 .I config file The configuration file, by default /etc/lirc/lircd.conf. A relative path is interpreted from /etc/lirc. The default configuration file includes all files in /etc/lircd.conf.d. .IP Each remote which should be decoded by lircd usually requires that a specific file is used e. g., by copying it to /etc/lirc/lirc.conf.d/. The format is described in lircd.conf(5). Configuration files could be found using irdb-get(1) or lirc-setup(1). It's also possible to generate a config file using irrecord(1) .SH OPTIONS Common options: .TP 4 \fB-d, --device\fR <\fIdevice\fR> Select the character device which lircd should read from. The default is currently /dev/lirc0 on most systems. .IP Some drivers, including the default \fIdevinput\fR driver, supports the \fIauto\fR device which picks the first usable device found for the actual driver. .IP "" 4 When using the devinput driver \fIname=STRING\fR or \fIphys=STRING\fR can be used to select the device; lircd will look in /dev/input to find a device with a matching description. This is useful in case the device name isn't fixed. \fISTRING\fR may contain the '*' and '?' wildcards and '\\' to mark them as literal. Use \fBmode2 \-\-driver devinput \-\-list-devices \fRto list the actual devices. .TP \fB-H, --driver\fR <\fIdriver\fR> The driver to use. Using .I --driver help lists all available drivers, see DRIVER LOADING below. .TP \fB-h, --help\fR Displays short help message. .P Other options: .TP 4 \fB-a, --allow-simulate\fR Enable the SIMULATE command which can be issued using irsend(1) or the client API. This will allow simulating arbitrary IR events from the command line. Use this option with caution because it will give all users with access to the lircd socket wide control over the system. E.g., if you have configured your system to shut down by a button press on your remote control, everybody will be able to shut down your system from the command line. .TP 4 \fB-c, --connect\fR [\fIhost[:port]][,[host[:port]]\fR] Connects to other lircd servers that provide a network socket at the given host and port number (see \fI--listen\fR). The number of such connections is currently limited to 100. The connecting lircd instance will receive IR events from the lircd instance it connects to. To connect to multiple servers, add them as a comma separated list. .TP \fB-e, --effective-user\fR <\fIuid\fR> If started as user root, lircd drops it privileges and runs as user after opening files etc. .TP 4 \fB-i, --immediate-init\fR Lircd normally initializes the driver when the first client connects. If this option is selected, the driver is instead initialized immediately at start. .TP 4 \fB-A, --driver-options\fR \fIkey:value[|key:value...]\fR Set one or more options for the driver. The argument is a list of key:value pairs delimited by '|'. The key can not contain spaces, but such are allowed in the value part. Certain characters including '#' and ';' are used as comment markers in the config file and are not allowed anywhere. .TP \fB-Y, --dynamic-codes [EXPERIMENTAL]\fR Allows use of codes which have been decoded for one remote but are not defined in lircd.conf. New codes are dynamically created with a default name. This feature is experimental and subject to all sorts of changes. It has not ben tested thoroughly. .TP 4 \fB-l, --listen\fR [\fI[address:]port]\fR] Let lircd listen for network connections on the given address/port. The default address is 0.0.0.0, which means that connections on all network interfaces will be accepted. The address must be given in dotted numerical form. Port defaults to 8765. The listening lircd instance will send all IR events to the connecting lircd instances without any security checks. .IP On non-glibc platforms the address:port argument is mandatory, but can be given as an empty string e. g. \fI--listen=\fR which then defaults to \fB0.0.0.0:8765\fR. .TP 4 \fB-L, --logfile\fR <\fIlogfile path\fR> Select the lircd daemon log file. logfile is either the string 'syslog' indicating that syslog(1) should be used or a log file path. The default is to use syslog. .TP 4 \fB-D, --loglevel\fR [\fIlevel\fR] Determine the amount of logging information. \fIlevel\fR can be a symbolic syslog level: 'error','warning, 'info', 'notice' or 'debug'. lircd also defines three additional levels 'trace', 'trace1' and 'trace2' which gives even more messages ('trace2' bringing the most). However, in the log these messages are marked as 'debug'. .IP On non-glibc platforms the \fIlevel\fR argument is mandatory, but can be given as an empty string e. g. \fI--loglevel=\fR which then defaults to \fBdebug\fR. .IP The level can also be an integer in the range 3 (almost no messages) to 10. .TP 4 \fB-O, --options-file\fR <\fIpath\fR> File containing default values for all options. A relative path is interpreted from current directory. See [FILES] below. .TP 4 \fB-o, --output\fR <\fIoutput socket\fR> Select Unix domain socket, which lircd will write remote key codes to. The default currently is /var/run/lirc/lircd. .TP 4 \fB\-p, \-\-permission\fR <\fIperm\fR> Gives the file permission of the output socket if it has to be created in octal representation. See chmod(1). If no \-\-permission option is given when the socket is initially created the default is to give all users read and write permissions (0666 in octal representation). If the socket already exists this option has no effect. .TP 4 \fB-p, --pidfile\fR <\fIpath\fR> Select the lircd daemon pid file, defaults to /var/run/lirc/lircd.pid. .TP \fB-U --plugindir\fR <\fIpath\fR> Sets the directory from which lircd loads it's userspace drivers. These are *.so files, by default found as described under DRIVER LOADING. The argument is a :-separated search path. .TP 4 \fB-R, --repeat-max\fR <\fIlimit\fR> Sets an upper limit to the number of repeats when sending a signal. The current default is 600. A SEND_START request will repeat the signal this many times. Also, if the number of repeats in a SEND_ONCE request exceeds this number, it will be replaced by this number. .SH SOCKET BROADCAST MESSAGES FORMAT .P When decoding a button press or receiving a SIGHUP signal lircd.conf \fBlircd\fR broadcasts messages to all connected clients. .P For each decoded button press a package is made available on the socket. This is printable data formatted as: .nf