Cách chạy ứng dụng GUI với quyền root trong Mac OS X

Anonim

Những người quen thuộc với dòng lệnh đều biết rằng chạy mọi thứ với đặc quyền người dùng cấp cao thường chỉ là vấn đề sử dụng lệnh sudo. Điều đó vẫn đúng với việc khởi chạy các ứng dụng GUI vào OS X với quyền root, nhưng vấn đề không chỉ là thêm sudo vào lệnh mở hữu ích, bởi vì 'open' sẽ khởi chạy ứng dụng với tư cách là người dùng ban đầu, có hoặc không có sudo. Thay vào đó, giải pháp là sử dụng sudo trỏ trực tiếp vào tệp thực thi có trong tệp gói ứng dụng nhất định.

Khởi chạy ứng dụng OS X GUI với tư cách người dùng root

Cú pháp lệnh như sau:

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

Trong hầu hết các trường hợp, đó sẽ là các ứng dụng được lưu trữ trong thư mục /Applications/ và tệp thực thi hầu như luôn được lưu trữ trong Gói/Nội dung/MacOS/ bất kể tên ứng dụng là gì:

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

Ví dụ: lệnh này chạy ứng dụng TextEdit quen thuộc với quyền root:

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

Để khởi chạy TextEdit dưới dạng ứng dụng nền, nghĩa là nó sẽ không đóng nếu bạn đóng cửa sổ terminal, hãy gắn cờ -b cho sudo: sudo -b /Applications/TextEdit .app/Contents/MacOS/TextEdit

Bạn có thể xác nhận ứng dụng đang chạy với quyền root bằng cách sử dụng lệnh ps với grep, một lần nữa sử dụng TextEdit làm ví dụ:

ps au|grep TextEdit

Ngoài ra, bạn có thể xem Activity Monitor của ứng dụng quản lý tiến trình OS X và tìm ứng dụng đang chạy ở đó với tư cách là người dùng 'root', như minh họa trong ảnh chụp màn hình phía trên và video ngắn bên dưới:

Nếu bạn định chạy một ứng dụng cụ thể thường xuyên với quyền root, bạn có thể cân nhắc đặt bí danh trong .bash_profile để rút ngắn chuỗi lệnh.

Mặc dù chạy bằng quyền root nhưng không phải tất cả các tệp hệ thống đều có thể sửa đổi được và một số tệp có thể được đánh dấu là “Đã khóa” khi mở trong một số ứng dụng như TextEdit. Vấn đề đó thường có thể được giải quyết bằng cách cho phép người dùng root nếu bạn chưa làm như vậy, nhưng không phải tất cả các ứng dụng đều có giới hạn đó.Tuy nhiên, đối với một số tác vụ nhất định như chỉnh sửa tệp máy chủ, bạn vẫn nên sử dụng dòng lệnh và trình chỉnh sửa dựa trên văn bản hoặc sử dụng ứng dụng như BBEdit hoặc TextWrangler.

Cách chạy ứng dụng GUI với quyền root trong Mac OS X