name: linux-command-centre
description: | A desktop system management dashboard for Ubuntu/Linux, built with Electron + Svelte 5. It centralises control of network (VPN, Wi-Fi, Bluetooth), hardware (battery, brightness, power profiles, sleep states, camera modules), storage, services, logs, users, package updates, firewall, GRUB boot options, locale, timezone, DNS, and hosts from a single UI. Many of these tasks require root access to system files, kernel modules, and system services.
snapcraft: linux-command-centre/snap/snapcraft.yaml at main · homezloco/linux-command-centre · GitHub
upstream: GitHub - homezloco/linux-command-centre: Linux hardware management dashboard · GitHub
upstream-relation: I am the upstream developer and the publisher of this snap.
supported-category: System administration and monitoring tools
reasoning: |
Linux Command Centre performs privileged operations that cannot be expressed with the
existing snapd strict-confinement interfaces. Privileged actions are intentionally
funnelled through a single whitelisted helper, helper/lcc-helper.js, executed as root
via pkexec with the polkit policy helper/io.lcc.helper.policy. The helper exposes
only a fixed set of operations and validates every argument before invoking any system
command.
Operations with no equivalent snapd interface include:
- Editing
/etc/default/gruband runningupdate-grub. - Loading kernel modules via
modprobeand rebuilding out-of-tree modules viadkms autoinstall/depmod. - Writing battery charge thresholds to
/sys/class/power_supply/BAT*/charge_control_end_threshold. - Writing sleep state to
/sys/power/mem_sleep. - Writing ACPI power profiles to
/sys/firmware/acpi/platform_profile. - Writing display backlight to
/sys/class/backlight/*/brightness. - Rebinding the touchpad via
/sys/bus/i2c/drivers/i2c_hid_acpi/{un,bind}. - Creating, deleting, and modifying system users with
useradd,userdel,usermod,gpasswd. - Running full system upgrades with
apt-get update && apt-get dist-upgrade. - Editing
/etc/hostsand/etc/resolv.conf. - Managing UFW firewall rules.
- Running arbitrary
systemctl start/stop/enable/disable/restarton services and timers. - Persisting
sysctltuning to/etc/sysctl.d/99-lcc-tuning.conf. - Setting system locale with
localectl. - Sending signals to arbitrary processes with
kill.
Some read-only or D-Bus-backed features map to existing interfaces (network-manager
for VPN/Wi-Fi, bluez for Bluetooth, timezone-control for timezone, hardware-observe
/ system-observe / log-observe for status), but the write-side operations above have
no corresponding interfaces. A strict refactor would require removing most of the app’s
functionality or maintaining a separate, heavily limited snap build, which contradicts
the app’s purpose as a full system management dashboard.
-
I understand that strict confinement is generally preferred over classic.
-
I’ve tried the existing interfaces to make the snap work under strict confinement.