سيُنشر هذا المقال قريباً
موعد النشر: 2026-06-03 18:21
سيظهر المقال تلقائياً عند حلول الموعد — لا حاجة لإعادة التحميل.
مشكلة تعدد مديري الحزم في لينكس
واحدة من نقاط قوة لينكس هي تعدد التوزيعات، لكن هذه القوة تأتي مع تعقيد: كل توزيعة لها مدير حزم مختلف. مستخدم ينتقل من أوبونتو (APT) إلى فيدورا (DNF) أو إلى آرتش (Pacman) يواجه منحنى تعلم جديد لكل أمر. بالإضافة إلى ذلك، هناك حزم عالمية مثل Flatpak و Snap، ومديري حزم لغات البرمجة مثل pip و npm و cargo. تذكر كل هذه الأوامر وبناء الجمل الخاصة بها يصبح مرهقاً.
GT-CLPM (GNUTUX Command Line Package Manager) هو حل لهذه المشكلة. يوفر واجهة موحدة، سواء عبر سطر الأوامر أو عبر واجهة رسومية، للتعامل مع جميع مديري الحزم هذه من مكان واحد.
🔗 الموقع الرسمي: salehgnutux.github.io/GT-CLPM 🔗 مستودع GitHub: github.com/SalehGNUTUX/GT-CLPM
ما الجديد في الإصدار 1.4.0؟
الإصدار 1.4.0 هو تحديث رئيسي يركز على تحسين تجربة المستخدم على بيئات سطح المكتب المختلفة وإضافة ميزات متقدمة لإدارة النظام.
دعم KDialog والاكتشاف التلقائي لسطح المكتب
قبل هذا الإصدار، كان GT-CLPM يعتمد فقط على Zenity (أداة الحوارات الرسومية لبيئة GTK). هذا كان يعمل بشكل ممتاز على بيئات مثل GNOME و Xfce و Cinnamon، لكنه لم يكن مثالياً على بيئات KDE Plasma التي تفضل أدوات Qt. الإصدار 1.4.0 يكتشف تلقائياً نوع سطح المكتب الذي تعمل عليه:
- إذا كان KDE أو أي بيئة تعتمد على Qt، يستخدم KDialog
- إذا كان GNOME أو Xfce أو أي بيئة GTK، يستخدم Zenity
- يمكن للمستخدم تبديل الأداة يدوياً من قائمة الإعدادات في أي وقت
هذا التكامل يجعل الواجهة الرسومية تبدو وكأنها جزء أصلي من بيئة سطح المكتب بدلاً من تطبيق غريب.
نافذة كلمة مرور رسومية بدون طرفية
كانت إحدى المشاكل في الإصدارات السابقة هي أن طلب صلاحيات الجذر كان يفتح نافذة طرفية لإدخال كلمة المرور. في الإصدار 1.4.0، يستخدم GT-CLPM pkexec (أداة Polkit) أو SUDO_ASKPASS لعرض نافذة رسومية أنيقة تطلب كلمة المرور. لا تظهر أي نافذة طرفية على الإطلاق، مما يجعل التجربة أكثر سلاسة للمستخدمين الذين يفضلون الواجهات الرسومية.
الترقية الشاملة (Dist Upgrade)
الإصدار الجديد يضيف خياراً منفصلاً للترقية الشاملة تحت قائمة التحديث. هذا الخيار:
- يعمل مع APT (
dist-upgrade) لترقية الحزم الأساسية وحل التعارضات - يعمل مع DNF (
distro-sync) لمزامنة النظام مع المستودعات - يعمل مع Pacman (
-Syyu) للتحديث القسري لقواعد البيانات والترقية - يعمل مع Zypper (
dup) للترقية الشاملة على أوبن سوزي - لمديري الحزم الأخرى، تظهر رسالة توضيحية بأن الخيار غير مدعوم، مع شرح بدائل
تطبيق سمة النظام تلقائياً
يقرأ GT-CLPM الآن إعدادات سمة النظام من gsettings ويطبقها على واجهته الرسومية تلقائياً. إذا كان نظامك يستخدم الوضع الداكن، ستظهر نوافذ GT-CLPM بالوضع الداكن. لا حاجة لتحديد السمة يدوياً.
تثبيت تلقائي للتبعيات
عند التشغيل لأول مرة، يتحقق GT-CLPM من وجود Zenity أو KDialog (حسب بيئة سطح المكتب). إذا كانت الأداة مفقودة، يحاول تثبيتها تلقائياً عبر مدير الحزم المناسب. إذا فشل التثبيت، تظهر رسالة خطأ رسومية تذكر أسماء التبعيات المطلوبة وأوامر تثبيتها يدوياً.
مديرو الحزم المدعومون (13+)
GT-CLPM يدعم مديري الحزم النظامية التالية:
APT لأوبونتو، دبيان، لينكس منت، وكل التوزيعات المشتقة.
DNF/YUM لفيدورا، RHEL، CentOS، Rocky Linux، AlmaLinux.
Pacman لآرتش لينكس، مانجارو، إنديفور أو إس.
Zypper لأوبن سوزي.
Eopkg لسولس.
XBPS لفويد لينكس.
Emerge لجنتو.
PKG لفري بي إس دي.
APK لألباين لينكس.
Nix لنيكس أو إس (يُظهر الحزم المثبتة فقط، التثبيت يتطلب تفعيل Flakes).
Homebrew للينكس و ماك.
Flatpak للتطبيقات العالمية عبر فلاتهوب.
Snap لحزم كانونيكال.
بالإضافة إلى مديري حزم اللغات البرمجية:
Python عبر pip، pip –user، pipx، والبيئات الافتراضية.
Node.js عبر npm، yarn، pnpm، npx.
Ruby عبر gem و bundler.
Rust عبر cargo و rustup.
Go عبر go install (يقوم بتثبيت Go تلقائياً إذا كان مفقوداً).
Java عبر maven، gradle، SDKMAN، والتبديل بين إصدارات JDK.
PHP عبر composer وإضافات PHP.
Haskell عبر cabal، stack، ghcup.
Scientific عبر Spack، Conda/Miniconda، Mamba.
الميزات الرئيسية
الواجهة المزدوجة
GT-CLPM متوفر بنسختين:
نسخة سطر الأوامر (CLI) للمستخدمين المتقدمين الذين يفضلون العمل في الطرفية، مع إمكانية التنقل بين صفحات نتائج البحث عبر الضغط على n للصفحة التالية و p للصفحة السابقة.
نسخة الواجهة الرسومية (GUI) للمستخدمين العاديين، مع قوائم منبثقة وحوارات بديهية.
كلا النسختين تدعمان اللغة العربية والإنجليزية، مع إمكانية التبديل بينهما من الإعدادات.
الإزالة الذكية
بدلاً من كتابة أسماء الحزم يدوياً، يمكنك تصفح الحزم المثبتة واختيار ما تريد إزالته من قائمة تفاعلية. هذا يمنع أخطاء الكتابة ويجعل العملية أسرع.
إدارة المستودعات والـ PPA
يمكن إضافة أو إزالة مستودعات البرامج من داخل الأداة، حسب مدير الحزم:
- على APT: إدارة PPAs
- على DNF: إدارة مستودعات COPR
- على Pacman: إدارة مستودعات AUR (عبر yay أو paru إذا كانت مثبتة)
البحث الصحيح في Flatpak و Snap
الإصدارات السابقة كانت تعاني من مشاكل في البحث عن حزم Flatpak. الإصدار 1.4.0 يستخدم الأوامر الصحيحة (flatpak search و snap find) مع عرض نتائج منظمة تحتوي على اسم الحزمة، الوصف، ومعرفها.
أدوات صيانة النظام
يتضمن GT-CLPM أدوات لإصلاح الحزم المعطلة تلقائياً، وعمل نسخ احتياطي لقائمة الحزم المثبتة (لإعادة التثبيت لاحقاً)، واستعادة القائمة من النسخة الاحتياطية.
مقارنة الإصدارات
| الميزة | v1.0 | v1.1 | v1.2.2 | v1.4.0 |
|---|---|---|---|---|
| الإزالة الذكية | ❌ | ✅ | ✅ | ✅ |
| التثبيت من نتائج البحث | ❌ | ✅ | ✅ | ✅ |
| بحث فلاتباك صحيح | ❌ | جزئياً | ✅ | ✅ |
| أدوات اللغات كاملة | ❌ | جزئياً | ✅ | ✅ |
| إدارة المستودعات | ❌ | ❌ | ✅ | ✅ |
| Spack / Conda / Mamba | ❌ | ❌ | ✅ | ✅ |
| دعم KDialog (KDE/Qt) | ❌ | ❌ | ❌ | ✅ |
| اكتشاف سطح المكتب تلقائياً | ❌ | ❌ | ❌ | ✅ |
| نافذة كلمة مرور رسومية | ❌ | ❌ | ❌ | ✅ |
| ترقية شاملة (Dist Upgrade) | ❌ | ❌ | ❌ | ✅ |
| تبديل Zenity/KDialog من الإعدادات | ❌ | ❌ | ❌ | ✅ |
التثبيت
التثبيت التلقائي (نسخة الواجهة الرسومية)
curl -fsSL https://raw.githubusercontent.com/SalehGNUTUX/GT-CLPM/main/install-gui.sh | bash
التثبيت التلقائي (نسخة سطر الأوامر)
curl -fsSL https://raw.githubusercontent.com/SalehGNUTUX/GT-CLPM/main/install.sh | bash
التثبيت اليدوي
git clone https://github.com/SalehGNUTUX/GT-CLPM.git
cd GT-CLPM
chmod +x install-gui.sh && ./install-gui.sh
AppImage (بدون تثبيت)
# تحميل وتشغيل نسخة الواجهة الرسومية
chmod +x GT-CLPM-GUI-x86_64.AppImage
./GT-CLPM-GUI-x86_64.AppImage
# أو نسخة سطر الأوامر
chmod +x GT-CLPM.CLI.-x86_64.AppImage
./GT-CLPM.CLI.-x86_64.AppImage
الاستخدام
بعد التثبيت، شغّل الأداة عبر:
# للواجهة الرسومية
gt-clpm-gui
# لسطر الأوامر
gt-clpm
ستظهر القائمة الرئيسية مع خيارات: تثبيت حزمة جديدة، إزالة حزمة مثبتة، البحث عن حزمة، تحديث النظام، إدارة المستودعات، أدوات الصيانة، إعدادات اللغة والسمة، والخروج.
إلغاء التثبيت
إلغاء تثبيت الواجهة الرسومية
curl -fsSL https://raw.githubusercontent.com/SalehGNUTUX/GT-CLPM/main/uninstall-gui.sh | bash
إلغاء تثبيت سطر الأوامر
curl -fsSL https://raw.githubusercontent.com/SalehGNUTUX/GT-CLPM/main/uninstall.sh | bash
خلاصة
GT-CLPM ليس أداة للمحترفين فقط. هو مشروع يهدف إلى جعل إدارة البرامج على لينكس في متناول المستخدم العادي، دون الحاجة إلى حفظ عشرات الأوامر المختلفة. مع الإصدار 1.4.0، أصبح أكثر تكاملاً مع بيئات سطح المكتب المختلفة، وأكثر قوة في إدارة النظام. إذا كنت تواجه صعوبة في تذكر أوامر APT أو DNF أو Pacman، أو تريد أداة واحدة تدير كل شيء (بما في ذلك Flatpak و Snap و pip و npm)، فهذا المشروع يستحق التجربة.
روابط سريعة
https://salehgnutux.github.io/GT-CLPM
التفاعلات والتعليقات
سجّل الدخول بحساب GitHub للتعليق أو التفاعل. مدعوم بـ Giscus (مخزَّن في GitHub Discussions)