Parakalix Studios

Support

Help with our software and community projects.

Questions

Control Board

Getting started

Windows warns that the publisher is unknown when I run the installer. Is that expected?Windows

Yes. The installer is not yet code-signed, so Windows SmartScreen does not recognize it. Choose More info, then Run anyway. Updates offered inside the app are signed, and the app verifies the signature before installing anything.

The AppImage won’t start on Ubuntu 24.04.Linux

Ubuntu 24.04 needs one additional package to run any AppImage: run sudo apt install libfuse2t64. Alternatively, use the .deb, which does not need it.

Does Control Board change anything on my servers?

Not by default. Out of the box, Control Board only reads: it reports what is happening in your lab and does not change your systems on its own. Changes happen only when you ask for them, through your own actions (buttons for scripts and commands you add) or through the controls in Settings > Controls, which stay off until you turn them on. On Windows from 0.11.57, those controls are guest power (one guest or several), restarting and scaling Kubernetes workloads, a terminal on a host, guided host maintenance and a UPS shutdown order; on Linux from 0.1.2, guest power. Every change asks for confirmation first. High-risk actions, and anything that stops a guest, require a typed confirmation word, and every change is recorded in a log.

Which login should I give it for Proxmox?

Either of these works:

  • An SSH key you already use. This is the quickest option. That login is usually root, which could change anything, but Control Board only reads over it unless you turn on guest power.
  • A Proxmox API token with the PVEAuditor role. It can read everything and change nothing: choose API token (read-only) under Log in with in Add a source (Windows from 0.11.57, Linux from 0.1.2). The form shows the three commands that create a token.
Does it send my data anywhere?

No. Control Board runs on your computer, with no account, no telemetry and no intermediary server. The app connects directly to the systems you add, to Cloudflare’s API only if you add a Cloudflare token, to the alert services you configure (such as ntfy, Pushover, Gotify, your mail server or a webhook), and to GitHub to check for updates. Your settings, history and secrets stay on your computer. If you install the lab agent (Windows, preview), the app also gives it your alert destinations and their tokens, so it can send alerts while your PC is off; those are then stored on the agent’s machine in your lab as well.

Troubleshooting

A source I added shows as not responding.

Sources are saved as entered, so you can add one that is offline. Control Board then shows whether it responds at each check. If it keeps reporting no response:

  • Check the address. For a Proxmox API token, it looks like https://<address>:8006. For SSH, enter the host’s address.
  • Check that this computer can reach that address. A disconnected VPN or a firewall is the usual cause.
  • Check the login. Open the source in Sources, choose Edit, and save it again with the correct key or token.
It says “couldn’t read a key at …” when I add Proxmox.

The SSH key field expects the path to a private key file, such as ~/.ssh/id_ed25519. If you meant to use an API token (an ID such as user@pve!name), choose API token (read-only) under Log in with instead; the form also warns when a token ID is entered as a key. The token ID and secret then have their own fields.

The system log or host checks say to add Host access.

An API token can read the Proxmox cluster, but it cannot log in to the hosts themselves. The system log and host checks need an SSH login to each host. Add one in Sources under Add a source, then Advanced.

The host terminal doesn’t work with Control Board’s own key.Windows

The line Control Board suggests for its own key in /root/.ssh/authorized_keys includes no-pty, which prevents that key from opening a terminal, so the host terminal cannot open with it. To use the terminal on a host, remove no-pty from that line on the host (on Proxmox the file is shared, so this is done once per cluster), or connect to that site with a key you already use. The terminal is off until you turn it on in Settings > Controls, and opening one requires your PIN if you have set one.

It says there’s no keyring.Linux

Secrets you paste, such as tokens, are stored in your desktop’s keyring: GNOME Keyring or KWallet. If none is running, as on some minimal desktops and remote sessions, Control Board tells you and does not save pasted secrets. Key files you point to still work, because they are read in place.

Everyday use

I closed the window, but the app is still running.

That is by design. Closing the window keeps Control Board running in the system tray, so it can continue checking and alerting you. To quit, open the tray icon’s menu and choose Quit Control Board.

How do I stop it starting when I log in?

Control Board starts at login by default. To turn that off, open the tray icon’s menu and clear Start with Windows (on Windows) or Start at login (on Linux).

How do I start, shut down or restart a guest from Control Board?

From Windows 0.11.57 and Linux 0.1.2, turn on guest power in Settings > Controls, for every Proxmox site or only some. A guest’s page (select its host, then the guest) then shows Start, or Shut down, Reboot and Force stop. These buttons work only when the site’s login is permitted to power guests: an SSH login as root, or an API token with the PVEVMUser role. With a read-only token, the buttons are disabled and the app explains why. Shut down asks the guest to stop cleanly and waits 3 minutes, after which you can choose to force it off. Stopping a guest requires typing its name. Guests managed by Proxmox HA are started and shut down through HA. On Windows, Power several guests… does the same for many guests at once, confirmed by typing the number of guests. Every change is recorded in the Run log.

Can I require a PIN before anything risky runs?

Yes, from Windows 0.11.57 and Linux 0.1.2. Set one in Settings > Controls (4 to 12 digits). After that, high-risk actions and anything that stops a guest require the PIN as well as the typed confirmation word. Five incorrect attempts lock it for one minute. The PIN is stored as a salted hash in your system keyring.

Can it send alerts to my phone?Windows

Yes, from 0.11.57. In Settings > Phone and other alerts, add a destination: ntfy, Pushover, Gotify, email or a webhook. Until you add one, alerts appear only as desktop notifications. The app sends alerts while it is running, so they stop when your PC is off, unless you use the lab agent (below).

What is the lab agent, and how do I install it?Windows

A preview feature from 0.11.57. The lab agent is an optional small program that runs on a Linux machine in your lab, such as a small container or a Raspberry Pi, so monitoring and alerts continue while your PC is off. The app includes it: in Sources, choose Add a source, then Advanced, then Agent in your lab. Enter the machine’s address and an SSH login that is root (or can use sudo without a password), select Install the agent there first, and the app copies it over, installs it as a service and pairs with it. Selecting the option again later updates it. A copy of the app can only read through the agent until you authorize it with the agent’s own PIN.

How do updates work?

When a new version is available, it appears in the title bar. It is signed, the app verifies the signature, and it installs in place. On Linux, this applies to the .deb.

Where are my settings stored? Can I start fresh?
  • Windows: %APPDATA%\com.parakalix.controlboard
  • Linux: settings are in ~/.config/com.parakalix.controlboard, and history is in ~/.local/share/com.parakalix.controlboard.

Deleting those folders after uninstalling gives you a fresh start. Saved secrets are in Windows Credential Manager or your keyring, under Control Board.

Slatewise

Getting started

Do I need anything besides Slatewise?

Python 3.10 or later with the pyserial package, and a console cable. The Get started steps take two commands and need no administrator rights.

How does the instructor set a password?

Once, from a Command Prompt in the program’s folder:

py slatewise.pyw --set-instructor-password

Use at least 8 characters, and copy the settings file it writes (slatewise_settings.json) beside the program on each student computer. Slatewise reads the password only from that file beside the program. If you cannot change the program’s folder on a computer, set the password in a folder you can change and copy the file in.

Everyday use

Why won’t it let me save the configuration?

That’s on purpose. In a shared lab, the switches and routers need to start clean every morning, so Slatewise blocks any command that would save, erase or change what the device loads at startup. Your instructor can still save from instructor mode.

Can I practice without a switch or router?

Yes. The Practice tab has a built-in practice router and switch with a short tutorial for each. They answer the common commands; they aren’t a full copy of a real device.

Troubleshooting

The Console port list is empty.

Plug in the console cable, install its driver (the Cisco USB console driver, or the USB-serial adapter’s driver), then click Refresh.

The switch rejects “switchport trunk encapsulation dot1q”.

Switches that support only 802.1Q trunks, such as the 2960, 9200 and 9300, do not have this command. Leave the line out and use switchport mode trunk; in the trunk templates, leave Set encapsulation dot1q unticked. Only switches that also support ISL, such as the 3560 and 3750, need it.

SSH stays off after the SSH template runs. Why?

IOS XE 17.11 and later turn the SSH server off when the RSA key is shorter than 2048 bits. Run the SSH template again with an RSA key size of 2048, and answer yes when the device asks to replace the old key. Earlier releases accept a 1024-bit key but log a warning.

Report a bug

Email support@parakalix.net. Say which project and version, what you did, what you expected and what happened; a screenshot helps. Please leave out passwords, tokens, addresses and anything else private.

Contact

For anything else, email support@parakalix.net.