1pw-cli(1) General Commands Manual pw-cli(1)
2
3
4
6 pw-cli - The PipeWire Command Line Interface
7
9 pw-cli [command]
10
12 Interact with a PipeWire instance.
13
14 When a command is given, pw-cli will execute the command and exit
15
16 When no command is given, pw-cli starts an interactive session with the
17 default PipeWire instance pipewire-0.
18
19 Connections to other, remote instances can be made. The current
20 instance name is displayed at the prompt.
21
22 Note that pw-cli also creates a local PipeWire instance. Some commands
23 operate on the current (remote) instance and some on the local
24 instance, such as module loading.
25
26 Use the 'help' command to list the available commands.
27
29 help | h
30 Show a quick help on the commands available. It also lists the
31 aliases for many commands.
32
33 quit | q
34 Exit from pw-cli
35
37 Modules are loaded and unloaded in the local instance, thus the pw-cli
38 binary itself and can add functionality or objects to the local
39 instance. It is not possible in PipeWire to load modules in another
40 instance.
41
42 load-module name [arguments...]
43 Load a module specified by its name and arguments in the local
44 instance. For most modules it is OK to be loaded more than once.
45
46 This command returns a module variable that can be used to unload
47 the module.
48
49 The locally module is not visible in the remote instance. It is not
50 possible in PipeWire to load modules in a remote instance.
51
52 unload-module module-var
53 Unload a module, specified either by its variable.
54
56 list-objects
57 List the objects of the current instance.
58
59 Objects are listed with their id, type and version.
60
61 info id | all
62 Get information about a specific object or all objects.
63
64 Requesting info about an object will also notify you of changes.
65
67 connect [remote-name]
68 Connect to a remote instance and make this the new current
69 instance.
70
71 If no remote name is specified, a connection is made to the default
72 remote instance, usually pipewire-0.
73
74 The special remote name called internal can be used to connect to
75 the local pw-cli PipeWire instance.
76
77 This command returns a remote var that can be used to disconnect or
78 switch remotes.
79
80 disconnect [remote-var]
81 Disconnect from a remote instance.
82
83 If no remote name is specified, the current instance is
84 disconnected.
85
86 list-remotes
87 List all remote instances.
88
89 switch-remote [remote-var]
90 Make the specified remote the current instance.
91
92 If no remote name is specified, the first instance is made current.
93
95 create-node factory-name [properties...]
96 Create a node from a factory in the current instance.
97
98 Properties are key=value pairs separated by whitespace.
99
100 This command returns a node variable.
101
102 export-node node-id [remote-var]
103 Export a node from the local instance to the specified instance.
104 When no instance is specified, the node will be exported to the
105 current instance.
106
108 create-device factory-name [properties...]
109 Create a device from a factory in the current instance.
110
111 Properties are key=value pairs separated by whitespace.
112
113 This command returns a device variable.
114
116 create-link node-id port-id node-id port-id [properties...]
117 Create a link between 2 nodes and ports.
118
119 Port ids can be -1 to automatically select an available port.
120
121 Properties are key=value pairs separated by whitespace.
122
123 This command returns a link variable.
124
126 destroy object-id
127 Destroy a global object.
128
130 enum-params object-id param-id
131 Enumerate params of an object.
132
133 param-id can also be given as the param short name.
134
135 set-param object-id param-id param-json
136 Set param of an object.
137
138 param-id can also be given as the param short name.
139
141 permissions client-id object-id permission
142 Set permissions for a client.
143
144 object-id can be -1 to set the default permissions.
145
146 get-permissions client-id
147 Get permissions of a client.
148
150 send-command object-id
151 Send a command to an object.
152
154 The PipeWire Developers
155 <https://gitlab.freedesktop.org/pipewire/pipewire/issues>; PipeWire is
156 available from <https://pipewire.org>
157
159 pipewire(1), pw-mon(1),
160
161
162
163
164PipeWire 1.0.0 pw-cli(1)