pw-link(1) General Commands Manual pw-link(1)

# [NAME](#NAME)

pw-link - The PipeWire Link Command

# [SYNOPSIS](#SYNOPSIS)

**pw-link** \[*options*] -o|-i|-l|-t \[*out-pattern*] \[*in-pattern*]

**pw-link** \[*options*] *output* *input*

**pw-link** \[*options*] -d *output* *input*

**pw-link** \[*options*] -d *link-id*

# [DESCRIPTION](#DESCRIPTION)

List, create and destroy links between PipeWire ports.

# [COMMON OPTIONS](#COMMON_OPTIONS)

**-r | --remote=NAME**

The name the *remote* instance to monitor. If left unspecified, a connection is made to the default PipeWire instance.

**-h | --help**

Show help.

**--version**

Show version information.

# [LISTING PORTS AND LINKS](#LISTING_PORTS_AND_LINKS)

Specify one of -o, -i or -l to list the matching optional input and output ports and their links.

**-o | --output**

List output ports

**-i | --input**

List input ports

**-l | --links**

List links

**-t | --latency**

List port latencies

**-m | --monitor**

Monitor links and ports. **pw-link** will not exit but monitor and print new and destroyed ports or links.

**-I | --id**

List IDs. Also list the unique link and port ids.

**-v | --verbose**

Verbose port properties. Also list the port-object-path and the port-alias.

# [CONNECTING PORTS](#CONNECTING_PORTS)

Without any list option (-i, -o or -l), the given ports will be linked. Valid port specifications are:

*port-id*

As obtained with the -I option when listing ports.

*node-name:port-name*

As obtained when listing ports.

*port-object-path*

As obtained from the first alternative name for the port when listing them with the -v option.

*port-alias*

As obtained from the second alternative name for the ports when listing them with the -v option.

Extra options when linking can be given:

**-L | --linger**

Linger. Will create a link that exists after **pw-link** is destroyed. This is the default behaviour, unless the -m option is given.

**-P | --passive**

Passive link. A passive link will keep both nodes it links inactive unless another non-passive link is activating the nodes. You can use this to link a sink to a filter and have them both suspended when nothing else is linked to either of them.

**-p | --props=PROPS**

Properties as JSON object. Give extra properties when creaing the link.

# [DISCONNECTING PORTS](#DISCONNECTING_PORTS)

When the -d option is given, an existing link between port is destroyed.

To disconnect port, a single *link-id*, as obtained when listing links with the -I option, or two port specifications can be given. See the connecting ports section for valid port specifications.

**-d | --disconnect**

Disconnect ports

# [EXAMPLES](#EXAMPLES)

**pw-link** -iol

List all port and their links.

**pw-link** -lm

List all links and monitor changes until **pw-link** is stopped.

**pw-link** paplay:output\_FL alsa\_output.pci-0000\_00\_1b.0.analog-stereo:playback\_FL

Link the given output port to the input port.

**pw-link** -lI

List links and their Id.

**pw-link** -d 89

Destroy the link with id 89.

# [AUTHORS](#AUTHORS)

The PipeWire Developers &lt;https://gitlab.freedesktop.org/pipewire/pipewire/issues&gt;; PipeWire is available from &lt;https://pipewire.org&gt;

# [SEE ALSO](#SEE_ALSO)

[**pipewire(1)**](/man/os/pipewire/pipewire.1), [**pw-cli(1)**](/man/os/pipewire/pw-cli.1)

1.6.11 PipeWire

---

Document: pw-link(1) from pipewire 1.6.11-r2 (Chainguard OS)
Source: https://gitlab.freedesktop.org/pipewire/pipewire
