Skip to content

Using the Software Manager from the command lineđź”—

In addition to being controlled from your browser, you can also operate the Software Manager from the command line. This enables script-driven installation and removal of software packages.

Double-clicking the shortcut MVTec Software Manager CLI offers easy access to the command line. This opens a terminal that allows you to run the command som without setting the environment variable PATH.

File locationsđź”—

If desktop or menu shortcuts are not available on your system, you can find the executable at the following location:

$HOME/MVTec/SoftwareManager/som     # "MVTec Software Manager"
$HOME/MVTec/SoftwareManager/som cli # "MVTec Software Manager CLI"
%LOCALAPPDATA%\Programs\MVTec\SoftwareManager\som.exe     # "MVTec Software Manager"
%LOCALAPPDATA%\Programs\MVTec\SoftwareManager\som.exe cli # "MVTec Software Manager CLI"

General formatđź”—

Use the following format to run SOM commands:

som <options> command [<spec>]

For more information about the commands, see Available commands. To get help for a specific command, enter

som help <command>

The <options> all start with a hyphen (-) for the shorthand notation and a double hyphen (--) for full option names.
The optional <spec> depends on the current command. For more information about the options, see Available options.

To get a list of available options, enter

som -h

Available optionsđź”—

The Software Manager supports the following command line options. Names in parentheses refer to the corresponding entry in the settings.

-H string | --hostname string (Host name)
Specifies the host name the Software Manager listens on for incoming connections. The default value localhost only accepts local connections. Set this to the name of the computer SOM is running on to accept connections from other computers in your network.
The name will let SOM listen on all the computer’s IP addresses (same as specifying -H 0.0.0.0). This can be undesired if the computer can be reached publicly. Alternatively, use -H with a private IP address of the computer to prevent external access while still allowing internal access from other computers on the network.
Default: localhost
-P string | --proxy string (HTTP proxy)

Specifies the address of an HTTP proxy. Leave at the default (empty) value for a direct internet connection.

More Info

See also Connecting through an HTTP proxy.

--accept string
Some packages contain an EULA, which must be accepted before the installation is performed. When trying to install such a package from the command line, the Software Manager prints the EULA on the console, along with an identification hash specific for its contents. To acknowledge the terms of the EULA, pass the hash to the parameter --accept.
-c string | --catalog string (Catalog)
Specifies the location from where the product catalog is downloaded. When located in China (PRC), change this setting to China to speed up the download by using a cache proxy. Otherwise, keep the default.
Default: Global
--data string (Install path (additional data))
Specifies the base directory where data packages are installed. In system mode, this directory should be writable by all users.
Default (user mode): $HOME/MVTec
Default (system mode): /opt/MVTec
-f string | --feed string
Specifies the URL of a specific feed, that is, a distinct product. This parameter is primarily used for the installation or removal of packages from the command line. If no additional command (list, install, or remove) is specified on the command line, the Software Manager starts as usual, and opens the configuration page of the specified product.
-h | --help
Print a list of command line options to the console and exit.
-n | --nogui
If specified, the Software Manager will not attempt to start the default browser.
-p value | --port value (Port number)
Specifies the port number the Software Manager is listening on. To let the Software Manager select a free port automatically, enter 0.
Default: 8188
--programs string (Install path (program files))
Specifies the base directory where program packages are installed.
Default (user mode): $HOME/MVTec
Default (system mode): /opt/MVTec
-r string | --repository string (Local repository > Path)
Specifies the base directory for downloaded packages.
You can specify a shared directory to supply downloaded packages to multiple users. However, you have to ensure that two SOM sessions running at the same time do not download the same files concurrently. The local repository behaves like a browser cache. The contents of this directory can safely be deleted. The Software Manager will download missing files again when needed.
Default (user mode): $HOME/.som/repository
Default (system mode): $HOME/.som/repository
-v | --verbose
Output additional diagnostic messages.

Available commandsđź”—

Configuration-related commandsđź”—

som cli

Starts a terminal/command prompt with the environment variable PATH extended, so that the command som can be executed without giving the full path. This is equal to running MVTec Software Manager CLI.

On Linux, by default XTerm (/usr/bin/xterm) is started. To use a different terminal program, append the path of the desired program to the call:

som cli /usr/local/st
som config
Display the contents of the Software Manager configuration file.
If the --reset flag is set, the default values of the configuration are restored.
som config <key>

Display the value of a specific configuration key.
If the --reset flag is set, configuration value is restored to its default value.

Tip

To see all valid keys, use the command som config.

som config <key> <value>
Set the configuration key to the specified value.

Login-related commandsđź”—

som login
Starts a login process, allowing you to sign in with an account associated with the Software Manager.
Upon execution of the command, a URL will be displayed, which can be opened on any device to complete the login process. Follow the instructions provided on the displayed page to sign in. Upon successful completion of the login process, the command will automatically terminate, and you will be logged in on the current device.
som logout
If logged in, this command will log you out and invalidate all saved session information.

Package and installation-related commandsđź”—

som available
List the products that can be installed from the catalog.
Any of the listed feed URLs can be selected using the option -f <url> in one of the following commands: install, list.
som sync
List the product catalog just like the command som cat, but fetch any updates from the remote catalog beforehand.
som -f <url> list

List both meta and base packages of the product specified with -f.
For each package, the name, description, and the available versions are listed. Installed package versions are marked with an asterisk (*) in the command output.

Example

som -f https://packages.mvtec.com/halcon/halcon-20.11-progress/halcon-20.11-progress.feed list
som -f <url> install

Install packages from the given feed with the package selection depending on the further arguments.
If no further arguments are provided, or if default is provided as an argument, the default selection for the product will be installed. If all is provided as an argument, all packages from the product will be installed in their most recent version.

The following two examples explain how a specific package and its dependencies can be installed.

Example

som -f 20.11-progress install rt

In this example, no complete URL has been given. The Software Manager will automatically select the first matching feed from the catalog. Further, a package name has been given, but no version number has been specified. The Software Manager always defaults to the latest package version. To install an older package version, the version string has to be specified explicitly (presuming a newer version of package “rt” existed):

som -f 20.11-progress install rt 20.11.0.0

The above command will only actually install “HALCON 20.11 Progress” after its “Software License Agreement” has been accepted. The last line of output repeats your command line with an additional parameter that signifies your acceptance of the agreement to the Software Manager. If you want to automate your installations, you have to figure out the acceptance hash interactively in advance like in this example.

som list
List installed products.
Below each product name, the feed URL and a list of installed packages is provided. Meta packages are marked “M”, and base packages are marked “B”. The remaining fields are package name, package description, installed version, and installation directory (in that order). The fields are separated by tabs.
som -f <url> remove

Remove the given package and all packages that depend on it.
If no package is specified, all installed packages of a product are removed.

Example

som -f 20.11-progress remove rt
som remove
Uninstalls all installed Software Manager packages.
Usually, just like other products, the Software Manager should be uninstalled via the browser.