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

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



تقديم

يعتمد الشل 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 comments: