วิธีเรียกใช้แอป GUI ในฐานะรูทใน Mac OS X

Anonim

ผู้ที่คุ้นเคยกับบรรทัดคำสั่งจะรู้ว่าการเรียกใช้สิ่งที่มีสิทธิ์ของผู้ใช้ระดับสูงนั้นโดยทั่วไปแล้วเป็นเพียงเรื่องของการใช้คำสั่ง sudo สิ่งนี้ยังคงเป็นจริงด้วยการเปิดตัวแอพ GUI ใน OS X ด้วยสิทธิ์พิเศษของรูท แต่ไม่ใช่แค่เรื่องของการเพิ่ม sudo เป็นคำสั่ง open ที่มีประโยชน์อย่างอื่นเพราะ 'open' เรียกใช้แอพในฐานะผู้ใช้ดั้งเดิมโดยมีหรือไม่มี sudo วิธีแก้ไขคือใช้ sudo ชี้โดยตรงไปที่ไฟล์เรียกทำงานที่มีอยู่ในไฟล์แพ็คเกจแอปพลิเคชันที่กำหนด

การเปิดแอป OS X GUI ในฐานะผู้ใช้รูท

ไวยากรณ์ของคำสั่งมีดังนี้:

sudo /Path/To/Application/ApplicationName.app/Path/To/Executable

โดยส่วนใหญ่แล้ว แอปพลิเคชันนั้นจะถูกจัดเก็บไว้ในไดเร็กทอรี /Applications/ และไฟล์ปฏิบัติการนั้นมักจะถูกจัดเก็บไว้ใน Package/Contents/MacOS/ ไม่ว่าชื่อแอปพลิเคชันจะเป็นอะไรก็ตาม:

sudo /Applications/ApplicationName.app/Contents/MacOS/ApplicationName

ตัวอย่างเช่น คำสั่งนี้รันแอป TextEdit ที่คุ้นเคยในชื่อรูท:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit

ในการเปิด TextEdit เป็นแอปพื้นหลัง หมายความว่าแอปจะไม่ปิดหากคุณปิดหน้าต่างเทอร์มินัล ให้ใช้แฟล็ก -b กับ sudo: sudo -b /Applications/TextEdit .app/Contents/MacOS/TextEdit

คุณสามารถยืนยันได้ว่าแอปพลิเคชันกำลังทำงานในฐานะรูทโดยใช้คำสั่ง ps กับ grep อีกครั้งโดยใช้ TextEdit เป็นตัวอย่าง:

ps au|grep แก้ไขข้อความ

อีกทางหนึ่ง คุณสามารถดูแอปการจัดการกระบวนการ OS X การตรวจสอบกิจกรรม และค้นหาแอปพลิเคชันที่ทำงานที่นั่นในฐานะผู้ใช้ 'รูท' ดังที่แสดงในภาพหน้าจอด้านบนและวิดีโอสั้นด้านล่าง:

หากคุณตั้งใจจะเรียกใช้แอปใดแอปหนึ่งบ่อยๆ ในฐานะรูท คุณอาจลองใส่นามแฝงใน .bash_profile เพื่อย่อสตริงคำสั่ง

แม้จะทำงานในฐานะรูท แต่ไฟล์ระบบบางไฟล์อาจไม่สามารถแก้ไขได้ และบางไฟล์อาจถูกทำเครื่องหมายว่า "ล็อค" เมื่อเปิดในบางแอพ เช่น TextEdit ปัญหาดังกล่าวสามารถแก้ไขได้ด้วยการเปิดใช้งานผู้ใช้รูทหากคุณยังไม่ได้ดำเนินการ แต่ไม่ใช่ทุกแอปที่จะมีข้อจำกัดดังกล่าวอย่างไรก็ตาม สำหรับงานบางอย่าง เช่น การแก้ไขไฟล์โฮสต์ คุณยังคงดีกว่าหากใช้บรรทัดคำสั่งและโปรแกรมแก้ไขข้อความ หรือใช้แอปอย่าง BBEdit หรือ TextWrangler

วิธีเรียกใช้แอป GUI ในฐานะรูทใน Mac OS X