سؤال

أنا لا أحب أن أعد كتابة الأسماك في كل مرة كنت بدء تشغيل المحطة.أريد fish بشكل افتراضي.كيف يمكنني تعيين الأسماك قذيفة كما الافتراضي قذيفة على ماك ؟

هل كانت مفيدة؟

المحلول

هذه تنطبق على ماك سييرا 10.12.5 (16F73) وربما بعض أحدث الإصدارات القادمة من ماك.

  1. chsh لا يكفي تغيير shell الافتراضي.تأكد من الضغط الأمر+, في حين أن محطة الخاص بك هو فتح و تغيير 'قذائف مفتوحة مع' الخيار إلى 'تسجيل الدخول الافتراضي قذيفة.'

  2. في حالة باش تأكد من تنفيذ echo $BASH_VERSION للتأكد من أنك تقوم بتشغيل المقصود إصدار باش. bash --version لا يعطيك المعلومات الصحيحة.

نصائح أخرى

1.sudo nano /etc/قذائف enter image description here

2.إضافة /البيرة/المحلية/بن/الأسماك إلى قائمة قذائف enter image description here

3.chsh -s /usr/local/bin/الأسماك

ويمكنك استخدام chsh لتغيير قذيفة المستخدم.

وتشغيل التعليمات البرمجية التالية، على سبيل المثال، لتغيير قذيفة لZsh

chsh -s /bin/zsh

وكما هو موضح في manpage، وورين، إن لم يكن من المعروف أن قذيفة من قبل نظام التشغيل، لديك لإضافته إلى قائمة معروفة لها: /etc/shells

من الطرفية:

  1. إضافة إلى الأسماك /etc/shells, والتي سوف تتطلب كلمة مرور إدارية:

    sudo echo /usr/local/bin/fish >> /etc/shells
    
  2. جعل الأسماك الافتراضي الخاص بك قذيفة مع chsh:

    chsh -s /usr/local/bin/fish
    

من تفضيلات النظام:

  1. المستخدمين والمجموعات → اضغط مفتاح ctrl على المستخدم الحالي → خيارات متقدمة...

  2. تغيير تسجيل الدخول إلى شل /usr/local/bin/fish

    login shell

  3. اضغط موافق, تسجيل الخروج و في مرة أخرى

وهنا طريقة أخرى للقيام بذلك:

وعلى افتراض انك تثبيته مع MacPorts، والتي يمكن أن يتم ذلك عن طريق القيام:

sudo port install fish

وسوف يكون موجودا قذيفة الخاص بك في /opt/local/bin/fish.

وتحتاج إلى معرفة OSX أن هذا هو قذيفة صالحة. للقيام بذلك، إضافة هذا المسار إلى نهاية الملف /etc/shells.

وبمجرد الانتهاء من ذلك، يمكنك تغيير قذيفة عن طريق الذهاب إلى تفضيلات النظام -> الحسابات. انقر على قفل للسماح التغييرات. انقر بزر الماوس الأيمن على حساب، واختر "خيارات متقدمة ...". في حقل "الدخول قذيفة"، إضافة المسار إلى الأسماك.

الشيء الوحيد الذي عملت بالنسبة لي كان مزيج من كل هذه الأساليب.

  1. وكان الأولى لإضافة الأسماك /etc/shells الملف

  2. ثم ركضت chsh -s /usr/local/bin/fish

  3. أخيرا, أنا كتبته الأمر+, وأضاف /usr/local/bin/fish إلى المسار الافتراضي هناك

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

في ماك موهافي كان علي أن أفعل ما يلي (باستخدام zsh كمثال):

brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)
  1. افتح الطرفية ثم اضغط على الأمر+, (فاصلة).سيؤدي هذا إلى فتح نافذة التفضيلات.
  2. أول علامة التبويب "عام".
  3. العثور على قذائف مفتوحة مع الإعداد واختيار الخيار 2 الذي يحتاج إلى استكمال مسار قذيفة.
  4. لصق الرابط الخاص بك الأسماك الأمر الذي هو عموما /usr/local/bin/fish.

أنا أستخدم ماك سييرا.

والبرنامج chsh سوف تمكنك من تغيير قذيفة الافتراضي. وسوف تريد المسار الكامل إلى الملف القابل للتنفيذ، حتى إذا قذيفة الخاص بك هو fish بعد ذلك سوف أريد منك أن تقدم للناتج معين عند كتابة which fish.

وسترى خط بدءا من "Shell:". إذا كنت لم تحريره، فإنه من المرجح أن يقول "Shell: /bin/bash". استبدال هذا الطريق /bin/bash مع طريق قذيفة المطلوب.

عند في المحطة، فتح تفضيلات الطرفية باستخدام القيادة + ، .

في علامة التبويب إعدادات، حدد أحد الموضوعات واختر علامة التبويب قذيفة على اليمين.

ويمكنك تعيين fish قيادة تلقائي.

heimdall:~ leeg$ dscl
Entering interactive mode... (type "help" for commands)
 > cd /Local/Default/Users/
/Local/Default/Users > read <<YOUR_USER>>
[...]
UserShell: /bin/bash
/Local/Default/Users >

ومجرد تغيير هذه القيمة (مع الأمر الكتابة في dscl).

وكيفية الحصول على أحدث نسخة من باش على ماك الحديثة (اختبار على موهافي).

brew install bash
which bash | sudo tee -a /etc/shells
chsh -s $(which bash)

وبعد ذلك كنت على استعداد ل الحصول على علامة التبويب أسلوب همة الانتهاء الذي يتوفر فقط على سحق> = 4 (الإصدار الحالي في brew هو 5.0.2

# If there are multiple matches for completion, Tab should cycle through them
bind 'TAB':menu-complete

# Display a list of the matching files
bind "set show-all-if-ambiguous on"

# Perform partial completion on the first Tab press,
# only start cycling full results on the second Tab press
bind "set menu-complete-display-prefix on"

في حالة كنت تواجه مشاكل مع الطرق الأخرى، وعملت على ماك موهافي ولكن ينبغي العمل بشكل عام.

which fish

وإضافة مسار الإخراج إلى "نظام التفضيلات> المستخدمون & المجموعات> بزر الماوس الأيمن فوق المستخدم، خيارات متقدمة" لصق النتيجة التي إلى "تسجيل الدخول قذيفة:"

هذا العمل بالنسبة لي على تثبيت جديدة من ماك (سييرا):

  1. تعريف المستخدم الحالي كمالك قذائف
sudo chown $(whoami) /etc/shells
  1. إضافة الأسماك /etc/قذائف
sudo echo /usr/local/bin/fish >> /etc/shells
  1. جعل الأسماك الافتراضي الخاص بك قذيفة مع chsh
chsh -s /usr/local/bin/fish
  1. تعريف جذر مالك قذائف
sudo chown root /etc/shells
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top