النقاط الرئيسية
- قد يكون تجربة أصداف Linux المختلفة، مثل Zsh، عملية مفيدة وسهلة للعثور على الأصداف التي تتوافق مع تفضيلاتك.
- تتمتع كل قشرة بميزاتها الفريدة وطريقة أداء المهام، ويمكن أن تؤثر القشرة المختلفة بشكل كبير على سير عملك.
- يسمح لك الأمر chsh بتغيير الغلاف الافتراضي الخاص بك.
Bash ليس غلاف Linux الوحيد. من السهل تجربة غلافات أخرى، مثل Zsh، وهي شائعة جدًا. عندما تجد غلافًا يعجبك، استخدم chsh
استخدم الأمر لجعله غلافك الافتراضي. سنوضح لك كيفية القيام بذلك.
لماذا تعتبر القشرة مهمة
القوقعة توجد واجهة بينك وبين نظام التشغيل. وهي توفر البيئة داخل نافذة طرفية تسمح لك بكتابة الأوامر وتشغيل البرامج. وتتحقق الواجهة من المدخلات التي أدخلتها وتحدد ما تريده. وإذا كانت قادرة على تنفيذ أوامرك بنفسها، فإنها تفعل ذلك. وإذا احتاجت إلى مساعدة خارجية، فإنها تبحث في المسار وتجد البرامج التي يمكنها القيام بكل ما طلبته.
تتوفر العديد من الأغلفة المختلفة على لينكس. وتسمح لك جميعها بأداء نفس المهام الأساسية: استكشاف نظام الملفات، والعمل مع الملفات، وتشغيل البرامج، وتشغيل البرامج النصية. ومع ذلك، فإن كل منها يؤدي هذه المهام بطريقته الخاصة، ولديه ميزاته الخاصة وخصائصه الخاصة.
تميل الأغلفة إلى أن تكون مصممة من قبل أشخاص يريدون أن تتصرف الأشياء بطريقة معينة. إذا كان تفكيرك يتوافق مع تفكير هذا المصمم، فقد تكون هذه الأغلفة مناسبة لك. بالإضافة إلى ذلك، فإن تجربة غلاف جديد على Linux أمر سهل.
في معظم توزيعات Linux، بما في ذلك Ubuntu، الغلاف الافتراضي هو bash
إنه يقوم بعمل رائع ويتميز بقدرات كبيرة. ومع ذلك، قد يوفر غلاف آخر فارقًا في توفير الوقت والذي قد يكون له تأثير كبير على سير عملك. لن تعرف أبدًا ما لم تبحث!
ما هي أفضل واجهات Linux؟
لقد قمنا بتغطية قذائف Linux المختلفة من قبل، ولكن إليك مقدمة سريعة لأكثرها شيوعًا:
- سحق: ال بورن مرة أخرى قذيفة هي الافتراضي في العديد من التوزيعات.
- رباش: هذا مقيد
bash
يوفر shell الحد الأدنى من الوظائف للشخص أو البرنامج النصي الذي يعمل فيه. - رماد: ال قذيفة المكويست هي نسخة أخف من bash.
- شرطة: Debian Alquist Shell هو نص برمجي افتراضي في أوبونتو. بينما
bash
هو تسجيل الدخول الافتراضي والواجهة التفاعلية،dash
يتم استخدامه لتشغيل عمليات النظام لأنه أخف بكثير منbash
. - zsh:قذيفة Z هو نظرة حديثة على
bash
عائلة من الأصداف. وهي تقدم تحسينات أنيقة، مثل فحص تهجئة الأوامر والإصلاحات المقترحة. - سمكة: هذا غلاف تفاعلي ودود تم كتابة هذا البرنامج من الصفر ولم يشتق من أي من عائلات shell الأخرى. وهو يهدف إلى أن يكون سهل الاستخدام. ومن بين العديد من المزايا الأخرى، يقدم برنامج fish اقتراحات للأوامر بناءً على تاريخك ومحتويات المجلد الحالي، على غرار النص التنبؤي.
- ك.ش:كورنشيل توفر لغة برمجة قوية بشكل خاص.
قائمة الأصداف المثبتة
لمعرفة الأصداف المثبتة على جهاز الكمبيوتر الخاص بك، استخدم هذا الأمر. فهو ببساطة يسرد محتويات ملف /etc/shells:
cat /etc/shells
لقد ذكرنا bash
, dash
، و rbash
ولكن ما هو sh
؟
sh
هل هو تومسون صدفة، كتبت في عام 1971 بواسطة كين تومسون ل مختبرات بيل الشهرة. لم يعد يتم صيانته وقد حل محله منذ فترة طويلة قذائف حديثة. تم تضمينه فقط للحفاظ على التوافق مع البرامج النصية القديمة التي لا تزال تحتوي على السطر الأول التالي:
#!/bin/sh
هذا يوجه النظام لاستخدام sh
shell لتنفيذ البرنامج النصي. هل لديك بالفعل هذا shell القديم على جهازك، وهل يتم استخدامه لتشغيل البرامج النصية الخاصة بك؟ which
سيخبرنا الأمر أي برنامج يتم تشغيله فعليًا عند كتابة أمر ما.
دعونا نرى ما الذي يحدث عندما تكتب sh
:
which sh
يبدو أن هذا يجد ثنائيًا. إذا بحثنا بعمق أكثر، فسنرى أنه رابط رمزي يشير بالفعل إلى dash
، الغلاف خفيف الوزن المستخدم لتنفيذ البرامج النصية:
ls -l /bin/sh
إنها طريقة أنيقة وخفيفة الوزن لتوفير شبكة أمان للبرامج النصية التي تتوقع العثور على sh
على الأنظمة الحديثة.
تثبيت غلاف آخر
دعونا نقوم بتثبيت fish
shell وتعيينه كإعداد افتراضي لـ dave
في أوبنتو، نكتب الأمر التالي:
sudo apt-get install fish
على مانجارو، استخدم pacman
:
sudo pacman -Sy fish
في فيدورا، اكتب ما يلي:
sudo dnf install fish
عند اكتمال التثبيت، يمكنك التحقق من الأصداف المثبتة مرة أخرى:
cat /etc/shells
تظهر قوقعتنا الجديدة على النحو التالي /usr/bin/fish
انتبه لهذا المسار، فسوف تحتاج إليه قريبًا.
متغير البيئة $SHELL
ال $SHELL
يحتوي متغير البيئة على اسم غلافك الحالي. يمكننا التحقق من الاسم الذي تم تعيينه عليه باستخدام echo
:
echo $SHELL
دعونا نبدأ fish
صدَفَة:
fish
الآن، دعونا نتحقق مرة أخرى مما يلي $SHELL
متغير البيئة يقول:
echo $SHELL
المرة الأولى التي نستخدمها echo $SHELL
نحن في bash
shell. متغير البيئة يحمل المسار إلى bash
قابل للتنفيذ /bin/bash
.
عندما نطلق fish
shell، نحصل على رسالة ترحيب ودية ويتغير موجه الأوامر. ما قد يكون مفاجئًا هو $SHELL
لا تزال البيئة تحمل الطريق إلى bash
قابل للتنفيذ /bin/bash
لا بأس بذلك، هذا أمر طبيعي.
عند تشغيل غلاف جديد (أو أي برنامج آخر)، فإنه يرث بيئة الغلاف الأصلي. لذا، fish
يرث shell المتغيرات البيئية العالمية والمصدرة من bash
القشرة. لأن القيمة في $SHELL
لم يتم تغيير متغير البيئة، فهو يحتوي على نفس القيمة في fish
قذيفة فعلت في bash
صدَفَة.
نحن نركض fish
مثل أي برنامج آخر. يمكننا أيضًا استخدام exit
للخروج من fish
shell. يتم إغلاقه مثل أي برنامج آخر، ونعود إلى bash
صدَفَة.
يعد هذا أمرًا رائعًا لتجربة أصداف جديدة، ومعرفة ما يمكنها فعله، وما إذا كنت ستتوافق معها أم لا. يمكنك استكشافها قبل اتخاذ الخطوة الأولى وتبني واحدة منها كصدفة مفضلة لديك.
إذا قررت أن تفعل ذلك fish—
أو أي غلاف آخر – الافتراضي الخاص بك، ستحتاج إلى استخدام chsh
يأمر.
الأمر chsh
ال chsh
يسمح لك الأمر بتغيير غلافك الافتراضي. الحيلة هي أن تكون على دراية بأنه يسمح لك بتغيير كل من تسجيل الدخول الافتراضي وأغلفة التفاعل الافتراضية. قد ترغب في تغيير أحدهما أو الآخر، أو كليهما.
عندما تقوم بتسجيل الدخول للحصول على موجه الأوامر، فإنك تستخدم shell الذي تم تكوينه ليكون shell تسجيل الدخول الخاص بك. عندما تكون مسجلاً الدخول بالفعل وتفتح نافذة طرفية، فإنك تستخدم shell الذي تم تكوينه ليكون shell التفاعلي الخاص بك. يمكن أن تكون هذه إما نفس shells أو مختلفة.
لتعيين غلاف تسجيل الدخول الخاص بك، استخدم chsh
بدون أي معلمات:
chsh
سيُطلب منك إدخال كلمة المرور الخاصة بك. بعد ذلك، يجب عليك كتابة المسار إلى shell الجديد والضغط على Enter.
إذا قمنا بإجراء اتصال عن بعد بجهاز الكمبيوتر الاختباري هذا من جهاز آخر، فسنجد أنفسنا في fish
بمجرد تسجيل الدخول.
لتغيير غلافك التفاعلي، استخدم chsh
مع -s
خيار (shell). مرر المسار إلى shell الجديد على سطر الأوامر:
chsh -s /usr/bin/fish
سيُطلب منك إدخال كلمة المرور الخاصة بك وسيتم إرجاعك إلى موجه الأوامر الخاص بواجهة المستخدم الحالية. يتعين عليك تسجيل الخروج ثم تسجيل الدخول مرة أخرى حتى يسري التغيير. عند القيام بذلك، سترى التحية و fish
موجه الأوامر shell.
ال $SHELL
يحتوي متغير البيئة الآن على المسار إلى غلافك الافتراضي الجديد:
echo $SHELL
تغيير واجهة حساب مستخدم آخر
إذا كان لديك امتيازات الجذر ويمكنك استخدام sudo
يمكنك تغيير واجهات حسابات المستخدمين الآخرين. الأمر هو نفسه كما في السابق، مع إضافة اسم المستخدم الخاص بهذا الشخص إلى سطر الأوامر:
sudo chsh -s /usr/bin/fish mary
متى mary
عند تسجيل الدخول مرة أخرى، ستظهر لها الواجهة الجديدة عندما تفتح نافذة المحطة الطرفية.
كل شخص لديه مفضل
طالما أنك مرتاح لاختيارك للواجهة، وأنها تعمل لصالحك، فهذا رائع! فقط تذكر أنه يجب أن تكون قادرة على تشغيل البرامج النصية الشائعة، مثل إجراءات التثبيت. بالنسبة للواجهات المذكورة هنا، لا ينبغي أن تكون هذه مشكلة.
بالطبع، يمكنك أيضًا تنزيل وتثبيت غلاف جديد، وتجربته دون إجراء أي تغييرات في التكوين على جهاز الكمبيوتر الخاص بك. عندما تكون مستعدًا للزواج، chsh
سوف أقوم بإجراء الحفل لك.