VEYON-CLI(1)

๐ŸŒธ VEYON-CLI โ€” General Commands Manual ๐ŸŒธ

okay so bestie, this is veyon-cli, and it lives in section 1 of the General Commands Manual ๐Ÿ’– buckle up, she's a big one.


โœจ NAME โœจ

veyon-cli โ€” Veyon Command Line Interface ๐Ÿ‘‘


๐ŸŽ€ SYNOPSIS ๐ŸŽ€

veyon-cli help

veyon-cli <module> help

veyon-cli <module> help <command>

veyon-cli <module> <command> [parameters]

๐Ÿ’… DESCRIPTION ๐Ÿ’…

VEYON-CLI is a command line tool that โ€” on top of the Veyon Configurator โ€” lets you do all kinds of configuration adjustments, automated tasks, and even use some Veyon functions with zero graphical interaction. no windows, no clicking, just vibes โœจ You run the program either interactively on the command line or script controlled, and usually with elevated privileges (iykyk ๐Ÿ”ฅ).

For administrative tasks, you've got two options: the Veyon Configurator and the command line tool Veyon Control. Veyon Control gets started via the command veyon-cli in the command line. If the Veyon installation directory is not in the $PATH environment variable, you have to first change into the installation directory, or prepend that directory to the program name. lowkey annoying but that's the deal ๐Ÿ™ˆ

Veyon Control falls into various control modules, and for each module a set of commands is available.

Available modules are:

  • authkeys โ€” Commands for managing authentication keys
  • config โ€” Commands for managing the configuration of Veyon
  • ldap โ€” Commands for configuring and testing LDAP/AD integration
  • networkobjects โ€” Commands for managing the builtin network object directory
  • remoteaccess โ€” Remote view or control a computer
  • service โ€” Commands for configuring and controlling Veyon Service
  • shell โ€” Commands for shell functionalities

If the veyon-cli command is called with the help parameter, a list of all available modules is displayed. Heads up though: that list can vary depending on the installed Veyon plugins ๐Ÿ‘€

Each module supports the help command, so you can get a list of all available commands for every single module. periodt ๐Ÿ’–


๐ŸŽ€ AUTHKEYS MODULE ๐ŸŽ€

The authkeys module allows the management of authentication keys, so that common operations โ€” like importing an authentication key or assigning a user group โ€” can be easily automated. it's giving automation queen ๐Ÿ’…

  • create <NAME> โ€” This command creates a new pair of authentication keys and stores the private and public keys in the configured key directory. The parameter must be a name for the key, which may only contain letters. (letters only, bestie โ€” no numbers, no chaos ๐Ÿซถ)
  • delete <KEY> โ€” This command deletes the <KEY> authentication key from the configured key directory. Please note that a key cannot be recovered once it has been deleted. like, gone gone ๐Ÿ’€
  • export <KEY> [<FILE>] โ€” This command exports the <KEY> to <FILE> authentication key. If <FILE> is not specified, the file name is derived from the name and type of <KEY>.
  • extract <KEY> โ€” This command extracts the public key part from the private key <KEY> and saves it as the associated public key. So when you're setting up another master computer, it's therefore sufficient to transfer the private key โ€” the public key can then be extracted. slay, efficient โœจ
  • import <KEY> [<FILE>] โ€” This command imports the authentication key <KEY> from <FILE>. If <FILE> is not specified, the file name is derived from the name and type of <KEY>.
  • list [details] โ€” This command lists all available authentication keys in the configured key directory. If the details option is specified, a table with key details is output instead. Some details may be missing if a key cannot be accessed, e.g. due to missing read permissions ๐Ÿ‘‘
  • setaccessgroup <KEY> <ACCESS GROUP> โ€” This command adjusts the file access permissions on the <KEY> so that only the user group <ACCESS GROUP> has read access to it. locked down, secure, iconic ๐Ÿ”’

๐Ÿ“ CONFIG MODULE ๐Ÿ“

Available commands for the config module are:

  • clear โ€” Clear system-wide Veyon configuration. This command resets the entire local configuration by deleting all configuration keys. Use this command to recreate a defined state before importing another configuration:
veyon-cli config clear
  • export โ€” Export configuration to given file. This command exports the local configuration to a file. The name of the destination file must be specified as an additional parameter:
veyon-cli config export myconfig.json
  • get โ€” Read and output configuration value for given key. This command allows reading a single configuration key. The name of the key must be supplied as a parameter.
veyon-cli config get Network/PrimaryServicePort
  • import โ€” Import configuration from given file. This command imports a previously exported configuration file into the local configuration. The name of the configuration file to be imported must be specified as an additional argument:
veyon-cli config import myconfig.json
  • list โ€” List all configuration keys and values. This command shows a list of all configuration keys and their corresponding values.
veyon-cli config list

Using this command you can find the names of configuration keys in order to get oder set them one by one. ๐Ÿ”

  • set โ€” Write given value to given configuration key. With this command a single configuration key can be written. The name of the key and the desired value must be passed as additional arguments:
veyon-cli config set Network/PrimaryServicePort 12345

veyon-cli config set Service/Autostart true

veyon-cli config set UI/Language de_DE
  • unset โ€” Unset (remove) given configuration key. This command deletes a single configuration key, resulting in Veyon using the internal index:default value for this key. The name of the key must be passed as an additional argument:
veyon-cli config unset Directories/Screenshots
  • upgrade โ€” Upgrade and save configuration of program and plugins. With this command the configuration of Veyon and all plugins can be updated and saved. This may be necessary if settings or configuration formats have changed due to program or plugin updates. glow-up time โญ

๐Ÿฆ‹ LDAP MODULE ๐Ÿฆ‹

There are several LDAP specific operations provided through Veyon Control. All operations are provided through the LDAP module. The list of all supported commands is printed on entering

veyon-cli ldap help

whereas command specific help texts can be shown via

veyon-cli ldap help <command>

The available commands are:

  • autoconfigurebasedn โ€” This command can be used to automatically determine the used Base DN and permanently write it to the configuration. An LDAP server URL and optionally a naming context attribute have to be supplied as parameters:
veyon-cli ldap autoconfigurebasedn ldap://192.168.1.2/ namingContexts

veyon-cli ldap autoconfigurebasedn ldap://Administrator:MYPASSWORD@192.168.1.2:389/
  • query โ€” This command allows querying LDAP objects (rooms, computers, groups, users) and is designed mainly for debugging purposes. However, the function can also be used for developing scripts that may be helpful for system integration.
veyon-cli ldap query users

veyon-cli ldap query computers

๐ŸŒˆ NETWORKOBJECTS MODULE ๐ŸŒˆ

Veyon provides a built-in network object directory that can be used when no LDAP server is available. This network object directory can be managed in the Veyon Configurator as well as on the command line. Certain operations such as CSV import are currently only available on the command line. For most commands, a detailed description with examples is available in the command-specific help. The following commands can be used in the NETWORKOBJECTS module:

  • add <TYPE> <NAME> [<HOST ADDRESS> <MAC ADDRESS> <PARENT>] โ€” This command adds an object, where <TYPE> can be room or computer. <PARENT> can be specified as name or UUID.
  • clear โ€” This command resets the entire network object directory, i.e. all rooms and computers are removed. This operation is particularly useful before any automated import. fresh start energy โœจ
  • dump โ€” This command outputs the complete network object directory as a flat table. Each property such as object UID, type or name is displayed as a separate column.
  • export <FILE> [room <ROOM>] [format <FORMAT-STRING-WITH-VARIABLES>] โ€” This command can be used to export either the complete network object dictionary or only the specified room to a text file. The formatting can be controlled via a format string and the variables it contains, so that, for example, a CSV file can be generated. Valid variables are %type%, %name%, %host%, %mac% and %room%. Various examples are given in the command help (veyon-cli networkobjects help export).
  • import <FILE> [room < SPACE>] [format <FORMAT-STRING-WITH-VARIABLES>] [regex <REGULAR-EXPRESSION-WITH-VARIABLES>] โ€” This command can be used to import a text file into the network object directory. The processing of the input data can be controlled via a format string or a regular expression and contained variables. This way both CSV files and otherwise structured data can be imported. Valid variables are %name%, %host%, %mac% and %room%. Various examples are given in the command help (veyon-cli networkobjects help import).
  • list โ€” This command prints the complete network object directory as a formatted list. Unlike the dump command, the hierarchy of rooms and computers is represented by appropriate formatting. pretty and functional ๐Ÿ’–
  • remove <OBJECT> โ€” This command removes the specified object from the directory. <OBJECT> can be specified as name or UUID. When a room is removed, all computers in it are also removed. yeah, it takes the whole squad down with it ๐Ÿ’€

๐Ÿ–ฅ๏ธ REMOTEACCESS MODULE ๐Ÿ–ฅ๏ธ

Okay bestie, this module is the one that lets you do graphical remote access to other computers. It's literally the same set of functions you can reach from Veyon Master โœจ โ€” so think of the CLI as a lil side door to the exact same power. And here's the slay: you can use these commands to make a program shortcut that jumps you straight into a specific computer, no clicks required. Main character shortcut energy ๐Ÿ‘‘

  • control โ€” pops open a window running the remote control function, so you can actually take the wheel and control a remote computer ๐ŸŽฎ. You must hand it the computer name or IP address, and optionally the TCP port too:
veyon-cli remoteaccess control 192.168.1.2
  • view โ€” opens a window with the remote view function, aka you're just watching a remote computer, no touching ๐Ÿ‘€. The screen content shows up in real time, but bestie, you can NOT interact with that computer until you click the corresponding button on the tool bar. Then it's game on. You have to pass the computer name or IP address, and optionally the TCP port:
veyon-cli remoteaccess view pc5:5900

๐Ÿ› ๏ธ SERVICE MODULE ๐Ÿ› ๏ธ

This one is your remote control for the local Veyon Service itself. Very meta, we love her ๐Ÿ’…

  • register โ€” registers the Veyon Service with the operating system as a service, so it starts up automatically whenever the computer boots. Set it and forget it, fr fr โœจ
veyon-cli service register
  • unregister โ€” undoes that registration, so the Veyon Service will not start automatically on startup anymore. It's giving "we're done here" ๐Ÿ’€
veyon-cli service unregister
  • start โ€” starts the Veyon Service. Go bestie go ๐Ÿš€
veyon-cli service start
  • stop โ€” stops the Veyon Service. Nap time ๐Ÿ˜ด
veyon-cli service stop
  • restart โ€” restarts the Veyon Service. The classic "turn it off and on again" but make it fancy ๐Ÿ”„
veyon-cli service restart
  • status โ€” asks the Veyon Service how it's doing and shows you the answer. Vibe check, essentially ๐ŸŒˆ
veyon-cli service status

๐Ÿš SHELL MODULE ๐Ÿš

The shell module gives you some simple shell functionality โ€” nothing wild, just handy. And here's the iconic part: if you call this module with no further arguments, it drops you into an interactive mode โœจ

In that mode you can just type all your CLI commands directly โ€” no need to spell out and invoke the veyon-cli program over and over for every single command. So much less typing, we're obsessed ๐Ÿซถ When you're ready to leave, type the keyword exit. Byeee ๐Ÿ‘‹

Oh and also โ€” this module can process commands from a text file automatically, which is how you get some simple batch processing going. Lowkey powerful tbh.

  • run <FILE> โ€” runs the commands listed in the text file, going line by line, one after another ๐Ÿ“„. And here's the thing you need to know: each operation runs independently of the result of the previous ones. Meaning if one of them errors out, that does not terminate the run โ€” it just keeps going. No cap.

๐Ÿ“š FURTHER INFORMATION ๐Ÿ“š

Want more lore about the veyon-cli command? Point your browser at either of these:


๐Ÿ‘€ SEE ALSO ๐Ÿ‘€


๐Ÿ’œ AUTHOR ๐Ÿ’œ

Veyon has been written by Tobias Junghans.

This manual page has been written by Tobias Junghans and Mike Gabriel. Legends, honestly ๐ŸŽ€


And that's a wrap on the whole page, bestie! ๐Ÿ’– This version of the manual is from the Veyon project, dated 2018-12-07, and it documents VEYON-CLI(1). Now go forth and command-line like the icon you are โœจ๐Ÿ‘‘๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from