---
name: "irw"
section: "1"
platform: "linux"
package: "lirc"
version: "1:0.10.2-6"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/irw"
---

# irw(1)

Send data from Unix domain socket to stdout

## NAME

**irw** - Send data from Unix domain socket to stdout

## SYNOPSIS

**irw** \[*socket*\]

## DESCRIPTION

**irw** will connect to any Unix domain socket and print the received data to stdout. Without a *socket* argument it will watch */var/run/lirc/lircd*. Useful for debugging.

Options:

- **-h** *--help*

  Display usage summary

- **-v** *--version*

  Display version

## SIGNALS

On receiving SIGUSR1 **irw** makes a clean exit.

## EXAMPLE

Dumping the default socket while pressing one button:

```
    myhost $ irw
    0000000000f40bf0 00 KEY_POWER ANIMAX
    0000000000f40bf0 01 KEY_POWER ANIMAX
    0000000000f40bf0 02 KEY_POWER ANIMAX
    0000000000f40bf0 03 KEY_POWER ANIMAX
    0000000000f40bf0 04 KEY_POWER ANIMAX
    0000000000f40bf0 05 KEY_POWER ANIMAX
    ^C
    myhost $
```

Note that the second counter is incremented for each new event generated by the single key press. This is important for correct lircd operation.

## NOTES

Since the lircd socket supports multiple clients, **irw** can run in parallel with other applications.

**irw** does nothing more than dumps a unix-domain socket, a task which many standard tools also can do. E. g., the [ncat(1)](/ncat/1.md) tool can be used instead of irw to provide more flexibility (but without a sane default socket):

```
    ncat -U /var/run/lirc/lircd
```

## SEE ALSO

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