shellroom start
The shellroom start command will start a new training session.
Example usage
export ZM_AUTHKEY=[MY-AUTH-KEY]
shellroom start --users-csv my-users.csv --subdomain my-cool-courseFlags
| Flag | Description |
|---|---|
--users-csv | File containing the users and passwords in CSV or TSV format. Depending on --login, passwords might be required for authentication |
--subdomain | Request a specific subdomain for the web terminal |
--login | How web terminal users will login. |
--demo-mode | Demo mode: provides fake users and roles and sets --login virtual. |
--allow-any-participant | Allows any user to join the session as participant. Defaults to false if the --users-csv file is provided, true otherwise. |
--allow-any-trainer | Allows any user to join the session as trainer. Defaults to false if the --users-csv file is provided, true otherwise. |
--file-server-enabled | Enables the file server: special links (as created with shellroom link) open local files in the browser for anyone. Default: true. |
--live-reload-images | Enables live reloading of images opened in the browser. Requires the file server. Default: true. |
--theme | Theme for the web terminal |
--users-csv
The users file expected by --users-csv is a simple text file specifying your users, roles and passwords.
See users file for a description of the file format.
Usernames & roles: shellroom start reads those and shows these expected users in the activity pane.
When users join a training session (via shellroom join), they will be assigned the role accordingly.
Password: shellroom start will read and use passwords only in the virtual login mode. It can be left empty otherwise.
--subdomain
This flag requests a specific subdomain for the web terminal. It makes the training session accessible at a predictable and human-friendly URL, e.g. https://my-course.lterm.eu.
If omitted, or the requested subdomain is not permitted, a random subdomain will be assigned.
--login
Controls how users authenticate when accessing the web terminal. Two modes are available:
- [local binary] (default) - a command (default:
/bin/login) is executed as soon as the user opens the web terminal link. - virtual - users type credentials into a browser-based login form. These are checked against the
--users-csvfile. On success, a newshellroom joininstance with the requested user/role is created, though in reality it runs under the current host user.
Choose virtual if you want all users running under the current host user combined with per-user access control. Otherwise, use the default for the standard setup.
--demo-mode
Enables demo mode.
- Provides a set of fake users and roles.
- Forces
--login virtual. - Ignores the options
--users-csvand--login.
This is useful for quickly showcasing the web terminal without setting up real user accounts or CSV files.
--allow-any-participant
Determines whether anyone running shellroom join may join as a participant, regardless of whether they are listed in --users-csv.
- Defaults to
falseif a--users-csvfile is provided. - Defaults to
trueotherwise.
This option is convenient for open workshops where strict user control is not required.
--allow-any-trainer
Determines whether anyone running shellroom join --as-trainer may join as a trainer.
- Defaults to
falseif a--users-csvfile is provided. - Defaults to
trueotherwise.
Trainers have elevated capabilities (e.g. helping participants).
--file-server-enabled
Enables the file server, allowing participants to open local files in their browsers by middle-clicking (mouse wheel) on special links created with shellroom link.
- Default:
true - Set to
falseto prevent file access via the web terminal.
This feature is useful in exercises that involve browsing tool outputs such as images or HTML files.
Security note: File transfers are not end-to-end encrypted and are not gated behind a login.
--live-reload-images
Enables live reloading of images opened in the browser. A common use case is refining images such as plots created with R, Matplotlib, or similar tools.
To achieve this, ShellRoom creates a file watcher for opened images and triggers a page reload when the files are modified. This option only works when the file server is enabled.
- Default:
true - Set to
falseto disable live image reloading.
--theme
Sets the theme for the web terminal UI.
Currently supported themes:
defaultdefault-lightubuntugithub-darkgithub-lightselenized-darkselenized-light