ฉันกำลังเรียกใช้ Mac OS X เวอร์ชั่น 10.6.3 และเมื่อฉันเปิด terminal (ด้วย terminal.app หรือ iterm) มันแค่แฮงค์ในกระบวนการล็อกอิน ฉันลองรีสตาร์ทเปลี่ยนคำสั่งเริ่มต้นเป็น / bin / bash และลบไฟล์การตั้งค่าเทอร์มินัล ทั้งหมดไม่มีประโยชน์
ฉันกำลังเรียกใช้ Mac OS X เวอร์ชั่น 10.6.3 และเมื่อฉันเปิด terminal (ด้วย terminal.app หรือ iterm) มันแค่แฮงค์ในกระบวนการล็อกอิน ฉันลองรีสตาร์ทเปลี่ยนคำสั่งเริ่มต้นเป็น / bin / bash และลบไฟล์การตั้งค่าเทอร์มินัล ทั้งหมดไม่มีประโยชน์
คำตอบ:
เป็นไปได้ว่าคุณมีข้อผิดพลาดในไฟล์. bashrc ของคุณ ... คุณสามารถลองติด echo statement ใน. bashrc ของคุณหรือลบมันออกหรือลอง tcsh แทน bash เพื่อดูว่าเป็นปัญหาหรือไม่
ฉันมีปัญหาที่คล้ายกัน
ในกรณีของเทอร์มิจะแผงลอยว่า 'Terminal - เข้าสู่ระบบ - 80x24' ในชื่อ
ฉันไม่ต้องการติดตั้ง Terminal จากดิสก์ OS X อีกครั้งดังนั้นฉันจึงทำตามขั้นตอนต่าง ๆ และท้ายที่สุดหนึ่งในนั้นก็ทำงานได้ ฉันไม่แน่ใจว่าสิ่งใดสำคัญที่สุด แต่ฉันตัดสินใจแชร์ขั้นตอนที่แน่นอนในกรณีที่มีคนพบว่ามีประโยชน์:
1. ย้ายออกไปจากcom.apple.Terminal.plist
~/Library/Preferences/
บางรายงานว่าไฟล์กำหนดค่าเทอร์มินัลอาจเกิดความสับสนและป้องกันไม่ให้แอปเริ่มทำงาน
ย้ายไฟล์นี้ไปที่อื่นเพื่อสำรองข้อมูลออกจากเทอร์มินัลแล้วเริ่มใหม่อีกครั้ง
ในกรณีของฉันการรีเซ็ตการกำหนดค่าเปลี่ยนแบบอักษรและการตั้งค่าสีเป็นค่าเริ่มต้น แต่ปัญหายังคงอยู่ ถ้าเป็นเช่นนั้นให้ทำตามขั้นตอนที่สอง:
2. ลองเรียกใช้เชลล์นอกเหนือจาก bash
คำแนะนำในการเปลี่ยนเชลล์เริ่มต้นในเทอร์มินัลเป็น/bin/zsh
และรีสตาร์ทเทอร์มินัลเพื่อดูว่าปัญหานั้นจำเพาะกับการทุบตีหรือไม่ login
ในกรณีของการทำเช่นนั้นการเปลี่ยนแปลงอะไรและเทอร์มิยังคงแขวนที่
3. ลองย้าย.bash*
ไฟล์ออกจากโฮมไดเร็กตอรี่
ฉันจำได้ว่าในช่วงเซสชั่นก่อนหน้าฉันสร้าง.bash_profile
ไฟล์ในไดเรกทอรีของฉัน บางทีมีบางอย่างผิดปกติกับมัน หากคุณยังไม่ได้สร้างด้วยตัวเองตัวติดตั้งบางตัวอาจสร้าง (หรือแก้ไข) โดยเฉพาะอย่างยิ่งหากซอฟต์แวร์นั้นไม่เฉพาะกับ Mac OS
น่าเสียดายที่ Finder ไม่แสดงไฟล์ที่ซ่อนอยู่ตามค่าเริ่มต้นและไม่มีวิธีที่ง่ายในการทำเช่นนี้ อย่างไรก็ตามในกรณีของฉันฉันพบว่าAutomator สามารถเรียกใช้คำสั่ง bash ได้สำเร็จ :
นี่คือสคริปต์ที่ฉันใช้:
cd ~
mkdir backup
for F in .bash*
do
mv $F backup
done
มันย้ายไฟล์ทั้งหมดที่เริ่มต้นด้วย.bash
ในไดเรกทอรีบ้านของฉันไปยังbackup
ไดเรกทอรีย่อย
4. รีบูต
ตอนนี้การรีสตาร์ทแอพไม่ได้ผลสำหรับฉัน แต่ฉันก็ตัดสินใจลองรีบูทด้วย
หลังจากรีบูตเครื่องเทอร์มินัลทำงาน Voila!
ฉันย้ายไฟล์ที่บันทึกไว้com.apple.Terminal.plist
กลับไป~/Library/Preferences/
เป็นแทนที่ไฟล์ปัจจุบันและตัดสินใจที่จะไม่กู้คืนไฟล์เก่า (และค่อนข้างไม่เป็นประโยชน์) .bash*
และbackup
ไดเรกทอรีที่ถูกลบ
ฉันไม่รู้ว่ามันเป็นเรื่องบังเอิญหรือเป็นขั้นตอนเฉพาะที่ผสมผสานกันเพื่อแก้ไขปัญหา แต่ฉันดีใจที่ Terminal ทำงานอีกครั้งและฉันหวังว่าคุณจะทำเช่นนั้น
หากกระบวนการปัจจุบันคือ "เข้าสู่ระบบ" จริงๆแล้วโดยปกติหมายถึงการเข้าสู่ระบบกำลังรอที่จะสร้างเซสชั่นการเข้าสู่ระบบและยังไม่ได้พยายามที่จะเริ่มเปลือก เพื่อตรวจสอบสิ่งนี้ดูในการตรวจสอบกิจกรรมและดูว่าคุณเห็นเปลือกทำงานหรือถ้าคุณเห็นกระบวนการ "เข้าสู่ระบบ" โปรดทราบว่าหากคุณเปิดเทอร์มินัลอื่นคุณอาจเห็น "ล็อกอิน" และกระบวนการเชลล์อื่น ๆ สำหรับพวกเขาดังนั้นโปรดระมัดระวังเกี่ยวกับกระบวนการที่คุณกำลังตรวจสอบ กระบวนการปัญหามักจะเป็นกระบวนการล่าสุดที่มีหมายเลขรหัสกระบวนการสูงสุด (PID)
ฉันรู้ว่ามาร์ค Szymanski กล่าวว่าการรีบูตไม่ได้ช่วยในกรณีของเขา แต่ฉันคิดว่าฉันควรพูดถึงเรื่องนี้ต่อไป: ถ้ามันติดอยู่ใน "เข้าสู่ระบบ" สาเหตุที่พบบ่อยที่สุดคือคุณวิ่ง "sudo" แล้วปิดสถานี ในขณะที่รอให้คุณป้อนรหัสผ่าน หากคุณทำเช่นนี้ sudo จะรอรหัสผ่านถาวรและจะบล็อกการเข้าสู่ระบบทั้งหมดจนกว่าคุณจะฆ่ากระบวนการ sudo วิธีที่ง่ายที่สุดในการแก้ไขปัญหาคือการรีบูท อีกทางหนึ่งคุณสามารถฆ่า sudo จาก Activity Monitor (หรือจากเทอร์มินัลอื่นหากคุณมีหนึ่งอันเปิดอยู่แล้ว) ในฐานะของ Mac OS X Lion 10.7, sudo จะสังเกตเห็นเมื่อเครื่องหายไปและหยุดรอรหัสผ่านดังนั้นปัญหานี้ไม่ควรเกิดขึ้นอีกต่อไป
อีกสาเหตุหนึ่งของความล่าช้าในการเข้าสู่ระบบคือถ้าคุณเชื่อมต่อกับเครือข่าย Open Directory และเซิร์ฟเวอร์ไดเรกทอรีช้าหรือไม่ตอบสนอง รายงานสิ่งนี้ต่อผู้ดูแลระบบเครือข่ายของคุณ ซึ่งมักจะทำให้เกิดความล่าช้าในไม่กี่วินาที แต่ในบางกรณีพวกเขาสามารถนานถึงหลายนาที
ปัญหาไม่ได้เป็นเปลือกหรือเครือข่าย ลบไฟล์ * .asl:
sudo rm -rf /private/var/log/asl/*.asl
มันต้องใช้เวลาเพราะมันเริ่มเชลล์ใหม่ แต่หลังจากนั้นก็ทำงานได้ดีอีกครั้ง