Skip to content

CLOUDWERX-DEV/LinuxSystemInfo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ–₯️ Linux System Info

πŸ” Beautiful, comprehensive system information display for Linux

Instantly visualize your system's health, hardware, and development environment. Quickly get Torch, CUDA, Python, NPM\Node versions and more!

License Platform Shell

System Info Demo


✨ Features

🌟 Comprehensive Information Display

  • System Details: Hostname, uptime, load averages, OS info, kernel version
  • Hardware Monitoring: CPU details, memory usage, disk space, GPU information
  • Temperature Monitoring: CPU temperature with color-coded status indicators
  • Network Information: Active interfaces, IP addresses, external IP detection
  • Development Environment: Python, Node.js, Docker, Git status
  • System Health: Automated warnings for disk space, memory usage, and load

🎨 Beautiful Visual Design

  • Color-coded Status: Green βœ“, Yellow ⚠, Red βœ— indicators
  • Professional Layout: Clean, organized information display
  • Unicode Graphics: Beautiful box-drawing characters and symbols
  • Terminal Compatibility: Works with any modern terminal emulator

⚑ Two Display Modes

  • Comprehensive Mode: Detailed system overview with all information
  • Simple Mode: Compact, horizontally-organized quick view

πŸš€ Quick Start

One-Line Installation

curl -sSL https://raw.githubusercontent.com/CLOUDWERX-DEV/LinuxSystemInfo/main/install.sh | bash

Manual Installation

# Clone the repository
git clone https://github.com/CLOUDWERX-DEV/LinuxSystemInfo.git
cd LinuxSystemInfo

# Make scripts executable
chmod +x scripts/*.sh

# Install system-wide (recommended)
sudo ./scripts/install.sh

# Or install for current user only
./scripts/install.sh --user

Quick Test

# Comprehensive view
sysinfo

# Simple view
sysinfo-simple

# Or use the short aliases
si       # comprehensive
sis      # simple

πŸ“‹ Sample Output

Comprehensive Mode (sysinfo)

╔══════════════════════════════════════════════════════════════════════╗
β•‘ SYSTEM OVERVIEW - 2025-09-25 18:53:32                                β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

β–Ά System Information
──────────────────────────────────────────────────
  Hostname:          cloudwerxdev-H18-mint
  Current Time:      2025-09-25 18:53:32 EDT
  Uptime:            up 1 day, 5 hours, 1 minute
  Load Average:      4.59, 2.62, 2.63
  OS:                Linux Mint 22.2
  Kernel:            6.8.0-83-generic
  Architecture:      x86_64

β–Ά Hardware Information
──────────────────────────────────────────────────
  CPU:               Intel(R) Core(TM) i9-14900HX
  Cores/Threads:     32/2
  Memory:            22Gi/62Gi (35.4%) βœ“
  Root Disk:         826G/921G (95% used)
  GPU:               NVIDIA GeForce RTX 4090 Laptop GPU
  GPU Memory:        8826/ 16376 MB
  CPU Temp:          +64.0Β°C βœ“

β–Ά Network Information
──────────────────────────────────────────────────
  wlp110s0f0:        192.168.1.100
  External IP:       73.126.134.141

β–Ά Development Environment
──────────────────────────────────────────────────
  User:              cloudwerxlab
  Home:              /home/cloudwerxlab
  Shell:             bash
  Python (venv):     3.10.18 βœ“
  PyTorch:           2.6.0 βœ“
  CUDA (PyTorch):    12.4 βœ“
  Node.js:           v22.19.0 βœ“
  npm:               11.5.2
  Docker:            28.4.0 (active) βœ“
  Git Branch:        main (clean) βœ“

β–Ά System Health
──────────────────────────────────────────────────
  docker:            running βœ“

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Generated by CLOUDWERX LAB System Info β€’ 18:53:44

Simple Mode (sysinfo-simple)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 SYSTEM INFO - 2025-09-25 18:54:10 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Host     : cloudwerxdev-H18-mint | Uptime   : up 1 day, 5 hours, 2 minutes
User     : cloudwerxlab@cloudwerxdev-H18-mint | Shell    : bash
Load     : 2.92, 2.42, 2.56 | Memory   : 22Gi/62Gi (35.5%)
Disk     : 826G/921G (95%) | Python   : 3.10.18
PyTorch  : 2.6.0 | CUDA     : 12.4
Node.js  : v22.19.0 | npm      : 11.5.2
GPU      : NVIDIA GeForce RTX 4090 Laptop GPU ( 8826/ 16376 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

πŸ› οΈ Installation Methods

Method 1: Automated Installation (Recommended)

curl -sSL https://raw.githubusercontent.com/CLOUDWERX-DEV/LinuxSystemInfo/main/install.sh | bash

Method 2: Manual Installation

# Download and extract
wget https://github.com/CLOUDWERX-DEV/LinuxSystemInfo/archive/refs/heads/main.zip
unzip main.zip
cd LinuxSystemInfo-main

# Make scripts executable
chmod +x scripts/*.sh

# Install system-wide
sudo cp scripts/sysinfo.sh /usr/local/bin/sysinfo
sudo cp scripts/sysinfo-simple.sh /usr/local/bin/sysinfo-simple

# Or install for current user
mkdir -p ~/.local/bin
cp scripts/sysinfo.sh ~/.local/bin/sysinfo
cp scripts/sysinfo-simple.sh ~/.local/bin/sysinfo-simple
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

Method 3: Development Setup

git clone https://github.com/CLOUDWERX-DEV/LinuxSystemInfo.git
cd LinuxSystemInfo
chmod +x scripts/*.sh

# Run directly
./scripts/sysinfo.sh
./scripts/sysinfo-simple.sh

βš™οΈ Configuration

Environment Variables

Create ~/.config/linuxsysinfo/config to customize behavior:

# Python environment path (customize for your setup)
PYTHON_PATH="/path/to/your/venv/bin/python"

# Enable/disable specific sections
SHOW_TEMPERATURE=true
SHOW_EXTERNAL_IP=true
SHOW_GPU_DETAILS=true

# Customize colors (advanced)
COLOR_GOOD="green"
COLOR_WARN="yellow"
COLOR_ERROR="red"

Bash Integration

Add helpful aliases to your ~/.bashrc:

# Quick system info aliases
alias si='sysinfo'
alias sis='sysinfo-simple'
alias sys='sysinfo'

# Custom variations
alias sysinfo-quick='sysinfo-simple'
alias sysinfo-full='sysinfo'

πŸ”§ Requirements

Required Dependencies

  • bash (version 4.0+)
  • Standard Unix utilities: free, df, uptime, hostname, awk
  • Terminal colors: tput (fallback to ANSI escape codes)

Optional Dependencies (for enhanced features)

  • lscpu - Detailed CPU information
  • nvidia-smi - NVIDIA GPU monitoring
  • sensors - Temperature monitoring (sudo apt install lm-sensors)
  • git - Repository status information
  • docker - Docker service status
  • systemctl - System service monitoring
  • curl - External IP detection

Installation of Optional Dependencies

# Ubuntu/Debian/Linux Mint
sudo apt update
sudo apt install lm-sensors util-linux pciutils

# Setup temperature monitoring
sudo sensors-detect --auto

🌍 Compatibility

Tested Distributions

  • βœ… Ubuntu 20.04, 22.04, 24.04
  • βœ… Linux Mint 21, 22
  • βœ… Debian 11, 12
  • βœ… Pop!_OS 22.04
  • βœ… Elementary OS 7
  • βœ… Fedora 38, 39
  • βœ… CentOS Stream 9
  • βœ… Arch Linux (current)
  • βœ… Manjaro (current)

Terminal Compatibility

  • βœ… GNOME Terminal
  • βœ… Konsole
  • βœ… Alacritty
  • βœ… Kitty
  • βœ… Wezterm
  • βœ… tmux/screen
  • βœ… VS Code Integrated Terminal
  • βœ… SSH sessions

🎨 Customization

Adding Custom Information Sections

Create custom functions following the existing pattern:

# Add to sysinfo.sh
get_custom_info() {
    print_section "Custom Information"

    # Your custom data collection here
    custom_value=$(your-command-here)

    print_item "Custom Label" "$custom_value" "ok" "$G"
}

# Add the function call to main()
main() {
    # ... existing code ...
    get_custom_info
    # ... rest of code ...
}

Color Customization

Modify the color definitions at the top of the scripts:

# Custom color scheme
G=$(tput setaf 46)    # Bright green
Y=$(tput setaf 226)   # Bright yellow
R=$(tput setaf 196)   # Bright red
C=$(tput setaf 51)    # Bright cyan

Performance Tuning

For faster execution, disable slow features:

# Comment out external IP lookup
# external_ip=$(timeout 3 curl -s ipecho.net/plain 2>/dev/null || echo "N/A")

# Skip temperature sensors
# if command -v sensors >/dev/null 2>&1; then

πŸ“Š Performance

Execution Speed

  • sysinfo.sh: ~1.5-2.5 seconds (includes network lookup)
  • sysinfo-simple.sh: ~0.3-0.8 seconds

Resource Usage

  • Memory: <5MB peak usage
  • CPU: Minimal impact, brief spike during execution
  • Network: Single HTTP request for external IP (3s timeout)

Optimization Tips

  • Run without external IP lookup for faster execution
  • Use simple mode for frequent checks
  • Cache results for monitoring scripts

🀝 Contributing

We welcome contributions! Here's how you can help:

Quick Contribution Guide

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Test on different distributions
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Open a Pull Request

Development Setup

git clone https://github.com/CLOUDWERX-DEV/LinuxSystemInfo.git
cd LinuxSystemInfo

# Test your changes
./scripts/sysinfo.sh
./scripts/sysinfo-simple.sh

# Run on different terminals/distributions if possible

Contribution Ideas

  • 🌐 Add support for new Linux distributions
  • 🎨 Create new display themes
  • πŸ“Š Add system monitoring features
  • πŸ› Fix compatibility issues
  • πŸ“š Improve documentation
  • πŸ§ͺ Add automated testing

πŸ“ Changelog

v1.0.0 - September 25, 2025

  • πŸŽ‰ Initial release
  • βœ… Comprehensive system information display
  • βœ… Simple compact mode
  • βœ… Color-coded status indicators
  • βœ… Hardware monitoring (CPU, Memory, GPU)
  • βœ… Temperature monitoring
  • βœ… Network interface detection
  • βœ… Development environment detection
  • βœ… Git repository integration
  • βœ… System health warnings
  • βœ… Bash completion and aliases

❓ Troubleshooting

Common Issues

Colors not displaying properly:

# Check terminal support
echo $TERM

# Test color support
tput setaf 2; echo "Green text"; tput sgr0

# Fallback for older terminals
export TERM=xterm-256color

Permission denied errors:

# Make scripts executable
chmod +x scripts/*.sh

# Check PATH
echo $PATH | grep -o ~/.local/bin

Missing information:

# Install optional dependencies
sudo apt install lm-sensors util-linux

# Check command availability
which lscpu nvidia-smi sensors

GPU information not showing:

# For NVIDIA cards
sudo apt install nvidia-utils-*

# For AMD cards (basic info via lspci)
lspci | grep -i vga

Getting Help


πŸ“„ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

What this means:

  • βœ… Use it for personal and commercial projects
  • βœ… Modify and distribute the code
  • βœ… Include in larger projects
  • βœ… Sell products that include this code

Requirements:

  • πŸ“„ Include the original license and copyright notice
  • πŸ“‹ Document any significant changes you make

πŸ™ Acknowledgments

Special thanks to:

  • 🐧 The Linux community for continuous inspiration
  • πŸ’» Terminal emulator developers for excellent tools
  • 🎨 Unicode Consortium for beautiful text graphics
  • πŸ› οΈ Bash developers for the powerful shell
  • πŸ‘₯ Beta testers and early adopters

🌟 Star History

If this project helps you, please consider giving it a ⭐ on GitHub!

Star History


Made with ❀️ by CLOUDWERX LAB

"Digital Food for the Analog Soul"

Website Email GitHub

⭐ Star this repository if LinuxSystemInfo makes your Linux experience better!

About

πŸ–₯️ Beautiful, comprehensive system information display for Linux - Hardware monitoring, network info, development environment detection, and system health warnings with professional terminal interface. Displays CUDA, Torch, Python version and much more!

Resources

License

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages