كيف يمكن تخصيص اسم المستخدم في الترمنال

لعلك لاحظت أنه كلما تقوم بفتح الترمنال ستظهر لك جملة ما تنتهي برمز الدولار$، و لكن ما لا يدركه الكثير من المستخدمين أن هذه الجملة يمكن تعديلها كما تشاء، و هو ما سأعرضه لكم في هذا العدد.



تقديم

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

هذه المتغيرات تنقسم إلى ثلاثة أصناف:

- المتغيرات المحلية Local Variables و تستعمل داخل سكريبتات يقوم المبرمج بتحديدها بحسب حاجته.
- متغيرات المحيط  Environment Variables يسمدها من النظام الذي تعمل عليه و هي ضرورية لعمل بعض البرامج كما يمكن للمستخدم استعمالها في برامجه إن كان في حاجة إليها و هي التي سأركز عليها في بقية الدرس.
- متغيرات الصدفية Shell Variables يستخدمها الشل بشكل متواتر لضمان حسن عمله.

متغيرات المحيط

و هي متنوعة مثال لو وضعنا في الترمنال:

HOME$ (مع الحرص على كتابتها في وضع Uppercase أو Majuscule بالفرنسية) سيقوم بإظهار مجلد Home الذي يستخدم المستخدم الذي يستعمل الترمنال فلو قمت بفتح حساب root على الترمنال فستصبح Home هي
root/ 

أما لو قمت بكتابة SECONDS$ فسيظهر لي عدد الثواني منذ أن قمت بفتح الشيل.

المهم أنني سأحتاج لمتغير آخر يشبه سابقيه يسمى PS1 و هو الذي سأعمل عليه لتغيير اسم المستخدم على الترمنال

$PS1

عند فتح الترمنال على أي نظام لينكس فإنه يظهر لك قبل كتابة أي أمر المتغير PS1 و الذي يكون بصيغة 

\u@\h:\w\$
مع الأخذ بالإعتبار أن u\ يقصد بها اسم المستخدم، h\ يقصد بها اسم الجهاز host الذي تعمل عليه ، w\ يعني ادخال علامة ~ tilde و $\ لكتابة رمز الدولار التي يتميز بها المستخدم العادي.
كل هذه الأمور توجد داخل ملف مخفي موجود بالـ Home يسمى bashrc.

و لكن لكي نقوم بإلحاق أي ضرر بالجهاز فلنترك مرحلة تغيرر الملف في مرحلة أخيرة و لنبدأ بتدريب على التلاعب باسم المستخدم بالعمل مباشرة على المتغير حيث أنه عند اغلاق الترمنال ستختفي كل الأمور التي أحدثتها و بالتالي لا يوجد مشكل في استعمالها.

التجربة الأولى:

عند فتح الترمنال جرب مثلا:

export PS1="\u@\h:\w#"
 سيختفي الدولار و يظهر بدلا عنه علامة # الخاصة بالروت و لكن ذلك لا يعني أنك أصبحت root بل هي مجرد خدعة.

التجربة الثانية:

و هي تغيير اسم المستخدم، و لعلك لديك فكرة مبدأية عن الأمر حيث سنقوم بتغيير u\ بالإسم الذي نريد

export PS1="diamond@\h:\w \$"
 التجربة الثالثة:

سنحاول القيام بأمر أكثر إثارة، فلنقل مثلا أن المستخدم لا يريد إظهار أي إسم بل فقط إضهار الوقت و إن أمكن التاريخ.

export PS1="@\t / \d\w \$"
التجربة الرابعة:

و هي الأخيرة، فلنقل أننا نرغب في إضافة الألوان لإعطاء قيمة جمالية للترمنال، و القاعدة العامة هي:

'\e[x;ym $PS1 \e[m'
مثال ذلك:

export PS1="\e[1;34m\u@\h \w> \e[m"

و حتى نفهم هذه الرموز، هذه دلالاتها,


\e[  تظهر متى نبدأ في التلوين
x;ym أرقام الألوان بحسب الجدول بالأسفل
\e[m أي نتوقف عن التلوين

و هذا جدول الألوان

اللون الرمز
أسود 0;30
أزرق 0;34
سماوي 0;36
أحمر 0;31
وردي 0;35
بني 0;33
ازرق 0;34
اخضر 0;32












مع الإشارة إلا أن رقم 0 يشير إلى اللون الفاتح و رقم 1 يشير إلى لون داكن.

في الختام

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


هناك 8 تعليقات:

  1. معلومات جميلة.........
    هل يوجد برنامج لمشاركة اﻻنترنت من شبكة سلكية بأستخدام الواى فاى الموجود فى اللاب توب ..... بمعنى انا لدى ﻻب توب واﻻنترنت لدى عن طريق السلك وهناك ﻻب توب اخر او موبايل به واى فاى اريد تشغيل اﻻنترنت عليه ... هناك برنامج يقوم بهذه المهام لكنه للنظام الويندوز فقط هو connectify

    ردحذف
  2. الأمر ممكن بدون برامج، يكفي أن تقوم بإنشاء شبكة واي قاي جدية تكون من نوع ad-hoc مع إضافة مفتاح wpa أو wep لتشفير البيانات بحسب إختيارك، إن كان الأمر يشكل صعوبة لديك أخبرني و سأقوم بإنشاء موضوع جديد بالصور.

    ردحذف
  3. اذا لم يكن لديك مانع ﻻنى حاولت اكثر من مرة عن طريق الطرفية وفشلت ... انا استخدم توزيعة zorin حيث ﻻيوجد خيار (use as hotspot) فى الشبكة السلكية كما فى توزيعة ابنتو

    ردحذف
  4. اين ذهبت .................................. هو ﻻزم الكباتشا اللى فى المواقع دى انا تعقد منها

    ردحذف
  5. متأسف على تأخري في الرد، بما أنني لا أعرف التوزيعة فقد قمت بتحميلها قصد تجربتها، و قد قمت بإنشاء فيديو قصير لا يتجاوز 30 ثانية يوضح الطريقة https://www.keek.com/!G4o1cab و الرابط موجود كإحدى تغريداتي.
    -بالنسبة للكابتشا فهو خيار قامت جوجل بوضعه و لا يمكنني تغييره

    ردحذف
  6. و هذا رابط الفيديو الأصلي بجودة عالية و حجم صغير لكل من يحتاجه http://ubuntuone.com/2EOypIztN1WjSDsKDxCT3o

    ردحذف
  7. موضوع جميل و شرح أجمل

    إلى اﻷمام

    ردحذف