Skip to content

Tower CLI Manual

NAME

tower

SYNOPSIS

tower [-h] [--quiet] [--verbose] {provision,upgrade,install,run,status,wlan-connect,version}} ...

DESCRIPTION

TowerOS command-line interface for provisioning hosts, install APK packages on it and run applications with NX protocol.

COMMANDS

tower provision
Prepare the bootable device needed to provision a host

tower upgrade
Upgrade the thin client or hosts to the latest ToweOS version

tower install
Install an application on a host with APK

tower run
Run an application on the specified host, with the GUI on the thin client.

tower status
Check the status of all hosts in the Tower system.

tower wlan-connect
Update WiFi credentials on the router.

tower version
Get the version of TowerOS installed on the thin client and hosts.

tower poweroff
Poweroff all hosts.

tower deprovision
Deprovision a host.

tower provision

Prepare the bootable device needed to provision a host

usage: tower provision [-h] [--boot-device BOOT_DEVICE] [--zero-device] [--no-confirm] [--image IMAGE] [--ifname IFNAME] [--no-wait] [--timeout TIMEOUT] [--force] [--public-key-path PUBLIC_KEY_PATH] [--private-key-path PRIVATE_KEY_PATH] [--password PASSWORD] [--keyboard-layout KEYBOARD_LAYOUT] [--keyboard-variant KEYBOARD_VARIANT] [--timezone TIMEZONE] [--lang LANG] [--online] [--offline] [--wlan-ssid WLAN_SSID] [--wlan-password WLAN_PASSWORD] [--color {White,Red,Green,Yellow,Blue,Magenta,Cyan,Light gray,Light red,Light green,Light yellow,Light blue,Light magenta,Light cyan}] name

name
Host's name, used to refer to the host when performing other actions. (Required)

Options:

--boot-device
Path to virtual device for the SD card or USB key.

--zero-device
Zero the target device before copying the installation image to it. (Default: False)

--no-confirm
Don't ask for confirmation. (Default: False)

--image
Path to installation image

--ifname
Network interface (Default: `eth0` for online host, `eth1` for offline host)

--no-wait
Do not wait for the host to be ready (Default: False)

--timeout
Maximum wait time for the host to be ready, in seconds. Specify `0` for no limit. (Default: 600)

--force
Overwrite the configuration for an existing host (Default: False)

--public-key-path
Path to public key used to access the host (Default: automatically generated and stored on the boot device and locally in `~/.local/tower/hosts/`)

--private-key-path
Path to private key used to access the host (Default: automatically generated and stored locally in `~/.local/tower/hosts/`)

--password
Password to access the host (Default: automatically generated and stored locally in `~/.local/tower/hosts/`)

--keyboard-layout
Keyboard layout code (Default: same as that of the thin client)

--keyboard-variant
Keyboard variant code (Default: same as that of the thin client)

--timezone
Timezone of the host. e.g. `Europe/Paris` (Default: same as that of the thin client)

--lang
Language of the host. e.g. `en_US` (Default: same as that of the thin client)

--online
Host *WILL* be able to access the Internet via the router. (Default: False)

--offline
Host will *NOT* be able to access the Internet via the router. (Default: False)

--wlan-ssid
WiFi SSID (Default: same as that currently in use by the thin client)

--wlan-password
WiFi password (Default: same as that currently currently in use by the thin client)

--color
Color used for shell prompt and GUI. (Default: sequentially from the list, next: Green)

tower upgrade

Upgrade the thin client or hosts to the latest ToweOS version

usage: tower upgrade [-h] [--hosts [HOSTS ...]] [--install-device [INSTALL_DEVICE ...]] [--boot-device BOOT_DEVICE] [--zero-device] [--no-confirm] [--image IMAGE] [--ifname IFNAME] [--no-wait] [--timeout TIMEOUT] [--force]

Options:

--hosts
Hosts names to upgrade. (Default: all)

--install-device
Path to virtual device for the SD card or USB key.

--boot-device
Path to virtual device for the SD card or USB key.

--zero-device
Zero the target device before copying the installation image to it. (Default: False)

--no-confirm
Don't ask for confirmation. (Default: False)

--image
Path to installation image

--ifname
Network interface (Default: `eth0` for online host, `eth1` for offline host)

--no-wait
Do not wait for the host to be ready (Default: False)

--timeout
Maximum wait time for the host to be ready, in seconds. Specify `0` for no limit. (Default: 600)

--force
Overwrite the configuration for an existing host (Default: False)

tower install

Install an application on a host with APK

usage: tower install [-h] host packages [packages ...]

host
Host to install the package on (Required)

packages
Package(s) to install (Required).

tower run

Run an application on the specified host, with the GUI on the thin client.

usage: tower run [-h] [--uncolored] [--vnc-speeds VNC_SPEEDS] [--vnc-grab] host run_command [run_command ...]

host
Host's name. This name must match the `name` used with the `provision` command. (Required)

run_command
Command to execute on the host with NX protocol. (Required)

Options:

--uncolored
Don't use host color for window headerbar. (Default: False)

--vnc-speeds
The triple rd,bw,lat corresponds to video h/w read rate in MB/sec, network bandwidth to clients in KB/sec, and network latency to clients in milliseconds, respectively. If a value is left blank, e.g. "-speeds ,100,15", then the internal scheme is used to estimate the empty value(s).

--vnc-grab
Grab host keyboard and mouse events (run x11vnc with -grabkbd and -grabptr flags). (Default: False except for Firefox)

tower status

Check the status of all hosts in the Tower system.

usage: tower status [-h] [--host HOST] [--json]

Options:

--host
Name of the host you want to check the status. If not specified, the status of all hosts will be displayed.

--json
Json output. (Default: False)

tower wlan-connect

Update WiFi credentials on the router.

usage: tower wlan-connect [-h] --ssid SSID --password PASSWORD

Options:

--ssid
WiFi SSID

--password
WiFi password

tower version

Get the version of TowerOS installed on the thin client and hosts.

usage: tower version [-h]

tower poweroff

Poweroff all hosts.

usage: tower poweroff [-h] [--host HOST]

Options:

--host
Name of the host you want to poweroff.

tower deprovision

Deprovision a host.

usage: tower deprovision [-h] [--no-confirm] name

name
Host's name to delete (Required)

Options:

--no-confirm
Don't ask for confirmation. (Default: False)

OPTIONS

--quiet
Set log level to ERROR.

--verbose
Set log level to DEBUG.