KernelView Go is a fast and modern command-line tool designed to display essential system hardware and software information concisely. It's a complete rewrite of the original Python-based KernelView, leveraging the power and performance of Go.
The primary motivation for rewriting KernelView in Go was performance. While the Python version was functional, it suffered from slower execution times inherent in interpreted languages, especially when shelling out for system information.
Go offers several advantages:
- Speed: Compiled Go code runs significantly faster, providing near-instantaneous results, especially in the optimized "fast" mode.
- Concurrency: Go's built-in concurrency makes it easy to gather multiple pieces of information simultaneously, further reducing execution time.
- Single Binary: Go compiles to a single, statically linked executable with no external dependencies, making distribution and installation much simpler.
KernelView Go provides a clean overview of your system, including:
- System: OS, Kernel, Virtualization (if applicable), Uptime, Shell, Terminal
- Hardware: CPU Model, GPU Model, RAM Usage
- Network: Hostname, IP Address
- Storage: Disk Usage, Swap Usage
- Display: Resolution, Desktop Environment, Window Manager
- Software: Detected Packages (normal mode only), Installed Programming Languages (normal mode only), Go Version
- CPU Stats: Cores/Threads, Clock Speed, Current Usage (normal mode only), Temperature (normal mode only)
- Other: System Locale, Open Ports (normal mode only)
It features two operational modes:
- Normal Mode: Performs a comprehensive scan, including potentially slower operations like package counting and CPU/network usage monitoring.
- Fast Mode (
-f,--fast): Skips the slower checks to provide essential hardware and OS information almost instantly, comparable to highly optimized tools likefastfetch.
KernelView Go's fast mode (-f) is designed for near-instantaneous results, significantly outperforming its Python predecessor and other popular tools:
- vs KernelView Python: ~ 33x faster
- vs Neofetch: ~ 26x faster
- vs Screenfetch: ~ 34x faster
- vs Fastfetch: ~ 4.6x faster
(Benchmarks run on archlinux (proot) and termux native. Tested using time command)
Current Status: Alpha 🌱
KernelView Go is currently in the alpha stage. Installation via popular package managers (like Homebrew, APT, DNF, etc.) is planned for future releases.
For now, please build from source:
- Prerequisites: Ensure you have Go (1.25 or later) installed.
- Clone the repository:
git clone https://github.com/codedbysoumyajit/KernelView-Go.git cd KernelView-Go - Build:
This will create the
go build -o kernelview .kernelviewexecutable in the current directory. - Move to PATH: You can move the executable to a directory in your system's PATH for easier access:
sudo mv kernelview /usr/local/bin/ # Example for Linux/macOS
Run the compiled executable:
-
Normal Mode (Comprehensive Scan):
kernelview
-
Fast Mode (Quick Scan):
kernelview --fast # OR kernelview -f -
Help:
kernelview --help # OR kernelview -h
Contributions are welcome! Please feel free to open an issue or submit a pull request for bug fixes, feature suggestions, or performance improvements.
This project is licensed under the MIT License. See the LICENSE file for details.