Discovery¶
Where vlx looks¶
vlx lists these directories, one level deep, and keeps only Unix sockets:
| Directory | What lives there |
|---|---|
/run/varlink/registry |
systemd v258+'s registry of public Varlink services |
/run/systemd |
most io.systemd.* services, PID 1's io.systemd.Manager |
/run/systemd/resolve |
io.systemd.Resolve, io.systemd.Resolve.Monitor |
/run/systemd/userdb |
io.systemd.Multiplexer and user database providers |
/run/systemd/machine |
io.systemd.Machine, io.systemd.MachineImage |
/run/systemd/netif |
io.systemd.Network |
/run/systemd/journal |
io.systemd.journal |
/run/systemd/oom |
io.systemd.ManagedOOM |
/run/systemd/report |
io.systemd.Metrics providers |
/run/udev |
io.systemd.Udev |
$XDG_RUNTIME_DIR/systemd |
your user manager's services |
$XDG_RUNTIME_DIR/vlx |
the vlx demo service |
Add more with --search DIR or search_paths in the
config. Sockets reached through several paths
(registry symlinks) are listed once.
Discovery only reads directories. It never connects to a socket, and it
does not follow symlinked directories. vlx list --probe additionally sends
each socket a read-only GetInfo.
How SERVICE resolves¶
Wherever a command takes SERVICE, vlx tries, in order:
- A path — anything containing
/, such as/run/systemd/io.systemd.Hostnameor./my.sock. - A Varlink address —
unix:/run/systemd/io.systemd.Hostname(options after;are ignored). - An exact socket name —
io.systemd.Hostname. - A short name, any case —
hostname,Resolve.Monitor. - A unique fragment, any case —
multiplexmatchesio.systemd.Multiplexer.
If a fragment matches more than one socket, vlx lists them and asks you to
be more specific (exit code 5).