ฉันจะตั้งค่าปลาเป็นเปลือกเริ่มต้นได้อย่างไร


110

มีวิธีตั้งปลาเป็นเชลล์เริ่มต้นใน ubuntu netbook remix หรือไม่? ฉันใส่. bashrc ของฉันเพื่อเรียกใช้ปลาซึ่งทำงานได้ดี แต่อูบุนตูตระหนักว่ามันเป็นปลาที่กำลังทำงานอยู่ในทุบตีซึ่งหมายความว่าเมื่อฉันพยายามปิดเปลือกมันเตือนฉันว่างานยังคงทำงานอยู่

มันไม่ได้ปรากฏขึ้นเป็นแอปพลิเคชันใหม่ดังนั้นฉันจึงไม่สามารถปักหมุดไว้ที่แถบของฉันเหมือนกับแอปทั่วไป


2
จากคำถามที่พบบ่อยอย่างเป็นทางการ: ฉันจะทำให้ปลาเปลือกของฉันเริ่มต้นได้อย่างไร
Dennis

คำตอบ:


151

คุณสามารถตั้งค่าปลาเป็นเปลือกเริ่มต้นของคุณโดยการเรียกใช้

chsh -s `which fish`

sudoต้องการทำเช่นนั้นสำหรับผู้ใช้คนอื่นเพียงแค่เพิ่มชื่อผู้ใช้ในตอนท้ายของคำสั่งและการใช้งาน

จากนั้นออกจากระบบและกลับเข้ามาใหม่

(ในการตั้งค่ากลับเป็นbashคุณต้องใช้ Fish syntax แน่นอนเช่นนี้chsh -s (which bash))


3
ดูเหมือนจะไม่ได้ผลสำหรับฉัน มันไม่ได้ให้ข้อผิดพลาด แต่มันดูเหมือนจะไม่ทำงานแม้ว่าฉันเพิ่งเปิดแท็บใหม่ ความคิดใด ๆ
Xodarap

16
คุณอาจต้องออกจากระบบและกลับเข้ามาใหม่ - ฉันเพิ่งลองบนเครื่องเสมือนที่สะอาดและใช้งานได้
ajmitch

1
คุณจะตั้งมันกลับมาได้อย่างไร
Knutole

7
อย่าเรียกใช้คำสั่งนี้โดยไม่ตั้งใจsudoหรือคุณจะเปลี่ยนรูทเชลล์แทน
Stephen Niedzielski

2
หรือchsh -s (which fish)จากภายในปลา
Wtower

30
usermod -s /usr/bin/fish username

จะต้องทำงานเหมือนรูท

สิ่งนี้จะเปลี่ยนเชลล์อย่างถาวรสำหรับผู้ใช้ที่ระบุ


1
ฉันรู้ว่ามันไม่ใช่ Ubuntu แต่ฉันต้องการแสดงความคิดเห็น: ฉันอยู่บน CentOS และฉันได้รับAuthentication Failedข้อผิดพลาดในการพยายามเปลี่ยนเชลล์ด้วยผู้ใช้ที่ไม่ใช่รูทและหลังจากการค้นหาอย่างกว้างขวางเพื่อลองและคิดออกนี่เป็นสิ่งเดียว ที่ได้ผล ขอบคุณ!
CWSpear

ใช่มันจะทำงานกับรสชาติที่เป็น unix ส่วนใหญ่ที่มี usermod และปลาสำหรับเปลือกหรือเปลี่ยนเปลือกเป็นสิ่งที่คุณต้องการรสชาติ
sweetfa

ฉันทำอย่างนั้นและตอนนี้สถานีไม่ได้เริ่มต้นอีกต่อไป ฉันได้รับ "เกิดข้อผิดพลาดในการสร้างกระบวนการลูกสำหรับเทอร์มินัลนี้", "ไม่สามารถดำเนินการกับกระบวนการลูก" / usr / bin / fish "(ข้อผิดพลาดอินพุต / เอาต์พุต)" ฉันจะยกเลิกสิ่งนั้นได้อย่างไร
ptkato

ออกคำสั่งเดียวกับรูท แต่ใช้ทุบตีแทนปลาเป็นเปลือก
sweetfa

21

ฉันเพิ่งเพิ่มบรรทัดที่ส่วนท้ายของฉันfish.bashrc


1
นั่นเป็นวิธีที่ง่ายและดีที่สุด, IMO;)
เบนมอร์เทน

9
ขออภัยมันไม่ได้มีประสิทธิภาพ :) มันจะโหลดเปลือกปลาของคุณ แต่จะอยู่ด้านบนของการทุบตีของคุณทำงาน
M. Junaid Salaat

1
ทำไมทุบตีต้องมีประสิทธิภาพ? @ M.JunaidSalaat
codenamejames

จากแวบแรกดูเหมือนว่าแฮ็คสกปรก แต่หลังจากใช้คอมพิวเตอร์ของฉันกับปลาที่กำหนดเป็นเปลือกเริ่มต้นกับ chsh ฉันกลับมาที่โซลูชันนี้ บางโปรแกรมคิดว่าคุณกำลังใช้ bash และจะมีปัญหาเนื่องจากใช้ bash syntax ใน fish จนถึงตอนนี้ฉันประสบปัญหาดังกล่าวใน i3wm และ matlab
Naheel

@codenamejames: ไม่ใช่ว่า bash นั้นจำเป็นต้องมีประสิทธิภาพหรือไม่กี่มิลลิวินาทีนั้นสำคัญ แต่มันก็เป็นกรณีที่ไม่มีอะไรจะเสียดังนั้นทำไมมันถึงไม่ถูกต้องล่ะ? โดยเฉพาะอย่างยิ่งที่นี่ที่เราให้คำแนะนำกับคนอื่น เราควรรู้ให้ดีขึ้น
swalog

13

ฉันเห็นด้วยกับchshคำตอบที่ถูกต้องคือ อย่างไรก็ตาม:

หากคุณเรียกใช้chshและได้รับข้อผิดพลาด

/usr/local/bin/fish: non-standard shell

/etc/shellsเพียงแค่เพิ่มสถานที่ตั้งไบนารีปลา

พบที่นี่


สิ่งนี้จำเป็นต้องทำใน macOS Mojave
Dodekeract

2

ใน/etc/shellsเพิ่ม/usr/local/bin/fish:

# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/fish

chsh -s /usr/local/bin/fishแล้วก็

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.