Ngăn hệ thống ngủ khi một tiến trình hoặc lệnh đang hoạt động trong Mac OS X

Anonim

Nhiều người dùng Mac sử dụng các tiện ích để tạm thời ngăn máy tính của họ ở chế độ ngủ, thường dựa vào các góc ngủ, công cụ của bên thứ ba có tên là Caffeine, pmset hoặc gần đây hơn là tiện ích dòng lệnh hiện đi kèm với OS X có tên là caffeinate. Theo mặc định, mục thanh thực đơn Caffeine và lệnh caffeinate đều sẽ ngăn chế độ ngủ miễn là chúng được kích hoạt riêng lẻ, rất hữu ích cho người dùng máy tính để bàn khi sử dụng máy Mac, nhưng không đặc biệt hữu ích nếu bạn muốn có chức năng ngủ của OS X phụ thuộc vào việc hoàn thành một quy trình hoặc nhiệm vụ cụ thể.

Đó là những gì chúng tôi sẽ trình bày ở đây bằng cách sử dụng dòng lệnh, tính năng này có chức năng ngăn chế độ ngủ phụ thuộc vào quy trình chỉ chặn chức năng ngủ của Mac trong khi một lệnh, tác vụ hoặc quy trình cụ thể đang chạy hoặc hoạt động, sau đó khi hoàn tất, máy tính sẽ khôi phục chế độ ngủ truyền thống.

Để thực hiện lệnh tránh ngủ cụ thể, chúng tôi sẽ sử dụng một biến thể của lệnh caffein, lệnh này có thể ngăn giấc ngủ theo nhiều cách khác nhau. Chúng ta sẽ xem qua một số ví dụ nhưng trang hướng dẫn về caffein cung cấp một số tùy chọn bổ sung có thể phù hợp với các tình huống khác.

Vì mục đích của chúng tôi ở đây là làm cho việc ngăn chặn giấc ngủ phụ thuộc vào việc hoàn thành một lệnh hoặc quy trình cụ thể, bạn sẽ sử dụng cờ -i như vậy:

caffeinate -i

Có thể đã rõ ràng, nhưng việc thực thi lệnh chứa caffein như thế này cũng sẽ bắt đầu lệnh hoặc quy trình được chỉ định trong đối số.

Ví dụ: nếu bạn muốn máy Mac tránh ở chế độ ngủ khi lệnh “make” đang hoạt động, bạn sẽ sử dụng cú pháp lệnh sau:

caffeinate -i make

Hoặc có lẽ bạn chỉ muốn ngăn chế độ ngủ trong khi kết nối ssh đang hoạt động với một máy chủ cụ thể và bạn muốn gửi lệnh chứa caffein vào nền, sau đó bạn sẽ áp dụng dấu và cho đến cuối như cũng như vậy:

caffeinate -i ssh coffeebeans &

Bạn thậm chí có thể chạy ứng dụng này bằng tập lệnh hoặc lệnh của riêng mình tại một vị trí khác:

caffeinate -i /private/tmp/./whatisthis.sh

Hoặc để kích hoạt tính năng ngăn ngủ miễn là trình duyệt web Safari đang chạy trong GUI, bạn sẽ sử dụng cú pháp sau, lưu ý rằng bạn phải chỉ định đường dẫn đầy đủ tới tệp nhị phân trong tệp .app :

caffeinate -i /Applications/Safari.app/Resources/MacOS/Safari

Cờ -i ngăn hệ thống ở chế độ ngủ, nhưng bạn có thể sử dụng các cờ khác để tạo xác nhận để ngăn cả đĩa hoặc màn hình ngủ. Để ngăn màn hình ngủ (nghĩa là màn hình tắt và chuyển sang chế độ khóa hoặc trình bảo vệ màn hình), cần có cờ -d:

caffeinate -d

Giống như cờ -i, điều này có thể áp dụng cho bất kỳ tác vụ hệ thống nào, cho dù tác vụ đó được chạy từ dòng lệnh hay GUI, chỉ cần đảm bảo chỉ định tên thích hợp với trường hợp thích hợp. Một vi dụ khac:

caffeinate -d khăn telnet.blinkenlights.nl

Lệnh đó có nghĩa là miễn là telnet tới phim Star Wars ASCII đang hoạt động, màn hình Mac sẽ không ở chế độ ngủ. Nếu telnet bị thoát hoặc Star Wars đã phát xong, hệ thống có thể ở chế độ ngủ như thường được cho phép, được xác định bằng cài đặt năng lượng và chế độ ngủ trong OS X.

Tất nhiên vì caffeinate hoàn toàn dựa trên dòng lệnh nên nó sẽ không áp dụng được cho tất cả người dùng, nhưng đối với những người dành nhiều thời gian trong Terminal, đây có thể là một mẹo hay. Đối với người dùng Mac cảm thấy thoải mái hơn với giao diện người dùng đồ họa, một góc chống buồn ngủ hiệu quả và sử dụng ứng dụng Caffeine có lẽ vẫn là cách tốt nhất để thực hiện các chức năng tương tự.

Nếu bạn muốn thực hiện một tác vụ phụ thuộc vào quy trình tương tự nhưng tránh Terminal và dòng lệnh, thì ứng dụng Wimoweh sẽ hoàn thành công việc giống như một menu thả xuống trên thanh menu, mặc dù đây là một ứng dụng trả phí có thể làm cho nó ít được mong muốn hơn đối với một số người dùng và nó không cung cấp đối số hoàn thành tác vụ dựa trên quy trình chung hoặc dòng lệnh. Do đó, caffein với một cờ thích hợp vẫn được nhiều người ưa thích.

Ngăn hệ thống ngủ khi một tiến trình hoặc lệnh đang hoạt động trong Mac OS X