NeoHtop: مراقب النظام فائق السرعة المبني بـ Rust و Tauri - دليل شامل
⏱️ وقت القراءة المقدر: 12 دقيقة
مقدمة
مراقبة النظام مهمة حيوية للمطورين ومديري الأنظمة والمستخدمين المتقدمين. بينما خدمتنا أدوات سطر الأوامر التقليدية مثل htop
و top
و btop
بشكل جيد، فإن NeoHtop يمثل التطور التالي في أدوات مراقبة الأنظمة.
مع أكثر من 8.2 ألف نجمة على GitHub وينمو بسرعة، يجمع NeoHtop بين قوة Rust و Tauri و Svelte لتقديم تطبيق سطح مكتب فائق السرعة وحديث ومتعدد المنصات يُحدث ثورة في كيفية مراقبة موارد النظام والعمليات.
ما يجعل NeoHtop مميزاً
الميزات الثورية
NeoHtop ليس مجرد مراقب نظام آخر - إنه إعادة تصور كاملة لما يمكن أن تكون عليه مراقبة النظام:
🚀 مراقبة الأداء في الوقت الفعلي
- مراقبة العمليات المباشرة مع تحديثات أقل من ثانية
- تتبع استخدام المعالج والذاكرة مع مقاييس مفصلة
- تحديث تلقائي مع فترات قابلة للتخصيص
- تحديثات واجهة بدون تأخير
🎨 واجهة حديثة وبديهية
- دعم جميل للثيمات الداكنة/الفاتحة
- تصميم متجاوب يتكيف مع أي حجم شاشة
- أيقونات FontAwesome لوضوح بصري محسن
- متغيرات CSS لثيمات متسقة
🔍 قدرات البحث والتصفية المتقدمة
- البحث متعدد المصطلحات مع فصل بالفاصلة
- دعم كامل للتعبيرات النمطية
- البحث بواسطة اسم العملية أو الأمر أو PID
- تصفية في الوقت الفعلي بدون تأثير على الأداء
🛠 إدارة العمليات القوية
- تثبيت العمليات الحرجة للوصول السريع
- إنهاء العمليات مع مربعات حوار التأكيد
- فرز بأي عمود (المعالج، الذاكرة، PID، إلخ)
- عرض معلومات العملية التفصيلية
📌 ميزات الإنتاجية الذكية
- تثبيت العمليات للخدمات المهمة
- معدلات تحديث قابلة للتخصيص
- قدرات التصدير للتقارير
- اختصارات لوحة مفاتيح للمستخدمين المتقدمين
تحليل المكدس التقني
معمارية الواجهة الأمامية:
- SvelteKit: إطار عمل خفيف وتفاعلي
- TypeScript: أمان الأنواع وتجربة المطور
- متغيرات CSS: نظام ثيمات ديناميكي
معمارية الخلفية:
- Rust: لغة أنظمة آمنة في الذاكرة وعالية الأداء
- Tauri: إطار عمل آمن وخفيف لبناء تطبيقات سطح المكتب بتقنيات الويب
الدعم متعدد المنصات:
- macOS: دعم أصلي لـ Apple Silicon و Intel
- Linux: دعم توزيعات متعددة
- Windows: توافق كامل (إصدارات مستقبلية)
متطلبات النظام والشروط المسبقة
الحد الأدنى من المتطلبات
الأجهزة:
- الذاكرة العشوائية: 512 ميجابايت كحد أدنى، 1 جيجابايت موصى
- المعالج: أي معالج حديث (x64، ARM64)
- التخزين: 50 ميجابايت لتثبيت التطبيق
نظام التشغيل:
- macOS 10.15+ (Catalina أو أحدث)
- Linux: Ubuntu 18.04+، Fedora 32+، Arch Linux
- Windows 10+ (دعم مخطط)
الشروط المسبقة للتطوير
إذا كنت تخطط للبناء من المصدر أو المساهمة في التطوير:
# فحص إصدار Node.js (16+ مطلوب)
node --version
# فحص تثبيت Rust
rustc --version
cargo --version
# خاص بـ macOS: أدوات سطر أوامر Xcode
xcode-select --version
دليل التثبيت
الطريقة 1: تثبيت الإصدار الثنائي (موصى)
أسرع طريقة لتشغيل NeoHtop هي من خلال الثنائيات المبنية مسبقاً:
تثبيت macOS
# التحميل والتثبيت عبر Homebrew (موصى)
brew install --cask neohtop
# البديل: التحميل اليدوي
curl -s https://api.github.com/repos/Abdenasser/neohtop/releases/latest | \
grep "browser_download_url.*dmg" | \
cut -d '"' -f 4 | \
xargs wget
# تثبيت ملف DMG المحمل
open NeoHtop*.dmg
تثبيت Linux
# تحميل أحدث إصدار لـ Linux
LATEST_URL=$(curl -s https://api.github.com/repos/Abdenasser/neohtop/releases/latest | \
grep "browser_download_url.*AppImage" | \
cut -d '"' -f 4)
# التحميل وإعطاء صلاحية التنفيذ
wget "$LATEST_URL" -O neohtop.AppImage
chmod +x neohtop.AppImage
# التشغيل مباشرة أو النقل إلى مسار النظام
./neohtop.AppImage
# أو
sudo mv neohtop.AppImage /usr/local/bin/neohtop
الطريقة 2: البناء من المصدر
للمطورين أو المستخدمين الذين يريدون أحدث الميزات:
# استنساخ المستودع
git clone https://github.com/Abdenasser/neohtop.git
cd neohtop
# تثبيت التبعيات
npm install
# وضع التطوير (مع إعادة التحميل الساخن)
npm run tauri dev
# بناء الإنتاج
npm run tauri build
سكريبت البناء التطويري
إنشاء سكريبت بناء شامل للتطوير:
#!/bin/bash
# الملف: build_neohtop_dev.sh
set -e
echo "🔨 بناء NeoHtop من المصدر..."
# فحص الشروط المسبقة
command -v node >/dev/null 2>&1 || { echo "❌ Node.js مطلوب"; exit 1; }
command -v cargo >/dev/null 2>&1 || { echo "❌ Rust مطلوب"; exit 1; }
# إعداد مساحة العمل
WORKSPACE_DIR="$HOME/Development/neohtop"
mkdir -p "$(dirname "$WORKSPACE_DIR")"
# استنساخ أو تحديث المستودع
if [ -d "$WORKSPACE_DIR" ]; then
echo "📁 تحديث المستودع الموجود..."
cd "$WORKSPACE_DIR"
git pull origin main
else
echo "📥 استنساخ المستودع..."
git clone https://github.com/Abdenasser/neohtop.git "$WORKSPACE_DIR"
cd "$WORKSPACE_DIR"
fi
# تثبيت التبعيات
echo "📦 تثبيت التبعيات..."
npm ci
# فحص تنسيق الكود
echo "🎨 فحص تنسيق الكود..."
npm run format:check
# تشغيل بناء التطوير
echo "🚀 بدء خادم التطوير..."
npm run tauri dev
دليل البدء السريع
التشغيل الأول
بعد التثبيت، قم بتشغيل NeoHtop وستشاهد:
- قائمة العمليات الرئيسية: جميع العمليات الجارية مع تحديثات في الوقت الفعلي
- نظرة عامة على النظام: استخدام المعالج والذاكرة في الأعلى
- شريط البحث: لتصفية العمليات
- أزرار العمل: تثبيت وإنهاء وإدارة العمليات
اختصارات لوحة المفاتيح الأساسية
Ctrl/Cmd + F : التركيز على شريط البحث
Ctrl/Cmd + R : تحديث قائمة العمليات
Ctrl/Cmd + Q : إنهاء التطبيق
Ctrl/Cmd + T : تبديل الثيم (داكن/فاتح)
Space : تثبيت/إلغاء تثبيت العملية المحددة
Delete/Backspace: إنهاء العملية المحددة (مع التأكيد)
التنقل الأساسي
- الفرز: انقر على أي رأس عمود للفرز
- البحث: اكتب في شريط البحث للتصفية في الوقت الفعلي
- إدارة العمليات: انقر بزر الماوس الأيمن على العمليات لقائمة السياق
- تبديل الثيم: استخدم زر الثيم أو اختصار لوحة المفاتيح
الاستكشاف المتعمق للميزات المتقدمة
قدرات البحث القوية
وظيفة البحث في NeoHtop تتجاوز بكثير مطابقة النص البسيطة:
البحث متعدد المصطلحات
# البحث عن عمليات متعددة في وقت واحد
arm, x86, python
# سيظهر العمليات التي تحتوي على أي من هذه المصطلحات
البحث بالتعبيرات النمطية
# العثور على جميع عمليات الخدمة (المنتهية بـ 'd')
d$
# العثور على العمليات مع تدوين النطاق العكسي
^(\w+\.)+\w+$
# العثور على العمليات التي تبدأ بحروف محددة
^[abc].*
# العثور على العمليات مع نطاقات PID محددة
^[1-9][0-9]{3}$
أمثلة التصفية المتقدمة
# العمليات كثيفة الذاكرة (مفاهيمي - التنفيذ الفعلي قد يختلف)
# استخدام الفرز مع مصطلحات البحث
# عمليات المتصفح
chrome, firefox, safari, edge
# أدوات التطوير
code, vim, emacs, git, docker
# عمليات النظام
kernel, system, launchd, systemd
ميزات إدارة العمليات
تثبيت العمليات
# تثبيت العمليات الحرجة للمراقبة:
# - خوادم قواعد البيانات (mysql, postgres)
# - خوادم الويب (nginx, apache)
# - أدوات التطوير (node, python)
# - خدمات النظام (sshd, cron)
إنهاء العمليات الذكي
- مربعات حوار التأكيد: منع الإنهاء العرضي
- SIGTERM أولاً: محاولة إيقاف أنيقة
- SIGKILL كبديل: إنهاء قسري عند الحاجة
- وعي شجرة العمليات: إظهار العمليات التابعة
تحسين الأداء
تكوين معدل التحديث
# معدلات التحديث المثلى حسب حالة الاستخدام:
# - المراقبة في الوقت الفعلي: 1-2 ثانية
# - الاستخدام العام: 3-5 ثوان
# - توفير البطارية: 10+ ثوان
تحسين استخدام الذاكرة
# استخدام ذاكرة NeoHtop:
# - الاستخدام الأساسي: ~50-100 ميجابايت
# - مع 1000+ عملية: ~150-200 ميجابايت
# - تجريدات Rust عدم التكلفة تقلل الحمولة الزائدة
التشغيل بصلاحيات مرتفعة
وصول Sudo في macOS
# التشغيل مع sudo للوصول لعمليات النظام
sudo /Applications/NeoHtop.app/Contents/MacOS/NeoHtop
# إنشاء اختصار للراحة
echo 'alias neohtop-sudo="sudo /Applications/NeoHtop.app/Contents/MacOS/NeoHtop"' >> ~/.zshrc
source ~/.zshrc
رفع الصلاحيات في Linux
# استخدام pkexec (موصى)
pkexec /usr/local/bin/neohtop
# البديل: sudo
sudo ./neohtop.AppImage
# إنشاء مدخل سطح مكتب مع رفع الصلاحيات
cat > ~/.local/share/applications/neohtop-admin.desktop << EOF
[Desktop Entry]
Name=NeoHtop (مدير)
Exec=pkexec /usr/local/bin/neohtop
Icon=neohtop
Type=Application
Categories=System;Monitor;
EOF
المقارنة مع الأدوات التقليدية
NeoHtop مقابل المراقبات التقليدية
الميزة | htop | btop | NeoHtop |
---|---|---|---|
الواجهة | طرفية | طرفية + رسوميات | واجهة حديثة |
البحث | أساسي | متقدم | تعبيرات نمطية + متعدد المصطلحات |
الثيمات | محدود | متعدد | داكن/فاتح + مخصص |
الأداء | معالج منخفض | معالج متوسط | Rust محسن |
المنصة | Unix/Linux | متعدد المنصات | متعدد المنصات |
استخدام الذاكرة | ~10 ميجابايت | ~50 ميجابايت | ~100 ميجابايت |
التحديثات الفورية | جيد | ممتاز | ممتاز |
إدارة العمليات | أساسي | متقدم | متقدم + واجهة |
متى تستخدم كل أداة
استخدم htop عندما:
- العمل في بيئات طرفية خالصة
- الاستخدام الأدنى للموارد أمر حرج
- احتياجات مراقبة العمليات البسيطة
استخدم btop عندما:
- تحتاج أداة قائمة على الطرفية مع ميزات حديثة
- الرسوميات في الطرفية مقبولة
- الاتساق متعدد المنصات مطلوب
استخدم NeoHtop عندما:
- تفضل تجربة واجهة حديثة
- تحتاج قدرات بحث متقدمة
- تريد إدارة العمليات البصرية
- بيئة سطح المكتب متاحة
حل المشاكل الشائعة
مشاكل التثبيت
مشاكل أذونات macOS
# إذا تم حظر التطبيق بواسطة Gatekeeper
sudo xattr -r -d com.apple.quarantine /Applications/NeoHtop.app
# البديل: تفضيلات النظام > الأمان والخصوصية > السماح
مشاكل التبعيات في Linux
# تثبيت المكتبات المفقودة (Ubuntu/Debian)
sudo apt update
sudo apt install webkit2gtk-4.0 libappindicator3-1
# تثبيت المكتبات المفقودة (Fedora)
sudo dnf install webkit2gtk3 libappindicator-gtk3
# تثبيت المكتبات المفقودة (Arch)
sudo pacman -S webkit2gtk
مشاكل الأداء
استخدام الذاكرة العالي
# فحص تسريبات الذاكرة
# مراقبة استخدام ذاكرة NeoHtop نفسه في Activity Monitor
# تقليل معدل التحديث
# الإعدادات > فترة التحديث > الزيادة إلى 5-10 ثوان
# تصفية العمليات
# استخدام البحث لتقليل عدد العمليات المعروضة
البدء البطيء
# مسح ذاكرة التخزين المؤقت للتطبيق (macOS)
rm -rf ~/Library/Caches/NeoHtop
# إعادة تعيين التفضيلات
rm -rf ~/Library/Preferences/com.neohtop.*
# فحص مساحة القرص
df -h
مشاكل مراقبة العمليات
العمليات المفقودة
# التشغيل بصلاحيات مرتفعة
sudo neohtop
# فحص مرشحات العمليات
# التأكد من أن مصطلحات البحث لا تخفي العمليات
# التحقق من وجود العملية
ps aux | grep process_name
استخدام معالج غير صحيح
# الاختلافات في حساب المعالج بين الأدوات طبيعية
# NeoHtop يستخدم مكتبة نظام Rust للدقة
# للتحقق، قارن مع:
top -l 1 | grep "CPU usage"
التطوير والمساهمة
إعداد بيئة التطوير
# استنساخ نسختك المتفرعة
git clone https://github.com/yourusername/neohtop.git
cd neohtop
# تثبيت تبعيات التطوير
npm install
# تثبيت أدوات تطوير Rust
cargo install cargo-watch
# بدء التطوير مع إعادة التحميل التلقائي
cargo watch -x "run --bin neohtop"
معايير جودة الكود
تنسيق كود الواجهة الأمامية
# تنسيق كود الويب مع Prettier
npm run format
# فحص التنسيق
npm run format:check
# تدقيق TypeScript/Svelte
npm run lint
معايير كود Rust
# تنسيق كود Rust
cargo fmt
# تشغيل Clippy للتدقيق
cargo clippy
# تشغيل الاختبارات
cargo test
إرشادات المساهمة
قواعد رسائل الالتزام
# إضافة الميزات
feat: إضافة تصفية العمليات حسب عتبة استخدام المعالج
# إصلاح الأخطاء
fix: حل تسريب الذاكرة في حلقة مراقبة العمليات
# تحديثات التوثيق
docs: تحديث دليل التثبيت لـ Arch Linux
# تحسينات الأداء
perf: تحسين عرض قائمة العمليات مع المحاكاة الافتراضية
قائمة فحص طلب السحب
- الكود يتبع معايير تنسيق المشروع
- جميع الاختبارات تمر محلياً
- التوثيق محدث عند الحاجة
- رسائل الالتزام تتبع القواعد
- لا توجد تغييرات مدمرة بدون نقاش
أفضل الممارسات والنصائح
استراتيجيات المراقبة
مراقبة صحة النظام
# إنشاء ملفات تعريف مراقبة لسيناريوهات مختلفة:
# محطة عمل التطوير
# - المراقبة: node, cargo, docker, vscode
# - التثبيت: قواعد البيانات، خوادم التطوير
# - التحديث: 2-3 ثوان
# خادم الإنتاج
# - المراقبة: خوادم الويب، قواعد البيانات، خدمات النظام
# - التثبيت: الخدمات الحرجة
# - التحديث: 5-10 ثوان
# نظام الألعاب/الوسائط
# - المراقبة: الألعاب، مشغلات الوسائط، البث
# - التثبيت: التطبيقات الحرجة للأداء
# - التحديث: 1-2 ثانية
سكريبتات المراقبة الآلية
#!/bin/bash
# الملف: system_health_check.sh
# فحص ما إذا كان حمل النظام عالياً وتشغيل NeoHtop
load_avg=$(uptime | awk -F'load average:' '{print $2}' | awk '{print $1}' | sed 's/,//')
threshold="3.0"
if (( $(echo "$load_avg > $threshold" | bc -l) )); then
echo "⚠️ اكتشاف حمل نظام عالي: $load_avg"
echo "🚀 تشغيل NeoHtop للتحقق..."
# تشغيل NeoHtop (تعديل المسار حسب الحاجة)
if [[ "$OSTYPE" == "darwin"* ]]; then
open /Applications/NeoHtop.app
else
neohtop &
fi
fi
نصائح تحسين الأداء
إدارة الموارد
# تحسين NeoHtop لحالات استخدام مختلفة:
# وضع توفير البطارية
# - زيادة فترة التحديث إلى 10+ ثوان
# - استخدام مرشحات البحث لتقليل عدد العمليات
# - الإغلاق عند عدم المراقبة النشطة
# مراقبة عالية الأداء
# - تقليل فترة التحديث إلى 1-2 ثانية
# - استخدام تثبيت العمليات للخدمات الحرجة
# - الإبقاء مفتوحاً للمراقبة المستمرة
خارطة الطريق المستقبلية والميزات
التحسينات المخططة
بناءً على مستودع GitHub وتعليقات المجتمع:
قصيرة المدى (الإصدار التالي):
- تنقل محسن بلوحة المفاتيح
- وظيفة تصدير لبيانات العمليات
- ثيمات ألوان مخصصة
- تجميع العمليات حسب التطبيق
متوسطة المدى (الإصدارات المستقبلية):
- تكامل مراقبة الشبكة
- مراقبة إدخال/إخراج القرص
- تنبيهات النظام والإشعارات
- قدرات المراقبة عن بعد
الرؤية طويلة المدى:
- نظام إضافات للقابلية للتوسع
- لوحة مراقبة متعددة الأنظمة
- التكامل مع خدمات المراقبة
- التحليلات والتقارير المتقدمة
الخلاصة
NeoHtop يمثل قفزة كبيرة إلى الأمام في أدوات مراقبة أنظمة سطح المكتب. من خلال الاستفادة من التقنيات الحديثة مثل Rust و Tauri و Svelte، يقدم أداءً استثنائياً مع الحفاظ على واجهة بديهية وجميلة.
سواء كنت مطوراً يراقب عمليات البناء، أو مديراً للنظام يشرف على الخوادم، أو مستخدماً متقدماً يحسن أداء النظام، فإن NeoHtop يوفر الأدوات والرؤى التي تحتاجها.
النقاط الرئيسية
- معمارية حديثة: Rust + Tauri يضمن الأداء والأمان الأمثل
- ميزات متقدمة: البحث بالتعبيرات النمطية وتثبيت العمليات
- متعدد المنصات: تجربة متسقة عبر أنظمة التشغيل
- تطوير نشط: مجتمع نامي وتحديثات منتظمة
- تثبيت سهل: طرق تثبيت متعددة لاحتياجات مختلفة
الخطوات التالية
- تثبيت NeoHtop باستخدام طريقتك المفضلة
- استكشاف الواجهة والتعرف على الميزات
- إعداد ملفات تعريف المراقبة لحالات الاستخدام المحددة
- الانضمام للمجتمع على GitHub للتحديثات والمناقشات
- النظر في المساهمة للمساعدة في تحسين المشروع
مستقبل مراقبة النظام هنا، وهو فائق السرعة. مرحباً بك في NeoHtop!
📚 موارد إضافية:
🤝 دعم المشروع:
- ⭐ إعطاء نجمة للمستودع على GitHub
- 🐛 الإبلاغ عن الأخطاء واقتراح الميزات
- 💻 المساهمة بتحسينات الكود
- 📖 المساعدة في تحسين التوثيق