LIRCRCD(8)
π LIRCRCD π
okay bestie, welcome to lircrcd from the System Manager Manual section 8 β she's a little daemon with main character energy whose whole job is keeping your LIRC clients in sync, and honestly? iconic.
β¨ NAME β¨
lircrcd β Synchronize lircrc state among client applications.
πΈ SYNOPSIS πΈ
lircrcd [options] config-file
π¦ DESCRIPTION π¦
So here's the tea, bestie: lircrcd reads the .lircrc config file you hand it, and then it keeps the mode that the LIRC clients are in all synced up β you know, clients like irexec(1), irxevent(1), etc. It's giving group-chat moderator, but for modes.
Now listen, you can't just use lircrcd and hope for the best. Using it has to be explicitly enabled in the lircrc config file, by adding this line at the very beginning of the file:
lircrc_class default
And no, you can't be sneaky about it β this must be done at the top-level file, not an included one. Periodt. π ββοΈ
Also the lircrc_class string (here it's "default", but it could literally be anything, it's not picky) β that's the vibe-check. Any clients using that same string in their lircrc will be synchronized together. Matching strings = matching friend group. π
π OPTIONS π
-h,--helpβ Display help message. (hi, need a hand?)-v,--versionβ Display version.-p,--permission=modeβ The--permissionoption sets the file permission of the Unix domain socket thatlircrcdcreates on startup, in octal representation. Go read the documentation forchmodfor further details, bestie. And if no--permissionoption is given when the socket is created, the default is to give only the user owning the file read and write permissions β that's0600in octal representation. So by default: owner only, nobody else invited to the party. π-o,--output=socketβ With the--outputoption you can select the Unix domain socket thatlircrcdwill create. The default is to create a socket inVARRUNDIR(/var/run/lirc) β see FILES below for the deets. β¨
π₯ SOCKET PROTOCOL π₯
lircrcd syntactically uses the same protocol as lircd, which is described in the lircd(8) manpage. It supports the following commands:
IDENT identβ Each program connecting tolircrcdidentifies itself using this program.identis the string that is used in theProg =token inside the.lircrcfile.CODE codeβ When the client receives the code string fromlircd, it will send it tolircrcdand will receive back the applicable config string from the.lircrcconfig file. It should resend theCODEcommand until nothing is returned back, which means that nothing (more) should happen in response to code. This command is used each time thelirc_code2char()function is called by a client.GETMODEβlircrcdwill return the current mode string.SETMODE modeβlircrcdwill set the actual mode, reflecting a mode in the.lircrcfile.
π FILES π
lircrcd creates its socket(s) in the VARRUNDIR directory (/var/run/lirc). The socket basename includes the user UID and the string from the lircrc_class option. So it knows exactly whose socket is whose. π
β SEE ALSO β
The documentation for lirc is maintained as html pages. They are located under html/ in the documentation directory. Go read them, bestie, they're right there. π«Ά
ngl, if you skipped the part about lircrc_class needing to be in the top-level file and not an included one, go back and reread it. That one's a canon event. π
that's the whole page, no notes, mwah π
this was lircrcd version 0.10.2, last changed Sep 2015 β vintage but still slaying, fr fr. π§ββοΈ
π¦ where this page comes from
- alpine 3.24: lirc-doc 0.10.2-r4 Β· GPL-2.0-only
- debian trixie: lirc 0.10.2-0.10 Β· GPL-2.0-or-later
- fedora 43: lirc-core 0.10.2-4.fc43 Β· GPL-2.0-only AND LicenseRef-Callaway-BSD
- fedora 43: lirc-core 0.10.2-4.fc43 Β· GPL-2.0-only AND LicenseRef-Callaway-BSD
- fedora 44: lirc-core 0.10.2-5.fc44 Β· GPL-2.0-only AND LicenseRef-Callaway-BSD
- fedora 44: lirc-core 0.10.2-5.fc44 Β· GPL-2.0-only AND LicenseRef-Callaway-BSD
- nixos 26.05: lirc 0.10.2
- nixpkgs unstable: lirc 0.10.2
- opensuse-leap 16.0: lirc-core 0.10.2-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: lirc-core 0.10.2-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: lirc-core 0.10.2-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: lirc-core 0.10.2-160000.2.2 Β· GPL-2.0-or-later
- ubuntu noble: lirc 0.10.2-0.8build1 Β· GPL-2.0-or-later
- ubuntu questing: lirc 0.10.2-0.10build1
- ubuntu resolute: lirc 0.10.2-0.10ubuntu1 Β· GPL-2.0-or-later
- ubuntu stonking: lirc 0.10.2-0.11 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms