mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-10-29 05:40:27 -04:00 
			
		
		
		
	 f996249fff
			
		
	
	
		f996249fff
		
	
	
	
	
		
			
			Add some more mentions that modules can not be loaded in a remote instance in PipeWire. Also mention the special internal remote name to connect to the local pw-cli instance. Fixes #2988
		
			
				
	
	
		
			195 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			195 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| pw-cli
 | |
| ######
 | |
| 
 | |
| -----------------------------------
 | |
| The PipeWire Command Line Interface
 | |
| -----------------------------------
 | |
| 
 | |
| :Manual section: 1
 | |
| :Manual group: General Commands Manual
 | |
| 
 | |
| SYNOPSIS
 | |
| ========
 | |
| 
 | |
| | **pw-cli** [*command*]
 | |
| 
 | |
| DESCRIPTION
 | |
| ===========
 | |
| 
 | |
| Interact with a PipeWire instance.
 | |
| 
 | |
| When a command is given, **pw-cli**
 | |
| will execute the command and exit
 | |
| 
 | |
| When no command is given, **pw-cli**
 | |
| starts an interactive session with the default PipeWire instance
 | |
| *pipewire-0*.
 | |
| 
 | |
| Connections to other, remote instances can be made. The current instance
 | |
| name is displayed at the prompt.
 | |
| 
 | |
| Note that **pw-cli** also creates a local PipeWire instance. Some commands
 | |
| operate on the current (remote) instance and some on the local instance, such
 | |
| as module loading.
 | |
| 
 | |
| Use the 'help' command to list the available commands.
 | |
| 
 | |
| GENERAL COMMANDS
 | |
| ================
 | |
| 
 | |
| help | h
 | |
|   Show a quick help on the commands available. It also lists the aliases
 | |
|   for many commands.
 | |
| 
 | |
| quit | q
 | |
|   Exit from **pw-cli**
 | |
| 
 | |
| MODULE MANAGEMENT
 | |
| =================
 | |
| 
 | |
| | Modules are loaded and unloaded in the local instance, thus the pw-cli
 | |
| | binary itself and can add functionality or objects to the local
 | |
| | instance. It is not possible in PipeWire to load modules in another
 | |
| | instance.
 | |
| 
 | |
| load-module *name* [*arguments...*]
 | |
|   Load a module specified by its name and arguments in the local instance.
 | |
|   For most modules it is OK to be loaded more than once.
 | |
| 
 | |
|   This command returns a module variable that can be used
 | |
|   to unload the module.
 | |
| 
 | |
|   The locally module is *not* visible in the remote instance. It is not
 | |
|   possible in PipeWire to load modules in a remote instance.
 | |
| 
 | |
| unload-module *module-var*
 | |
|   Unload a module, specified either by its variable.
 | |
| 
 | |
| OBJECT INTROSPECTION
 | |
| ====================
 | |
| 
 | |
| list-objects
 | |
|   List the objects of the current instance.
 | |
| 
 | |
|   Objects are listed with their *id*, *type* and *version*.
 | |
| 
 | |
| info *id* | *all*
 | |
|   Get information about a specific object or *all* objects.
 | |
| 
 | |
|   Requesting info about an object will also notify you of changes.
 | |
| 
 | |
| WORKING WITH REMOTES
 | |
| ====================
 | |
| 
 | |
| connect [*remote-name*]
 | |
|   Connect to a remote instance and make this the new current
 | |
|   instance.
 | |
| 
 | |
|   If no remote name is specified, a connection is made to
 | |
|   the default remote instance, usually *pipewire-0*.
 | |
| 
 | |
|   The special remote name called *internal* can be used to connect to
 | |
|   the local **pw-cli** PipeWire instance.
 | |
| 
 | |
|   This command returns a remote var that can be used to disconnect or
 | |
|   switch remotes.
 | |
| 
 | |
| disconnect [*remote-var*]
 | |
|   Disconnect from a *remote instance*.
 | |
| 
 | |
|   If no remote name is specified, the current instance is disconnected.
 | |
| 
 | |
| list-remotes
 | |
|   List all *remote instances*.
 | |
| 
 | |
| switch-remote [*remote-var*]
 | |
|   Make the specified *remote* the current instance.
 | |
| 
 | |
|   If no remote name is specified, the first instance is made current.
 | |
| 
 | |
| NODE MANAGEMENT
 | |
| ===============
 | |
| 
 | |
| create-node *factory-name* [*properties...*]
 | |
|   Create a node from a factory in the current instance.
 | |
| 
 | |
|   Properties are key=value pairs separated by whitespace.
 | |
| 
 | |
|   This command returns a *node variable*.
 | |
| 
 | |
| export-node *node-id* [*remote-var*]
 | |
|   Export a node from the local instance to the specified instance.
 | |
|   When no instance is specified, the node will be exported to the current
 | |
|   instance.
 | |
| 
 | |
| DEVICE MANAGEMENT
 | |
| =================
 | |
| 
 | |
| create-device *factory-name* [*properties...*]
 | |
|   Create a device from a factory in the current instance.
 | |
| 
 | |
|   Properties are key=value pairs separated by whitespace.
 | |
| 
 | |
|   This command returns a *device variable*.
 | |
| 
 | |
| 
 | |
| LINK MANAGEMENT
 | |
| ===============
 | |
| 
 | |
| create-link *node-id* *port-id* *node-id* *port-id* [*properties...*]
 | |
|   Create a link between 2 nodes and ports.
 | |
| 
 | |
|   Port *ids* can be *-1* to automatically select an available port.
 | |
| 
 | |
|   Properties are key=value pairs separated by whitespace.
 | |
| 
 | |
|   This command returns a *link variable*.
 | |
| 
 | |
| GLOBALS MANAGEMENT
 | |
| ==================
 | |
| 
 | |
| destroy *object-id*
 | |
|   Destroy a global object.
 | |
| 
 | |
| 
 | |
| PARAMETER MANAGEMENT
 | |
| ====================
 | |
| 
 | |
| enum-params *object-id* *param-id*
 | |
|   Enumerate params of an object.
 | |
| 
 | |
|   *param-id* can also be given as the param short name.
 | |
| 
 | |
| set-param *object-id* *param-id* *param-json*
 | |
|   Set param of an object.
 | |
| 
 | |
|   *param-id* can also be given as the param short name.
 | |
| 
 | |
| PERMISSION MANAGEMENT
 | |
| =====================
 | |
| 
 | |
| permissions *client-id* *object-id* *permission*
 | |
|   Set permissions for a client.
 | |
| 
 | |
|   *object-id* can be *-1* to set the default permissions.
 | |
| 
 | |
| get-permissions *client-id*
 | |
|   Get permissions of a client.
 | |
| 
 | |
| 
 | |
| COMMAND MANAGEMENT
 | |
| ==================
 | |
| 
 | |
| send-command *object-id*
 | |
|   Send a command to an object.
 | |
| 
 | |
| AUTHORS
 | |
| =======
 | |
| 
 | |
| The PipeWire Developers <@PACKAGE_BUGREPORT@>; PipeWire is available from @PACKAGE_URL@
 | |
| 
 | |
| SEE ALSO
 | |
| ========
 | |
| 
 | |
| ``pipewire(1)``,
 | |
| ``pw-mon(1)``,
 |