كيفية تغيير واجهة المستخدم الافتراضية على Linux باستخدام chsh

النقاط الرئيسية

  • قد يكون تجربة أصداف 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


cat /etc/shells في نافذة المحطة الطرفية

لقد ذكرنا bash, dash، و rbashولكن ما هو sh؟

sh هل هو تومسون صدفة، كتبت في عام 1971 بواسطة كين تومسون ل مختبرات بيل الشهرة. لم يعد يتم صيانته وقد حل محله منذ فترة طويلة قذائف حديثة. تم تضمينه فقط للحفاظ على التوافق مع البرامج النصية القديمة التي لا تزال تحتوي على السطر الأول التالي:

#!/bin/sh

هذا يوجه النظام لاستخدام sh shell لتنفيذ البرنامج النصي. هل لديك بالفعل هذا shell القديم على جهازك، وهل يتم استخدامه لتشغيل البرامج النصية الخاصة بك؟ which سيخبرنا الأمر أي برنامج يتم تشغيله فعليًا عند كتابة أمر ما.

دعونا نرى ما الذي يحدث عندما تكتب sh:

which sh

يبدو أن هذا يجد ثنائيًا. إذا بحثنا بعمق أكثر، فسنرى أنه رابط رمزي يشير بالفعل إلى dash، الغلاف خفيف الوزن المستخدم لتنفيذ البرامج النصية:


ls -l /bin/sh

أي sh في نافذة المحطة الطرفية

إنها طريقة أنيقة وخفيفة الوزن لتوفير شبكة أمان للبرامج النصية التي تتوقع العثور على sh على الأنظمة الحديثة.

تثبيت غلاف آخر

دعونا نقوم بتثبيت fish shell وتعيينه كإعداد افتراضي لـ daveفي أوبنتو، نكتب الأمر التالي:

sudo apt-get install fish

sudo apt-get install fish في نافذة المحطة الطرفية

على مانجارو، استخدم pacman:

sudo pacman -Sy fish


sudo pacman -Sy fish في نافذة المحطة الطرفية.

في فيدورا، اكتب ما يلي:

sudo dnf install fish

sudo dnf install fish في نافذة المحطة الطرفية

عند اكتمال التثبيت، يمكنك التحقق من الأصداف المثبتة مرة أخرى:

cat /etc/shells

cat /etc/shells في نافذة المحطة الطرفية

تظهر قوقعتنا الجديدة على النحو التالي /usr/bin/fishانتبه لهذا المسار، فسوف تحتاج إليه قريبًا.


متغير البيئة $SHELL

ال $SHELLيحتوي متغير البيئة على اسم غلافك الحالي. يمكننا التحقق من الاسم الذي تم تعيينه عليه باستخدام echo:

echo $SHELL

دعونا نبدأ fish صدَفَة:

fish

الآن، دعونا نتحقق مرة أخرى مما يلي $SHELL متغير البيئة يقول:

echo $SHELL

صدى $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

chsh في نافذة المحطة الطرفية

سيُطلب منك إدخال كلمة المرور الخاصة بك. بعد ذلك، يجب عليك كتابة المسار إلى shell الجديد والضغط على Enter.

إذا قمنا بإجراء اتصال عن بعد بجهاز الكمبيوتر الاختباري هذا من جهاز آخر، فسنجد أنفسنا في fish بمجرد تسجيل الدخول.


اتصال SSH يظهر غلاف السمكة كغلاف تسجيل دخول، في نافذة طرفية

لتغيير غلافك التفاعلي، استخدم chsh مع -s خيار (shell). مرر المسار إلى shell الجديد على سطر الأوامر:

chsh -s /usr/bin/fish

chsh -s /usr/bin/fish في نافذة المحطة الطرفية

سيُطلب منك إدخال كلمة المرور الخاصة بك وسيتم إرجاعك إلى موجه الأوامر الخاص بواجهة المستخدم الحالية. يتعين عليك تسجيل الخروج ثم تسجيل الدخول مرة أخرى حتى يسري التغيير. عند القيام بذلك، سترى التحية و fish موجه الأوامر shell.

ال $SHELL يحتوي متغير البيئة الآن على المسار إلى غلافك الافتراضي الجديد:

echo $SHELL


صدى $SHELL في نافذة المحطة الطرفية

تغيير واجهة حساب مستخدم آخر

إذا كان لديك امتيازات الجذر ويمكنك استخدام sudoيمكنك تغيير واجهات حسابات المستخدمين الآخرين. الأمر هو نفسه كما في السابق، مع إضافة اسم المستخدم الخاص بهذا الشخص إلى سطر الأوامر:

sudo chsh -s /usr/bin/fish mary

sudo chsh -s /usr/bin/fish mary في نافذة المحطة الطرفية

متى mary عند تسجيل الدخول مرة أخرى، ستظهر لها الواجهة الجديدة عندما تفتح نافذة المحطة الطرفية.

المستخدم ماري في موجه أوامر fish shell، في نافذة المحطة الطرفية


كل شخص لديه مفضل

طالما أنك مرتاح لاختيارك للواجهة، وأنها تعمل لصالحك، فهذا رائع! فقط تذكر أنه يجب أن تكون قادرة على تشغيل البرامج النصية الشائعة، مثل إجراءات التثبيت. بالنسبة للواجهات المذكورة هنا، لا ينبغي أن تكون هذه مشكلة.

بالطبع، يمكنك أيضًا تنزيل وتثبيت غلاف جديد، وتجربته دون إجراء أي تغييرات في التكوين على جهاز الكمبيوتر الخاص بك. عندما تكون مستعدًا للزواج، chsh سوف أقوم بإجراء الحفل لك.

أضف تعليق