Man Linux: Main Page and Category List


       lircd  -  LIRC  daemon  decodes infrared signals and provides them on a
       Unix domain socket.


       lircd [options] [config-file]


       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 which is  located  in  var/run/lirc/lircd.
       Using  this  socket  they will get the infrared codes received by lircd
       and they can send commands to lircd.

       -h --help
              display this message

       -v --version
              display version

       -n --nodaemon
              don't fork to background

       -p --permission=mode
              file permissions for /var/run/lirc/lircd

       -H --driver=driver
              use given driver

       -d --device=device
              read from given device

       -l --listen[=[address:]port]
              listen for network connections

       -c --connect=host[:port]
              connect to remote lircd server

       -o --output=socket
              output socket filename

       -P --pidfile=file
              daemon pid file

       -L --logfile=file
              daemon log file

       -r --release[=suffix]
              auto-generate release events

       -a --allow-simulate
              accept SIMULATE command

       -u --uinput
              generate Linux input events

       -R --repeat-max=limit
              allow at most this many repeats


       The --permission option gives the file permission of var/run/lirc/lircd
       if it has to be created in octal representation. Read the documentation
       for chmod for further details. 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
       /var/run/lirc/lircd already exists this option has no effect.

       With  the  --device  option  you  can select the character device which
       lircd should read from. The  default  currently  is  /dev/lirc  but  it
       probably will change in future.

       If  you're  using  the  dev/input  driver,  you  can use name=STRING or
       phys=STRING 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. STRING may contain the '*' and '?'  wildcards and '\'
       to mark them as literal.

       With  the  --listen  option  you  can  let  lircd  listen  for  network
       connections on the given address/port. The default address is,
       which  means  that  connections  on  all  network  interfaces  will  be
       accepted.  The default port is 8765. No security checks  are  currently
       implemented.   The  listening lircd instance will send all IR events to
       the connecting lircd instances.

       The --connect option allows you to connect to other lircd servers  that
       provide  a network socket at the given host and port number. 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.

       With the --output option you can select Unix domain socket, which lircd
       will   write   remote   key   codes   to.   The  default  currently  is

       With the --pidfile option you can select the  lircd  daemon  pid  file.
       The default currently is /var/run/lirc/

       With  the  --logfile  option  you can select the lircd daemon log file.
       The default currently is /var/log/lircd. Note  that  this  option  will
       only be available if you compiled lircd without syslog support.

       The --release option enables automatic generation of release events for
       each button press. lircd will append the given  suffix  to  the  button
       name  for  each release event. If no suffix is given the default suffix
       is '_UP'.

       The --allow-simulate option will enable the SIMULATE command which  can
       be  issued  using  irsend(1).  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
       you 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.

       On Linux systems the --uinput option will enable  automatic  generation
       of Linux input events. lircd will open /dev/input/uinput and inject key
       events to the Linux kernel. The key code depends on the name  that  was
       given  a  button  in the lircd config file, e.g. if the button is named
       KEY_1, the '1' key code will be generated. You  will  find  a  complete
       list of possible button names in /usr/include/linux/input.h.

       The  --repeat-max  option  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


       The config file for lircd is located in /etc/lirc/lircd.conf. lircd has
       its own log file in /var/log/lircd (beginning with LIRC  version  0.6.1
       you  can  configure  lircd  to  use  syslogd  for log messages; then it
       depends on your system configuration where log messages will show  up).
       You  can  make  lircd reread its config file and reopen its log file by
       sending the HUP signal to the program. That way you can rotate old  log


       lircd and lircmd are daemons. You should start them in some init script
       depending on your system. There are some example scripts for  different
       distributions  in the contrib directory. lircmd has to be started after
       lircd as it connects to the socket lircd provides.

       If you start lircd or lircmd from your shell prompt  you  will  usually
       get back immediately to the prompt. Often people think that the program
       has died. But this is not an  error.  lircd  and  lircmd  are  daemons.
       Daemons always run in background.


       The  documentation  for  lirc  is  maintained  as  html pages. They are
       located under html/ in the documentation directory.