มีคำสั่งและการดำเนินการที่น่าสนใจมากมายในข้อผิดพลาด’Terminal Operation Not Permised’ของ Mac เป็นเครื่องมือที่น่าทึ่งที่ให้ผู้ใช้ควบคุมอุปกรณ์ Mac ได้อย่างสมบูรณ์ การใช้คำสั่ง SIP (System Integrity Protection) เป็นหนึ่งในตัวอย่างดังกล่าว
อย่างไรก็ตาม บางครั้งผู้ใช้ประสบปัญหา เช่น การดำเนินการที่ไม่ได้รับอนุญาต สิ่งสำคัญคือต้องตระหนักว่าในช่วงปีเดียว macOS มีประสบการณ์ในการอัปเกรด การปรับโฉม และการเปลี่ยนแปลงมากมาย ปัจจุบัน ผู้ใช้ macOS ซึ่งรวมถึง macOS Ventura, Monterey, Big Sur, Catalina และ Mojave มักประสบปัญหานี้
ดังนั้น ผู้ใช้ Mac จึงมักพบข้อผิดพลาด “ไม่อนุญาตให้ดำเนินการ” ร่วมกับข้อผิดพลาดอื่นๆ ข้อผิดพลาดเฉพาะ zsh: ไม่พบคำสั่ง แต่ไม่ต้องกังวล เราจะหารือเกี่ยวกับสาเหตุที่ทำให้เกิดข้อผิดพลาดนี้
เราจะพิจารณาวิธีแก้ปัญหาที่เป็นไปได้บางประการสำหรับสิ่งนี้ ซึ่งสำคัญกว่า ตามปกติแล้ว macOS นั้นพิเศษมาก ในขณะที่ผู้ใช้บางคนอาจพบว่าการแก้ไขเฉพาะนั้นได้ผลสำหรับพวกเขา คนอื่นๆ อาจต้องทดลองใช้โซลูชันอื่นๆ แต่สำหรับผู้ใช้ Mac ส่วนใหญ่ วิธีการแก้ไขทั่วไปของเราใช้ได้ผล
แก้ไข: ปัญหา’Terminal Operation Not Permitted error’บน Mac
แก้ไขการตั้งค่าความปลอดภัยของคุณ
เปิด Apple แล้วไปที่ System Preferences ไปที่ความปลอดภัยและความเป็นส่วนตัว > ความเป็นส่วนตัว ตอนนี้คลิกที่ การเข้าถึงดิสก์ทั้งหมด ในบานหน้าต่างด้านซ้าย คลิกไอคอนแม่กุญแจและป้อนรหัสผ่านผู้ดูแลระบบของคุณ คลิกไอคอนเครื่องหมายบวก และไปที่ไดเร็กทอรีต่อไปนี้:/Applications/Utilities/เลือก Terminal
ตรวจสอบว่าไฟล์ล็อกอยู่หรือไม่
เปิด เทอร์มินัล ป้อน คำสั่ง ต่อไปนี้: chflags nouchg path/to/the/locked/file
ปิดใช้งาน System Integrity Protection (SIP)
รีสตาร์ท Mac ของคุณ ทันทีที่คอมพิวเตอร์เริ่มรีสตาร์ท ให้กด Command + R ค้างไว้ ไปที่ Utilities > Terminal เรียกใช้คำสั่งต่อไปนี้: csrutil ปิดการใช้งาน รีบูต
เปิดใช้งานการเข้าถึงดิสก์แบบเต็ม
ผ่านการตั้งค่าระบบ คุณสามารถให้สิทธิ์การเข้าถึงดิสก์ทั้งหมดแก่เทอร์มินัล เมื่อทำเช่นนี้ ระบบจะสามารถเปลี่ยนไฟล์และโฟลเดอร์ทั้งหมดที่มีอยู่ในระบบของคุณได้ ข้อความแสดงข้อผิดพลาด”ไม่อนุญาตให้ดำเนินการ”จะไม่ปรากฏขึ้นหลังจากนั้น
จากแถบเมนู ให้ไปที่ Apple > System Preferences คลิกการตั้งค่าความปลอดภัยและความเป็นส่วนตัว คลิกที่ล็อคและป้อนรหัสผ่านผู้ดูแลระบบของคุณเพื่ออนุญาตการเปลี่ยนแปลงใหม่ ไปที่ความเป็นส่วนตัว เลือก การเข้าถึงดิสก์แบบเต็ม จากแผงด้านซ้าย ตอนนี้ คลิก’+‘เพื่อให้แอปพลิเคชันที่เลือกเข้าถึงดิสก์ทั้งหมด เลือก เทอร์มินัล จากรายการแอปพลิเคชันแล้วเปิด กลับไปที่ การเข้าถึงดิสก์แบบเต็ม และตรวจสอบให้แน่ใจว่าเทอร์มินัลถูกทำเครื่องหมายสำหรับการเข้าถึงแบบเต็ม หากได้รับแจ้ง ให้ปิดและเปิดใหม่เทอร์มินัล สุดท้าย คลิกที่แม่กุญแจเพื่อบันทึกการเปลี่ยนแปลงของคุณ
เปลี่ยนไดเร็กทอรีไฟล์
จากแถบเมนู คลิกไป>คอมพิวเตอร์ เลือกดิสก์ไดรฟ์หลักของคุณ (โดยค่าเริ่มต้น ชื่อ Macintosh HD) จากนั้นกด Shift + Command + (จุด) เพื่อดูไฟล์ที่ซ่อนอยู่ ไปที่โฟลเดอร์ usrbin คัดลอกไฟล์ที่ต้องการและวางลงในโฟลเดอร์ usr > local >bin รีสตาร์ทเครื่องคอมพิวเตอร์ของคุณ
เหตุใด Terminal จึงแจ้งว่าไม่อนุญาตให้ใช้งาน
ผู้ใช้ Mac บางรายอ้างว่า Terminal ทำงานอย่างถูกต้องบน macOS High Sierra และเวอร์ชันก่อนหน้า แต่เมื่อพวกเขาอัปเดตเป็น macOS Mojave, Catalina, Big Sur, Monterey หรือ Ventura พวกเขาพบข้อผิดพลาด”ไม่อนุญาตให้ดำเนินการ”ฟีเจอร์ความปลอดภัยใหม่ที่เรียกว่า Full Disk Access เป็นตัวการสำคัญในเรื่องนี้
สำหรับแอปพลิเคชันอื่นๆ ที่ไม่ได้รับสิทธิ์แบบเต็ม ข้อมูลบางอย่างบน Mac จะไม่สามารถเข้าถึงได้ การเข้าถึงดิสก์แบบเต็มต้องการให้แอปพลิเคชันได้รับสิทธิ์อย่างเต็มที่เพื่อเข้าถึงไฟล์ที่ป้องกันโดยผู้ใช้ นอกจากนี้ เมื่อติดตั้งแอพบน macOS 10.13 และรุ่นก่อนหน้า ระบบจะให้สิทธิ์การเข้าถึงดิสก์แบบเต็มโดยอัตโนมัติ
ข้อผิดพลาด “ไม่ได้รับอนุญาตให้ใช้งาน” อาจเกิดจากคุณสมบัติอื่นของ macOS ที่เรียกว่า SIP นอกเหนือจากแบบเต็ม การเข้าถึงดิสก์ (การป้องกันความสมบูรณ์ของระบบ) ไฟล์และไดเร็กทอรีที่เป็นของระบบได้รับการปกป้องจากการเปลี่ยนแปลงที่ไม่ได้รับอนุญาตด้วยกลไกที่เพิ่มเข้ามาใน OS X 10.11 ข้อความ “ไม่อนุญาตให้ดำเนินการ” จะปรากฏขึ้นหากคุณพยายามแก้ไขเนื้อหาที่มีการป้องกันในเทอร์มินัล
คำถามที่พบบ่อย
ฉันจะรีเซ็ต Mac Terminal ได้อย่างไร
บนแป้นพิมพ์ของ Mac คุณสามารถกด control + option + command + R แทนได้ หน้าจอ Terminal จะถูกลบพร้อมกับสิ่งอื่นๆ จาก Mac หากคุณเลือกตัวเลือกฮาร์ดรีเซ็ต เมื่อเสร็จแล้ว หน้าจอสีดำจะปรากฏขึ้น
เทอร์มินัลเริ่มต้นบน Mac คืออะไร
Zsh คือเชลล์เริ่มต้น หน้าต่างและแท็บ Terminal ใหม่สามารถเปิดได้ด้วยเชลล์อื่น เลือกเทอร์มินัล > การตั้งค่า จากนั้นคลิกทั่วไปในแอพเทอร์มินัลบน Mac ของคุณ เลือก “Command (เส้นทางที่สมบูรณ์)” ถัดจาก “Shells open with” จากนั้นพิมพ์เส้นทางแบบเต็มไปยังเชลล์ที่คุณต้องการใช้
ฉันควรใช้ bash หรือ zsh บน Mac หรือไม่
Z shell หรือที่เรียกว่า zsh เป็นเชลล์ Unix ที่เพิ่มคุณสมบัติเพิ่มเติมให้กับ bash ซึ่งเป็นเชลล์มาตรฐานของ macOS แนะนำให้ใช้ zsh มากกว่า bash นอกจากนี้ ขอแนะนำให้ติดตั้งเฟรมเวิร์กโดยใช้ zsh เพราะจะทำให้การจัดการการกำหนดค่า ปลั๊กอิน และธีมง่ายขึ้นมาก
Terminal บน Mac เหมือนกับ command prompt หรือไม่
คุณสามารถใช้ พร้อมรับคำสั่งเพื่อจัดการ Mac ของคุณโดยใช้แอพ Terminal ทำไมคุณถึงอยากทำอย่างนั้น? อาจเป็นเพราะคุณคุ้นเคยและชอบทำงานกับบรรทัดคำสั่งในระบบที่ใช้ Unix อินเทอร์เฟซบรรทัดคำสั่งของ Mac เรียกว่าเทอร์มินัล