Packaged architectures
| Package | Typical target |
|---|---|
amd64 / x86_64 | Intel and AMD Linux |
arm64 / aarch64 | ARM gateways, servers and 64-bit Raspberry Pi OS |
armhf | 32-bit hard-float ARMv6/ARMv7 userlands |
| Apple Silicon | ARM64 macOS |
| Intel macOS | x86-64 macOS |
Linux releases contain Debian and RPM packages plus GNU and statically linked musl archives. Native packages install the portable musl build so they do not inherit the build runner's glibc version. Select a Debian package from dpkg --print-architecture, not from the CPU model alone.
Capability matrix
| Area | Linux | macOS |
|---|---|---|
| Processes | procfs, users, cgroups, I/O and descriptors where permitted | Native process and system interfaces |
| Services | systemd inspection and guarded actions | launchd inspection |
| Logs | systemd journal and selected files | Unified log and selected files |
| Storage | Mounts, inodes, block devices and deleted-open files | Mounted volumes, APFS context and devices |
| Network | Interfaces, routes, sockets and ModemManager cellular data | Interfaces, routes and sockets |
| Hardware | DMI/device tree, thermal/hwmon, USB and serial | Native identity, firmware, USB and serial |
| System | Clock/NTP, resolver, identities and managed certificates | Clock, resolver, identities and managed certificates |
Health evaluates the domains that completed. It keeps missing-source warnings separate from healthy empty results.
Native facilities add depth
Lens uses systemctl and journalctl for systemd, log and launchctl on macOS, standard networking commands plus procfs/sysfs fallbacks, mmcli for cellular data, openssl for public certificate metadata and vcgencmd for Raspberry Pi firmware power status. These are capabilities rather than blanket dependencies; one unavailable facility does not stop unrelated collection.
The current namespace is the truth
Lens uses the invoking user's permissions. Command lines, descriptors, journals, sockets, certificates and logs can therefore be partial. A container reports its own processes, mounts, resolver, users and exposed devices—not the host's. Inspect collection_warnings whenever completeness matters.
Remote and compact terminals
Layouts respond to resizing and remove secondary columns before primary data or navigation. A large screen is filled rather than stretched: lens-top caps the process name column, spends the width left over on the command line and adds a host panel beside the charts. Automatic colour detection works in conventional terminals; browser consoles, serial links and multiplexers sometimes need --theme light, --theme dark or LENS_THEME. Drawing characters follow the same pattern: every command draws Unicode rules and block sparklines where they display correctly and ASCII equivalents on a console reporting no UTF-8 locale, with --ascii, --unicode and LENS_ASCII available to state the choice. On a console shared with the kernel log, Lens repaints every second so printk output over a frame disappears; Ctrl+L repaints on demand anywhere.