كيفية تعيين الافتراضي قذيفة على ماك ؟
سؤال
أنا لا أحب أن أعد كتابة الأسماك في كل مرة كنت بدء تشغيل المحطة.أريد fish
بشكل افتراضي.كيف يمكنني تعيين الأسماك قذيفة كما الافتراضي قذيفة على ماك ؟
المحلول
هذه تنطبق على ماك سييرا 10.12.5 (16F73) وربما بعض أحدث الإصدارات القادمة من ماك.
chsh
لا يكفي تغيير shell الافتراضي.تأكد من الضغط الأمر+, في حين أن محطة الخاص بك هو فتح و تغيير 'قذائف مفتوحة مع' الخيار إلى 'تسجيل الدخول الافتراضي قذيفة.'في حالة باش تأكد من تنفيذ
echo $BASH_VERSION
للتأكد من أنك تقوم بتشغيل المقصود إصدار باش.bash --version
لا يعطيك المعلومات الصحيحة.
نصائح أخرى
1.sudo nano /etc/قذائف
2.إضافة /البيرة/المحلية/بن/الأسماك إلى قائمة قذائف
3.chsh -s /usr/local/bin/الأسماك
ويمكنك استخدام chsh لتغيير قذيفة المستخدم.
وتشغيل التعليمات البرمجية التالية، على سبيل المثال، لتغيير قذيفة لZsh
chsh -s /bin/zsh
وكما هو موضح في manpage، وورين، إن لم يكن من المعروف أن قذيفة من قبل نظام التشغيل، لديك لإضافته إلى قائمة معروفة لها: /etc/shells
من الطرفية:
إضافة إلى الأسماك
/etc/shells
, والتي سوف تتطلب كلمة مرور إدارية:sudo echo /usr/local/bin/fish >> /etc/shells
جعل الأسماك الافتراضي الخاص بك قذيفة مع
chsh
:chsh -s /usr/local/bin/fish
من تفضيلات النظام:
المستخدمين والمجموعات → اضغط مفتاح ctrl على المستخدم الحالي → خيارات متقدمة...
تغيير تسجيل الدخول إلى شل
/usr/local/bin/fish
اضغط موافق, تسجيل الخروج و في مرة أخرى
وهنا طريقة أخرى للقيام بذلك:
وعلى افتراض انك تثبيته مع MacPorts، والتي يمكن أن يتم ذلك عن طريق القيام:
sudo port install fish
وسوف يكون موجودا قذيفة الخاص بك في /opt/local/bin/fish
.
وتحتاج إلى معرفة OSX أن هذا هو قذيفة صالحة. للقيام بذلك، إضافة هذا المسار إلى نهاية الملف /etc/shells
.
وبمجرد الانتهاء من ذلك، يمكنك تغيير قذيفة عن طريق الذهاب إلى تفضيلات النظام -> الحسابات. انقر على قفل للسماح التغييرات. انقر بزر الماوس الأيمن على حساب، واختر "خيارات متقدمة ...". في حقل "الدخول قذيفة"، إضافة المسار إلى الأسماك.
الشيء الوحيد الذي عملت بالنسبة لي كان مزيج من كل هذه الأساليب.
وكان الأولى لإضافة الأسماك
/etc/shells
الملفثم ركضت
chsh -s /usr/local/bin/fish
أخيرا, أنا كتبته الأمر+, وأضاف
/usr/local/bin/fish
إلى المسار الافتراضي هناك
فقط بعد أن كنت قد فعلت كل ثلاثة أشياء لم الأسماك تبدأ ظهرت الافتراضي الجديدة نوافذ المحطة.
في ماك موهافي كان علي أن أفعل ما يلي (باستخدام zsh كمثال):
brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)
- افتح الطرفية ثم اضغط على الأمر+, (فاصلة).سيؤدي هذا إلى فتح نافذة التفضيلات.
- أول علامة التبويب "عام".
- العثور على قذائف مفتوحة مع الإعداد واختيار الخيار 2 الذي يحتاج إلى استكمال مسار قذيفة.
- لصق الرابط الخاص بك الأسماك الأمر الذي هو عموما
/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
وإضافة مسار الإخراج إلى "نظام التفضيلات> المستخدمون & المجموعات> بزر الماوس الأيمن فوق المستخدم، خيارات متقدمة" لصق النتيجة التي إلى "تسجيل الدخول قذيفة:"
هذا العمل بالنسبة لي على تثبيت جديدة من ماك (سييرا):
- تعريف المستخدم الحالي كمالك قذائف
sudo chown $(whoami) /etc/shells
- إضافة الأسماك /etc/قذائف
sudo echo /usr/local/bin/fish >> /etc/shells
- جعل الأسماك الافتراضي الخاص بك قذيفة مع chsh
chsh -s /usr/local/bin/fish
- تعريف جذر مالك قذائف
sudo chown root /etc/shells