Mac OS X - ไม่สามารถเริ่ม Terminal.app - เชลล์มีค่าผิดกฎหมาย


16

ฉันไม่สามารถเรียกใช้ Terminal.app หลังจากย้อนกลับระบบจากเครื่องย้อนเวลา

Mac OS X เวอร์ชัน 10.6.2

จะแสดงข้อผิดพลาดดังต่อไปนี้ "คุณไม่ได้รับอนุญาตให้เรียกใช้แอปพลิเคชันนี้" "ผู้ดูแลระบบได้ตั้งค่าเชลล์ของคุณเป็นค่าที่ผิดกฎหมาย"

หลังจากนั้นฉันลบไฟล์ ~ / Library / Preferences / com.apple.Terminal.plist

แต่ข้อความเดียวกันจะปรากฏขึ้น

ฉันซ่อมแซมสิทธิ์ระบบทั้งหมดด้วย DiskUtility แต่ไม่ได้ช่วย

คำตอบ:


10

การรีบูตเป็นคำตอบใน OS X Lion หากคุณสูญเสียความสามารถในการเขียนไปยัง USB หรือไดรฟ์เครือข่ายโซลูชันจะเหมือนกัน

ฉันหวังว่าจะมีการอัปเดตที่รวดเร็วเพื่อกำจัดปัญหาที่น่ารำคาญเหล่านี้


10

/bin/bashค่านี้จะถูกตั้งค่าให้ ไม่มีอะไรเปลี่ยนแปลงที่นี่ ฉันได้ควบคุมการตั้งค่าเหล่านี้ ฉันได้รับข้อผิดพลาดนี้สำหรับทุกเชลล์

ในที่สุดฉันก็พบทางออก ใน Finder /etcที่ผมไปเปิดโฟลเดอร์ ที่นั่นฉันพบไฟล์/private/etc/shellsซึ่งว่างเปล่า ฉันแทนที่ไฟล์กับแฟ้มสำรองข้อมูล/private/etc/shells/private/etc/shells~orig

ตอนนี้ / private / etc / shells มีดังต่อไปนี้:

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

(มีขั้นตอนเพิ่มเติมในเครื่องมือค้นหาลบไฟล์เชลล์ว่างเปล่าเปลี่ยนสิทธิ์ในกล่องโต้ตอบข้อมูล)

ตอนนี้ฉันสามารถเริ่ม Terminal.app ด้วย/bin/bashอีกครั้ง


ฉันพบว่าบัญชีของฉันไม่สามารถแม้แต่จะเห็นโฟลเดอร์ / etc / bin ด้วยเหตุผลบางอย่างแม้ว่าฉันจะสามารถดูได้จากบัญชีผู้ดูแลระบบท้องถิ่นบนเครื่อง (บัญชีหลักของฉันคือบัญชีโดเมนของ บริษัท ) คิดเกี่ยวกับการใช้ CHMOD จากบัญชีผู้ดูแลเพื่อเปลี่ยนการเข้าถึงไดเรกทอรี / etc / bin
ScottCher

ลองพิจารณายอมรับคำตอบ (หรืออีกข้อ) ของคุณสำหรับคำถามนี้
Daniel Beck

5

ฉันมีปัญหาเดียวกันหลังจากการคืนค่า Time Machine ในกรณีนี้ใช้การสำรองข้อมูลจาก MacBook Pro เพื่อกู้คืนไปยัง MacBook

ฉันสามารถแก้ปัญหาได้เพียงแค่ใช้ Finder (ป้อนรหัสผ่านของคุณทุกครั้งที่ร้องขอ):

  • ใช้ไป> ไปที่โฟลเดอร์เพื่อไปที่ "/ ส่วนตัว"
  • เลือก "ฯลฯ "
  • Command-I เพื่อแสดงป๊อปอัพข้อมูล (อย่าปิดอีกครั้งจนกว่าจะสิ้นสุดกระบวนการนี้)
  • คลิกสัญลักษณ์ล็อคที่มุมขวาล่างเพื่อปลดล็อคการอนุญาต
  • จดบันทึกการตั้งค่าการอนุญาตสำหรับ "ทุกคน"
  • คลิกการตั้งค่าการอนุญาตสำหรับ "ทุกคน" และเลือก "อ่านและเขียน"
  • ใช้ไป> ไปที่โฟลเดอร์เพื่อไปที่ "/ private / etc"
  • ฉันพบว่า "shells" ว่างเปล่า แต่มี "shells ~ orig" ที่มีรายการ shells อยู่ในนั้น
  • ลบ "หอย"
  • เลือก "shells ~ orig"
  • Command-C, Command-V เพื่อคัดลอกและวาง; สิ่งนี้จะสร้าง "shells ~ orig copy"
  • เลือก "shells ~ orig copy
  • คลิกอีกครั้งเพื่อเข้าสู่โหมดการเปลี่ยนชื่อและเปลี่ยนชื่อของ "shells ~ orig copy" เป็น "shells"
  • กลับไปที่ป๊อปอัพข้อมูลและเปลี่ยนการตั้งค่าการอนุญาตสำหรับ "ทุกคน" กลับไปเป็นค่าดั้งเดิม
  • ปิดป๊อปอัพข้อมูล

ตอนนี้ฉันมีไฟล์ "shells" ที่มีรายการเชลล์ที่ถูกต้องแล้วฉันก็สามารถเปิด Terminal ได้อีกครั้ง


4

คลิกขวาที่ชื่อบัญชีของคุณในบานหน้าต่างบัญชีการตั้งค่าระบบและเลือกตัวเลือกขั้นสูง เปลี่ยนค่าสำหรับ "ล็อกอินเชลล์" - ฉันใช้ / bin / bash แต่คุณมีอิสระที่จะใช้เชลล์ที่ติดตั้งใด ๆ


4

ผมมีปัญหาเดียวกัน; การรีบูตใช้กลอุบายของฉัน ไม่คุ้นเคยกับการทำเช่นนั้นบน Mac :-P


เหมือนกันกับฉัน (บน Lion) แอพอื่น ๆ กำลังทำงาน (เช่น BBEdit) ดังนั้นฉันคิดว่าฉันลองรีสตาร์ทก่อนและมันก็ใช้ได้
nevan king

3

ฉันมีปัญหาเดียวกันที่แน่นอนเช่นกัน วิธีแก้ปัญหาง่าย ๆ :

เพียงเรียกใช้การซ่อมแซมดิสก์ที่ได้รับอนุญาตด้วย Disk Utility :-)


3

การเปลี่ยนรหัสผ่านบัญชีผู้ใช้ของฉันผ่านการตั้งค่าระบบได้แก้ไขสิ่งนี้ให้ฉัน (ฉันเปลี่ยนเป็นค่าเดียวกันซึ่งสันนิษฐานว่าบังคับให้ระบบปฏิบัติการเขียนข้อมูลบัญชีผู้ใช้บางไฟล์เป็นไฟล์) ฉันใช้ Mac OS X 10.7.3 และดูเหมือนว่าไม่มีไฟล์ใน / etc เปลี่ยนแปลงไป


2

การรวมคำตอบจากทิมกับเคม มีประโยชน์ในกรณีของฉัน

ฉันใช้วิธีการของ Tim ในการนำเทอร์มินัลมาใช้เปลือกที่แตกต่างกัน จากนั้นฉันจะแก้ไข/ etc / shellsเพื่อรวมเชลล์ที่ต้องการแล้วใช้แนวทางของ Tim อีกครั้งเพื่อกู้คืนเชลล์พา ธ ดั้งเดิมใน "Advanced Options"


2

ผมมีปัญหาเดียวกัน. Time Machine ด้วยเหตุผลบางอย่างกลาย/private/etc/shellsเป็นไฟล์ความยาวเป็นศูนย์ในระหว่างการกู้คืนของฉัน คำตอบของ chemm ค่อนข้างดี แต่พลาดขั้นตอนสำหรับ Mac noobies อย่างฉัน

  • เพื่อจะได้รับการ/private/etcที่คุณต้องใช้เมนู Finder รายการGo -> Go to Folderตัวเลือกและประเภท/private/etc
  • จากนั้นค้นหาไฟล์ shells
  • มันจะไม่อนุญาตให้ฉันแก้ไขไฟล์เลยดังนั้นฉันจึงลบมัน
  • จากนั้นฉันก็ใช้ไทม์แมชชีนเพื่อกู้คืนไฟล์นั้น
  • หากคุณเข้าสู่ไทม์แมชชีนใน Finder มันจะเริ่มต้นคุณใน/private/etcโฟลเดอร์นั้น
  • เมื่อฉันกู้คืนฉันไม่สามารถหาวิธีนำ Time Machine ไปยังโฟลเดอร์นั้น (ไม่เห็นตัวเลือก go to folder) ดังนั้นฉันจึงเรียกคืน "shells" ไปยังเดสก์ท็อปของฉันแล้วใช้ Finder เพื่อคัดลอก / วางไฟล์ไปที่ /private/etc

คุณจะต้องให้รหัสผ่านของคุณสองสามครั้งเพื่อให้บรรลุตามข้างต้นและฉันคิดว่าคุณจะต้องอยู่ในบัญชีผู้ดูแลระบบ


0

สำหรับฉันไม่มีคำตอบมาตรฐานที่เป็นปัญหา - ทุกอย่างเป็นไปอย่างดีเยี่ยม

การเลิกเซสชัน Aquamacs ของฉัน (emacs) ช่วยแก้ไขปัญหาได้! เมื่อฉันรีสตาร์ท Aquamacs Terminal ก็ยังทำงานได้ดี

ฉันไม่ได้ใช้คำสั่งเชลล์ emacs แต่อย่างใดแอปพลิเคชันเหล่านี้ยังคงมีการโต้ตอบในทางที่โชคร้าย

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