Manpage updates for wayvnc and wayvncctl
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>pull/178/head
parent
15735b3256
commit
4b1fbf9508
43
README.md
43
README.md
|
@ -61,7 +61,7 @@ dnf install -y meson gcc ninja-build pkg-config egl-wayland egl-wayland-devel \
|
||||||
mesa-libEGL-devel mesa-libEGL libwayland-egl libglvnd-devel \
|
mesa-libEGL-devel mesa-libEGL libwayland-egl libglvnd-devel \
|
||||||
libglvnd-core-devel libglvnd mesa-libGLES-devel mesa-libGLES \
|
libglvnd-core-devel libglvnd mesa-libGLES-devel mesa-libGLES \
|
||||||
libxkbcommon-devel libxkbcommon libwayland-client libwayland \
|
libxkbcommon-devel libxkbcommon libwayland-client libwayland \
|
||||||
wayland-devel gnutls-devel jansson-devel
|
wayland-devel gnutls-devel jansson-devel
|
||||||
```
|
```
|
||||||
|
|
||||||
#### For Debian (unstable / testing)
|
#### For Debian (unstable / testing)
|
||||||
|
@ -130,3 +130,44 @@ password=p455w0rd
|
||||||
private_key_file=/path/to/key.pem
|
private_key_file=/path/to/key.pem
|
||||||
certificate_file=/path/to/cert.pem
|
certificate_file=/path/to/cert.pem
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### wayvncctl control socket
|
||||||
|
|
||||||
|
To facilitate runtime interaction and control, wayvnc opens a unix domain socket
|
||||||
|
at *$XDG_RUNTIME_DIR*/wayvncctl (or a fallback of /tmp/wayvncctl-*$UID*). A
|
||||||
|
client can connect and exchange json-formatted IPC messages to query and control
|
||||||
|
the running wayvnc instance.
|
||||||
|
|
||||||
|
Use the `wayvncctl` utility to interact with this control socket from the
|
||||||
|
command line.
|
||||||
|
|
||||||
|
The `help` command can interactively query the available IPC commands:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ wayvncctl help
|
||||||
|
{
|
||||||
|
"commands": [
|
||||||
|
"help",
|
||||||
|
"version",
|
||||||
|
"set-output",
|
||||||
|
...
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
$ wayvncctl help command=help
|
||||||
|
{
|
||||||
|
"help": {
|
||||||
|
"description": "List all commands, or show usage of a specific command",
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"command": "The command to show (optional)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
See the `wayvnc(1)` manpage for an in-depth description of the IPC protocol and
|
||||||
|
the available commands.
|
||||||
|
|
28
meson.build
28
meson.build
|
@ -172,17 +172,21 @@ if scdoc.found()
|
||||||
scdoc_prog = find_program(scdoc.get_pkgconfig_variable('scdoc'), native: true)
|
scdoc_prog = find_program(scdoc.get_pkgconfig_variable('scdoc'), native: true)
|
||||||
sh = find_program('sh', native: true)
|
sh = find_program('sh', native: true)
|
||||||
mandir = get_option('mandir')
|
mandir = get_option('mandir')
|
||||||
input = 'wayvnc.scd'
|
manpages = {
|
||||||
output = 'wayvnc.1'
|
'wayvnc.scd': 'wayvnc.1',
|
||||||
|
'wayvncctl.scd': 'wayvncctl.1',
|
||||||
|
}
|
||||||
|
|
||||||
custom_target(
|
foreach input, output : manpages
|
||||||
output,
|
custom_target(
|
||||||
input: input,
|
output,
|
||||||
output: output,
|
input: input,
|
||||||
command: [
|
output: output,
|
||||||
sh, '-c', '@0@ <@INPUT@ >@1@'.format(scdoc_prog.path(), output)
|
command: [
|
||||||
],
|
sh, '-c', '@0@ <@INPUT@ >@1@'.format(scdoc_prog.path(), output)
|
||||||
install: true,
|
],
|
||||||
install_dir: '@0@/man1'.format(mandir)
|
install: true,
|
||||||
)
|
install_dir: '@0@/man1'.format(mandir)
|
||||||
|
)
|
||||||
|
endforeach
|
||||||
endif
|
endif
|
||||||
|
|
106
wayvnc.scd
106
wayvnc.scd
|
@ -25,6 +25,10 @@ wayvnc - A VNC server for wlroots based Wayland compositors.
|
||||||
*-s, --seat=<name>*
|
*-s, --seat=<name>*
|
||||||
Select seat by name.
|
Select seat by name.
|
||||||
|
|
||||||
|
*-S, --socket=<path>*
|
||||||
|
Set wayvnc control socket path. Default: $XDG_RUNTIME_DIR/wayvncctl
|
||||||
|
or /tmp/wayvncctl-$UID
|
||||||
|
|
||||||
*-r, --render-cursor*
|
*-r, --render-cursor*
|
||||||
Enable overlay cursor rendering.
|
Enable overlay cursor rendering.
|
||||||
|
|
||||||
|
@ -148,6 +152,101 @@ private_key_file=/path/to/key.pem
|
||||||
certificate_file=/path/to/cert.pem
|
certificate_file=/path/to/cert.pem
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# WAYVNCCTL CONTROL SOCKET
|
||||||
|
|
||||||
|
To facilitate runtime interaction and control, wayvnc opens a unix domain socket
|
||||||
|
at *$XDG_RUNTIME_DIR*/wayvncctl (or a fallback of /tmp/wayvncctl-*$UID*). A
|
||||||
|
client can connect and exchange json-formatted IPC messages to query and control
|
||||||
|
the running wayvnc instance.
|
||||||
|
|
||||||
|
## IPC COMMANDS
|
||||||
|
|
||||||
|
_HELP_
|
||||||
|
|
||||||
|
The *help* command, when issued without any parameters, lists the names of all
|
||||||
|
available commands.
|
||||||
|
|
||||||
|
If an optional *command* parameter refers to one of those commands by name, the
|
||||||
|
response data will be a detailed description of that command and its parameters.
|
||||||
|
|
||||||
|
_VERSION_
|
||||||
|
|
||||||
|
The *version* command queries the running wayvnc instance for its version
|
||||||
|
information. Much like the _-V_ option, the response data will contain the
|
||||||
|
version numbers of wayvnc, as well as the versions of the neatvnc and aml
|
||||||
|
components.
|
||||||
|
|
||||||
|
_SET-OUTPUT_
|
||||||
|
|
||||||
|
For multi-output wayland displays, this command switches which output is
|
||||||
|
actively captured by wayvnc. This operates in 2 different modes, depending on
|
||||||
|
which parameters are supplied:
|
||||||
|
|
||||||
|
*cycle=next|prev*
|
||||||
|
Cycle to the next/prev output in the output list, wrapping back to the
|
||||||
|
first/last if the end of the list is reached.
|
||||||
|
|
||||||
|
*switch-to=output-name*
|
||||||
|
Switch to a specific output by name.
|
||||||
|
|
||||||
|
## IPC MESSAGE FORMAT
|
||||||
|
|
||||||
|
The *wayvncctl(1)* command line utility will construct properly-formatted json
|
||||||
|
ipc messages, but any client will work. The client initiates the connection and
|
||||||
|
sends one or more request objects, each of which will receive a corresponding
|
||||||
|
response object.
|
||||||
|
|
||||||
|
*Note* This message format is unstable and may change substantially over the
|
||||||
|
next few releases.
|
||||||
|
|
||||||
|
_REQUEST_
|
||||||
|
|
||||||
|
The general form of a json-ipc request message
|
||||||
|
is:
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"method": "command-name",
|
||||||
|
"id": 123,
|
||||||
|
"params": {
|
||||||
|
"key1": "value1",
|
||||||
|
"key2": "value2",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The *method* is the name of the command to be executed. Use the *help* method to
|
||||||
|
query a list of all valid method names.
|
||||||
|
|
||||||
|
The *id* field is optional and may be any valid json number or string. If
|
||||||
|
provided, the response to this request will contain the identical id value,
|
||||||
|
which the client may use to coordinate multiple requests and responses.
|
||||||
|
|
||||||
|
The *params* object supplies optional parameters on a per-method basis, and may
|
||||||
|
be omitted if empty.
|
||||||
|
|
||||||
|
_RESPONSE_
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"id": 123,
|
||||||
|
"code": 0,
|
||||||
|
"data": {
|
||||||
|
...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
If the request had an id, the response will have an identical value for *id*.
|
||||||
|
|
||||||
|
The numerical *code* provides an indication of how the request was handled. A
|
||||||
|
value of *0* always signifies success. Any other value means failure, and varies
|
||||||
|
depending on the method in question.
|
||||||
|
|
||||||
|
The *data* object contains method-specific return data. This may be structured
|
||||||
|
data in response to a query, a simple error string in the case of a failed
|
||||||
|
request, or it may be omitted entirely if the error code alone is sufficient.
|
||||||
|
|
||||||
# ENVIRONMENT
|
# ENVIRONMENT
|
||||||
|
|
||||||
The following environment variables have an effect on wayvnc:
|
The following environment variables have an effect on wayvnc:
|
||||||
|
@ -159,6 +258,9 @@ _WAYLAND_DISPLAY_
|
||||||
_XDG_CONFIG_HOME_
|
_XDG_CONFIG_HOME_
|
||||||
Specifies the location of configuration files.
|
Specifies the location of configuration files.
|
||||||
|
|
||||||
|
_XDG_RUNTIME_DIR_
|
||||||
|
Specifies the default location for the wayvncctl control socket.
|
||||||
|
|
||||||
# FAQ
|
# FAQ
|
||||||
|
|
||||||
*Wayvnc complains that a protocol is not supported*
|
*Wayvnc complains that a protocol is not supported*
|
||||||
|
@ -210,3 +312,7 @@ _XDG_CONFIG_HOME_
|
||||||
Maintained by Andri Yngvason <andri@yngvason.is>. Up-to-date sources can be
|
Maintained by Andri Yngvason <andri@yngvason.is>. Up-to-date sources can be
|
||||||
found at https://github.com/any1/wayvnc and bugs reports or patches can be
|
found at https://github.com/any1/wayvnc and bugs reports or patches can be
|
||||||
submitted to GitHub's issue tracker.
|
submitted to GitHub's issue tracker.
|
||||||
|
|
||||||
|
# SEE ALSO
|
||||||
|
|
||||||
|
*wayvncctl(1)*
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
wayvncctl(1)
|
||||||
|
|
||||||
|
# NAME
|
||||||
|
|
||||||
|
wayvncctl - A control client for wayvnc(1)
|
||||||
|
|
||||||
|
# SYNOPSIS
|
||||||
|
|
||||||
|
*wayvncctl* [options] [command [--parameter value ...]]
|
||||||
|
|
||||||
|
# OPTIONS
|
||||||
|
|
||||||
|
*-S, --socket=<path>*
|
||||||
|
Set wayvnc control socket path. Default: $XDG_RUNTIME_DIR/wayvncctl
|
||||||
|
or /tmp/wayvncctl-$UID
|
||||||
|
|
||||||
|
*-V, --version*
|
||||||
|
Show version info.
|
||||||
|
|
||||||
|
*-v,--verbose*
|
||||||
|
Be more verbose.
|
||||||
|
|
||||||
|
*-h, --help*
|
||||||
|
Get help.
|
||||||
|
|
||||||
|
# DESCRIPTION
|
||||||
|
|
||||||
|
*wayvnc(1)* allows runtime interaction via a unix socket json-ipc mechanism.
|
||||||
|
This command line utility provides easy interaction with those commands.
|
||||||
|
|
||||||
|
For a full list of currently supported commands, see
|
||||||
|
*wayvnc(1)* section _IPC COMMANDS_, or use the
|
||||||
|
*wayvncctl help* command.
|
||||||
|
|
||||||
|
# EXAMPLES
|
||||||
|
|
||||||
|
Query the server for all available command names:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ wayvncctl help
|
||||||
|
{
|
||||||
|
"commands": [
|
||||||
|
"help",
|
||||||
|
"version",
|
||||||
|
"set-output",
|
||||||
|
...
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Get help on the "help" command:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ wayvncctl help --command help
|
||||||
|
{
|
||||||
|
"help": {
|
||||||
|
"description": "List all commands, or show usage of a specific command",
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"command": "The command to show (optional)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Cycle to the next active output:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ wayvncctl set-output --cycle=forward
|
||||||
|
```
|
||||||
|
|
||||||
|
# ENVIRONMENT
|
||||||
|
|
||||||
|
The following environment variables have an effect on wayvncctl:
|
||||||
|
|
||||||
|
_XDG_RUNTIME_DIR_
|
||||||
|
Specifies the default location for the wayvncctl control socket.
|
||||||
|
|
||||||
|
# SEE ALSO
|
||||||
|
|
||||||
|
*wayvnc(1)*
|
Loading…
Reference in New Issue