2011-04-05 18 views
6

Tôi đang viết một chương trình trong C và muốn nó có tùy chọn sẽ giữ cho máy tính xách tay mac luôn tỉnh táo ngay cả khi nắp được đóng để các quá trình có thể tiếp tục. Dường như có rất ít thông tin về chủ đề này nên tôi thực sự không biết bắt đầu từ đâu. Nếu có ai biết làm thế nào để thực hiện điều này hoặc nơi tôi có thể tìm thêm thông tin tôi thực sự sẽ đánh giá cao (tức là tôi sẽ cần phải làm việc với BIOS cho điều này hoặc có được xây dựng trong chức năng?). Ngoài ra, nếu nó dễ dàng hơn để làm điều đó trong một ngôn ngữ khác là tốt như tôi không cứng đầu đặt trên bằng cách sử dụng C.Ngăn máy tính Mac ngủ khi đóng cửa?

Trả lời

3

Bạn cần phải viết phần mở rộng hạt nhân cho việc này. Hệ điều hành không hỗ trợ nó theo mặc định bởi vì các máy tính xách tay không được thiết kế để làm mát chính mình với nắp đóng và hiển thị nội bộ được kích hoạt. SleepLess là tiện ích 10 đô la sẽ thực hiện những gì bạn muốn. Nếu bạn làm cong màn hình hay gì đó, đó là lỗi của riêng bạn. :-).

Nếu bạn muốn tự mình viết một cái gì đó, LidSleep.kext trông giống như một khởi đầu tốt (nó ngược lại, tức là ngủ trên nắp đóng) và đi kèm với mã nguồn.

(Đó là possible and supported thức dậy một số máy tính xách tay Mac với màn hình đóng lại bằng cách sử dụng một thiết bị đầu vào bên ngoài.)

+0

btw, nó sẽ có thể chỉ ngăn chặn giấc ngủ nhàn rỗi, mà không ngăn ngừa ngủ hiển thị. – Hasturkun

+0

Xin cảm ơn các bạn! Mã nguồn từ LidSleep rất hữu ích. – ORL

2

Bạn có thể thực hiện điều này bằng cách sử dụng khung I/O Kit, xem QA1340 danh sách 2 cho mã mẫu sử dụng IOPMAssertionCreateWithName để tạm thời ngăn ngừa giấc ngủ.

+0

Vì câu hỏi & trả lời đó đề cập đến, bạn chỉ có thể ngăn chặn giấc ngủ nhàn rỗi với xác nhận IOPM, không phải ngủ cưỡng bức (như khi đóng nắp). –

+0

@Nicholas: Ah, tôi dường như đã bỏ lỡ ghi chú đó. – Hasturkun

-2

Nếu máy tính xách tay của bạn là một mô hình gần đây một cách hợp lý, bạn không cần phải thêm bất cứ điều gì. Nếu bạn đang chạy Lion, nó chỉ hoạt động. Nếu bạn đang chạy một hệ điều hành cũ, bạn phải đánh thức máy tính xách tay bằng cách gửi cho nó một phím tắt hoặc nhấp chuột từ bàn phím hoặc chuột ngoài. Xem http://support.apple.com/kb/ht3131

+1

Không, điều này không được sử dụng với bàn phím hoặc chuột ngoài. Điều này là để một chương trình không tương tác có thể tiếp tục chạy khi máy tính xách tay được đóng lại. –

0

Các liên kết đến LidSleep.kext liệt kê ở trên không hoạt động, vì vậy tôi có thể thông báo rằng tác giả của NoSleep đã làm cho mã nguồn sẵn ở đây, vì vậy bạn có thể xem cho chính mình như thế nào nó có thể được thực hiện:

https://code.google.com/p/macosx-nosleep-extension/

Các vấn đề liên quan