it-swarm.asia

كيف يمكنني جعل Bash شل الافتراضي الخاص بي على Ubuntu؟

لدي .bash_profile في دليلي الرئيسي ، لكن لا يتم تشغيله عند تسجيل الدخول. إذا قمت بما يلي ، فيبدو أن الأمور كما كنت أتوقع:

ssh myhost
bash
source ~/.bash_profile

ولكن عادة ما يحدث كل ذلك عند تسجيل الدخول. أفكار؟

95
James A. Rosen

استعمال:

chsh

أدخل كلمة المرور الخاصة بك وحدد المسار إلى Shell الذي تريد استخدامه.

بالنسبة إلى Bash ، سيكون /bin/bash. بالنسبة إلى Zsh ، سيكون /usr/bin/zsh.

158
akira

في أعلى إجابة akira ، يمكنك أيضًا تعديل ملفك /etc/passwd لتحديد ملف Shell الافتراضي.

ستجد خطًا مثل هذا المثال:

john:x:1000:1000:john,,,:/home/john:/bin/sh

تم تحديد شل في النهاية.

36
John T

يمكنك التحقق من برنامج المحطة الطرفية الخاص بك. قد يتم تكوينه لتشغيل/bin/sh بدلاً من/bin/bash

ينفذ Bash .bash_profile فقط لجلسات تسجيل الدخول. يتم تنفيذ .bashrc لجميع جلسات bash ، وليس فقط جلسات تسجيل الدخول. حاول تحديد مصدر .bash_profile من .bashrc (تجنب التبعية الدائرية!) أو قم بتكوين برنامجك الطرفي لتشغيل/bin/bash -l كبرنامج Shell.

3
Tadeusz A. Kadłubowski

تمكين bash:

$ /bin/bash

تغيير Shell للمستخدم:

$ Sudo usermod -s /bin/bash username

أين:

  -s, --Shell SHELL             new login Shell for the user account
2
Umanshield

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

2
mathk

لا توجد معلومات كافية في سؤالك بالنسبة لي لأقولها بالتأكيد ، لكنني واجهت نفس المشكلة من قبل. على افتراض أنك قد قمت بالفعل بتعيين/bin/bash في إدخال كلمة المرور الخاصة بك ، فقد تكون هي الطريقة التي يتم بها إطلاق الجهاز الطرفي.

إذا كنت تحاول تشغيل محطة واجهة المستخدم الرسومية ، فقل gnome-terminal قد تتوقع من شل أن تقرأ ملفات بدء تشغيل bash. ومع ذلك ، لا يحدث هذا على Ubuntu وربما الأنظمة الأخرى بشكل افتراضي.

الطريقة التي حددتها بها على Ubuntu هي تحرير تفضيلات gnome-terminal ، وتعيين أمر بدء التشغيل ليكون bash -l. -l اختصار لـ --login. هذا يخبر بدء تشغيل bash كـ تسجيل الدخول Shell ، مما يؤدي إلى تحميل البرامج النصية لبدء التشغيل كما تحصل عند تسجيل الدخول عبر ssh.

أنا متأكد من أن هناك مبررًا جيدًا لوجودها على هذا النحو ، لكنني وجدت أنها مفاجئة وأكثر من مزعج بعض الشيء حيث أشارك ملفات التعريف نفسها عبر أنظمة linux و cywgin و macos.

0
edk750