An open API service indexing awesome lists of open source software.

https://github.com/cloudwerx-dev/linuxsysteminfo

๐Ÿ–ฅ๏ธ 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!
https://github.com/cloudwerx-dev/linuxsysteminfo

Last synced: 9 months ago
JSON representation

๐Ÿ–ฅ๏ธ 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!

Awesome Lists containing this project

README

          

# ๐Ÿ–ฅ๏ธ 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](https://img.shields.io/badge/license-Apache--2.0-green.svg)](LICENSE)
[![Platform](https://img.shields.io/badge/platform-Linux-blue.svg)](#compatibility)
[![Shell](https://img.shields.io/badge/shell-bash-brightgreen.svg)](#requirements)

![System Info Demo](docs/demo.gif)

---

## โœจ 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

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

### Manual Installation

```bash
# 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

```bash
# 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)

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

### Method 2: Manual Installation

```bash
# 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

```bash
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:

```bash
# 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`:

```bash
# 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

```bash
# 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:

```bash
# 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:

```bash
# 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:

```bash
# 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

```bash
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:**

```bash
# 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:**

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

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

**Missing information:**

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

# Check command availability
which lscpu nvidia-smi sensors
```

**GPU information not showing:**

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

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

### Getting Help

- ๐Ÿ“– Check the [documentation](docs/SYSINFO_SCRIPTS.md)
- ๐Ÿ› [Open an issue](https://github.com/CLOUDWERX-DEV/LinuxSystemInfo/issues)
- ๐Ÿ’ฌ [Start a discussion](https://github.com/CLOUDWERX-DEV/LinuxSystemInfo/discussions)

---

## ๐Ÿ“„ License

This project is licensed under the **Apache License 2.0** - see the [LICENSE](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](https://api.star-history.com/svg?repos=CLOUDWERX-DEV/LinuxSystemInfo&type=Date)](https://star-history.com/#CLOUDWERX-DEV/LinuxSystemInfo&Date)

---

**Made with โค๏ธ by [CLOUDWERX LAB](https://cloudwerx.dev)**

*"Digital Food for the Analog Soul"*

[![Website](https://img.shields.io/badge/Website-cloudwerx.dev-blue)](https://cloudwerx.dev)
[![Email](https://img.shields.io/badge/Email-mail@cloudwerx.dev-red)](mailto:mail@cloudwerx.dev)
[![GitHub](https://img.shields.io/badge/GitHub-CLOUDWERX--DEV-black)](https://github.com/CLOUDWERX-DEV)

**โญ Star this repository if LinuxSystemInfo makes your Linux experience better!**