Sẽ chẳng có gì khó chịu hơn khi gặp phải một thông báo lỗi mơ hồ, đặc biệt là khi nó ngăn bạn khởi chạy một trò chơi hay ứng dụng vừa cài đặt trên macOS. Hệ điều hành của Apple đôi khi sẽ hiển thị những lỗi này nhân danh bảo mật hệ thống. Vậy, khi “Ứng dụng không thể mở” xuất hiện, bạn phải làm gì để giải quyết dứt điểm?
Lỗi “Ứng dụng không thể mở” trông như thế nào?
Cá nhân tôi cũng đã từng gặp phải lỗi này chỉ vài tuần trước, khi cố gắng khởi động một tựa game mới mua từ itch.io. Khi bạn vừa hoàn tất giao dịch mua và đang háo hức khám phá ứng dụng mới, điều cuối cùng bạn muốn thấy là một thông báo lỗi khó hiểu như thế này:
Đó là tất cả những gì macOS cung cấp: một nút “OK” để đóng thông báo lỗi. Sau đó, bạn chỉ có thể thử lại hoặc từ bỏ. Đáng tiếc, việc thử lại sẽ không mang lại kết quả. Bạn cần biết thủ thuật sau đây để đưa ứng dụng của mình trở lại hoạt động bình thường.
Bạn chỉ nên gặp lỗi này lần đầu tiên khi chạy một ứng dụng. Sau khi đã khắc phục, lỗi sẽ không bao giờ ảnh hưởng đến cùng ứng dụng đó nữa.
Hướng dẫn chi tiết cách khắc phục lỗi khó chịu này
Hãy bắt đầu bằng cách mở một ứng dụng Terminal. Ứng dụng Terminal mặc định đi kèm với macOS (trong Thư mục Ứng dụng > Tiện ích > Terminal) hoạt động tốt, mặc dù có nhiều lựa chọn thay thế tốt hơn.
Các ứng dụng Terminal thay thế trên macOS giúp người dùng thao tác lệnh hiệu quả hơn
Khi bạn khởi chạy Terminal, bạn sẽ thấy một cửa sổ trống trông giống như sau:
Giao diện cửa sổ Terminal mới trên macOS với dấu nhắc lệnh tại thư mục người dùng
Chính xác những gì bạn thấy sẽ phụ thuộc vào tên người dùng và tên máy tính của bạn, nhưng dấu nhắc lệnh ở đầu dòng nên có dấu ngã (~) ở gần cuối. Ký hiệu này đại diện cho thư mục Home của bạn, là vị trí mặc định khi mở Terminal.
Bây giờ, hãy sử dụng lệnh cd để thay đổi thư mục hiện tại của bạn thành /Applications:
cd /Applications
Gõ lệnh này và nhấn Enter để thực thi. Bạn sẽ nhận thấy dấu nhắc lệnh của mình thay đổi thành “/Applications” ở gần cuối:
Màn hình Terminal macOS hiển thị kết quả lệnh "cd /Applications" đã được thực thi
Tiếp theo, xác định vị trí thư mục ứng dụng liên quan trong thư mục /Applications của bạn. Đây phải là tên ứng dụng của bạn với .app ở cuối, và có thể bao gồm khoảng trắng. Nếu bạn không chắc chắn về tên, hãy thử liệt kê nội dung của thư mục /Applications trước:
ls
Danh sách các ứng dụng trong thư mục /Applications được hiển thị bằng lệnh "ls" trên Terminal macOS
Trong trường hợp của tôi, ứng dụng gặp sự cố có tên là Double Trip và tôi có thể thấy Double Trip.app được liệt kê trong cột đầu tiên. Để có thêm thông tin về tệp, hãy gõ:
ls -ld <Tên Ứng Dụng>.app
Vậy, trong trường hợp của tôi, đó là ls -ld Double\ Trip.app:
Terminal macOS hiển thị thông tin chi tiết về quyền truy cập và thực thi của ứng dụng "Double Trip.app"
Bạn có hai lựa chọn để xử lý khoảng trắng trong tên tệp. Thứ nhất, bạn có thể đặt toàn bộ tên trong dấu ngoặc kép, ví dụ: ls -ld "Double Trip.app". Thứ hai, bạn có thể thoát từng khoảng trắng bằng cách đặt dấu gạch chéo ngược () ngay trước nó, ví dụ: ls -ld Double\ Trip.app.
Điều bạn cần tìm ở đây là chữ “x” thay vì mỗi dấu gạch ngang ở đầu dòng. Thay vì “drw-rw-rw-“, bạn muốn thấy “drwxrwxrwx” bên cạnh tên tệp. Điều này cho biết thư mục có quyền thực thi (executable) và do đó sẽ hoạt động đúng. Nếu bạn thấy các dấu gạch ngang thay vào đó, bạn có thể chắc chắn đây là nguyên nhân của vấn đề.
Với xác nhận về vấn đề, bạn có thể tiến hành khắc phục. Chạy lệnh này:
chmod +x Double Trip.app
“chmod” là viết tắt của “change mode” (thay đổi chế độ) và “+x” có nghĩa là “make executable” (cấp quyền thực thi).
Bây giờ hãy thử chạy ứng dụng của bạn. Nếu đây là vấn đề duy nhất, thì ứng dụng của bạn sẽ mở và chạy theo đúng ý định – xin chúc mừng. Nếu không, bạn có thể thấy một thông báo lỗi khác.
Tại sao thư mục ứng dụng cần quyền thực thi?
Trên macOS, một ứng dụng được lưu trữ trong một thư mục – thư mục ứng dụng, hay còn gọi là gói ứng dụng (application package) – mà macOS hiển thị như thể đó là một tệp. Ví dụ, trong Finder, bạn sẽ chỉ thấy tên ứng dụng và biểu tượng của nó, và nhấp đúp sẽ khởi động ứng dụng thay vì mở thư mục của nó.
Minh họa cấu trúc gói ứng dụng (.app package) trên macOS, thể hiện cách hệ thống quản lý các tệp ứng dụng
Giống như bất kỳ tệp nào, bạn cần các quyền phù hợp để đọc hoặc ghi vào nó. Loại quyền thứ ba là “execute” (thực thi), có ý nghĩa đặc biệt đối với các thư mục; về cơ bản, nó cho phép bạn truy cập vào chúng và xem các tệp bên trong.
Nếu không có quyền thực thi này, một ứng dụng đơn giản là sẽ không thể chạy. Nếu bạn đang tìm người để đổ lỗi, hãy nhìn đầu tiên vào nhà phân phối ứng dụng, người lẽ ra phải đảm bảo thư mục ứng dụng có quyền thực thi ngay từ đầu, sau đó là Apple, người thực sự nên có một thông báo lỗi rõ ràng hơn cho trường hợp này!
Các lỗi khác có thể liên quan
Lỗi “Ứng dụng không thể mở” này tương tự với một lỗi khác thường gây ra vấn đề khi chạy một ứng dụng mới: “App Is Damaged and Can’t Be Opened” (Ứng dụng bị hỏng và không thể mở). Trong trường hợp đó, nguyên nhân là do hệ thống kiểm dịch của Apple, và giải pháp là một cách khắc phục hoàn toàn khác.
Người dùng đang làm việc trên MacBook, có thể gặp phải các vấn đề liên quan đến lỗi ứng dụng không thể mở
May mắn thay, bạn hiếm khi gặp phải bất kỳ loại lỗi nào khác, mặc dù có nhiều cách để khắc phục các ứng dụng Mac bị crash. Bạn có nhiều khả năng gặp phải các ứng dụng cũ chưa được cập nhật, bao gồm các trò chơi cũ trên Steam không hỗ trợ 64-bit.
Kết luận
Lỗi “Ứng dụng không thể mở” trên macOS có thể gây hoang mang, nhưng như đã thấy, nguyên nhân thường bắt nguồn từ việc thiếu quyền thực thi cho gói ứng dụng. Bằng cách sử dụng Terminal và lệnh chmod +x, bạn hoàn toàn có thể cấp quyền cần thiết và đưa ứng dụng yêu thích trở lại hoạt động bình thường.
Hãy luôn đảm bảo bạn tải ứng dụng từ các nguồn đáng tin cậy và kiểm tra quyền của chúng nếu gặp sự cố. Phương pháp này là một công cụ mạnh mẽ trong bộ kỹ năng quản lý macOS của bạn. Đừng ngần ngại chia sẻ nếu bạn có bất kỳ câu hỏi hoặc kinh nghiệm nào khác khi khắc phục lỗi này!