qubesd-query – low-level qubesd interrogation tool


qubesd-query [-h] [–connect PATH] SRC METHOD DEST [ARGUMENT]


--help, -h

Show the help message and exit.

--connect=PATH, -c PATH

Change path to qubesd UNIX socket from default.

--empty, -e

Send empty payload. Do not attempt to read anything from standard input, but send the request immediately.


Exit with non-0 exit code when qubesd response is not-OK. By default the tool will exit with 0 when request is successfully delivered to qubesd, regardless of response.


Read a single line from standard input and send it to qubesd. The line must only consist of bytes between 0x20 and 0x7E inclusive, and is terminated by an ASCII newline (0x10). Input is read one byte at a time to ensure that too many bytes are not read. There is a limit of 1024 bytes in this mode.


To prevent excessive memory use, qubesd-query imposes a limit on the amount of bytes it will read. This limit defaults to 65536 if --single-line is not passed, and 1024 otherwise. This option can be used to lower this value, though not raise it.


bash’s read -r -d '' expects that the string being read is terminated by NUL byte. This option causes qubesd-query to add one to qubesd’s response.


This tool is used to directly invoke qubesd. The parameters of RPC call shall be given as arguments to the command. Payload should be written to standard input. Result can be read from standard output.


Joanna Rutkowska <joanna at invisiblethingslab dot com>
Rafal Wojtczuk <rafal at invisiblethingslab dot com>
Marek Marczykowski-Górecki <marmarek at invisiblethingslab dot com>
Wojtek Porczyk <woju at invisiblethingslab dot com>
Demi Marie Obenour <demi@invisiblethingslab.com>