Quick start
lens
lens --once
lens --plain
lens --jsonRun lens with no flags for the interactive cockpit. The host and process summary paints first. Services, recent logs, storage, networking, hardware, system context and cross-domain checks fill in as their collectors complete.
No account, daemon or configuration is required. The command inspects the local machine with the permissions of the current user.
Reading the cockpit
A value labelled checking is still loading. Unavailable means collection failed or the platform capability is absent. A numeric zero is shown only when Lens collected that domain successfully and found no matching rows.
Choose the next view
| Question | Open | What you get |
|---|---|---|
| What is consuming CPU or memory? | Processes | Live sorting, history, ownership, state and process actions |
| Which unit is failed or restarting? | Services | Service-manager state, restart evidence and systemd actions |
| What happened around the failure? | Logs | Recent messages filtered by time, service, process or severity |
| Which filesystem or device is under pressure? | Storage | Mount, byte, inode, block-device and open-deleted-file detail |
| How is the device connected, and what is listening? | Network | Interfaces, routes, sockets, owner context and cellular state |
| Is the device hot, throttled or missing attached hardware? | Hardware | Temperatures, firmware status, USB and serial inventory |
| Which clock, DNS, account and certificate context applies? | System | NTP, resolver, local identities and public certificate stores |
| What deserves attention first? | Health | Prioritized findings with evidence and suggested checks |
Press Enter on the selected Explore row. Lens launches the specialist and returns to the cockpit when it exits.
A practical first pass
- Confirm the hostname and uptime. A recent reboot changes how process runtime, service restarts and logs should be interpreted.
- Check critical findings and filesystem pressure before chasing secondary symptoms.
- Look at load, CPU, memory and the busiest process list for immediate resource contention.
- Open Services if there are failed units, then Logs for the time window around the failure.
- Open Network when connectivity, listeners or cellular registration are relevant.
- Use the adjacent diagnostic shell only after the overview tells you which native command will add useful evidence.
Interaction
The layout responds to terminal resizing. Larger windows add process and finding detail; smaller windows remove secondary fields before they remove navigation.
Run a diagnostic command without losing the live view
Press ! to open the local diagnostic shell. On a wide terminal it occupies a right-hand panel; on a compact terminal it uses nearly the whole screen. Type one command and press Enter. Lens continues updating behind the panel and shows stdout, stderr and the exit status.
The command runs through your normal shell with your existing permissions. Lens does not save shell history, supply credentials, retry commands or describe arbitrary shell commands as safe product actions. Use a in the process and Linux service views for the guarded, typed Lens actions.
Capture a snapshot for a person or script
# Concise report for a ticket or terminal capture
lens --plain
# Versioned system snapshot for a script
lens --json --limit 0Plain output summarizes the host, findings and unavailable data. JSON uses the shared schema-v2 shape, including each collected domain, relationships, build identity and collection_warnings. A specialist command is usually faster and smaller when a script needs only one domain.
Loading, partial and unavailable data
Each domain collects independently. A slow unified-log query does not stop process navigation; a timed-out listener probe does not erase interface and route data. Status text identifies work still in progress.
Missing platform tools, command deadlines and permission limits appear in collection_warnings. Lens keeps successfully collected data and never converts a failed collection into a misleading zero count. Refresh with r after changing permissions or system state.