Dữ liệu ưu tiên ngày và giờ được lưu trên máy Mac ở đâu?


5

Tôi cần kiểm tra theo chương trình xem Set Date and Time automatically được kiểm tra hay không trên Tùy chọn hệ thống Mac.

Tôi không tìm thấy bất kỳ tệp .plist nào chứa thông tin này, ai đó có thể cho tôi biết nơi tôi có thể tìm thấy thông tin này không?


1
Tôi nghi ngờ rằng có thể có một câu trả lời định hướng lập trình viên tốt hơn cho câu hỏi này. Tôi có thể khuyên bạn nên gắn cờ bài đăng này và yêu cầu nó được di chuyển sang StackOverflow không?
Jason Salaz

@JasonSalaz Điều này sẽ lạc đề tại Stack Overflow.
Lri

Các câu hỏi về lập trình / API / SDK không nằm ngoài chủ đề tại Stack Overflow. "Tôi cần phải kiểm tra lập trình "OP nói.
Jason Salaz

Tôi cho rằng câu hỏi tôi sẽ hỏi đầu tiên là ... Bạn muốn sử dụng phương pháp nào để nắm giữ thông tin và ở định dạng nào. Tôi có thể nghĩ ra ít nhất hai cách để lấy thông tin bằng AppleScript, một cách sử dụng chức năng đọc tệp và plist và cách thứ hai sử dụng chính giao diện AppleScript của System Preferences. Phương thức thứ hai cũng có thể cung cấp một phương thức để đặt tùy chọn nếu nó không được đặt, tuy nhiên tôi không tin điều đó là có thể nếu bảo mật trên khung được kích hoạt. Sẽ không mất nhiều thời gian để dựng lên một kịch bản để làm điều đó.
Stu Wilson

Tôi rất muốn chỉnh sửa nó để làm cho nó có phạm vi rộng hơn, nhưng phần lớn các bình luận sau đó dường như không phù hợp. Có lẽ tôi có thể trả lời nó để giúp làm rõ những gì thuộc chủ đề ở đây và những gì không.
bmike

Câu trả lời:


1

Kết quả cuối cùng của hộp kiểm "Đặt ngày và thời gian tự động" là trình nền ntpd được bắt đầu bằng launchd.

Vì vậy, bạn có thể kiểm tra sự hiện diện của tệp /var/run/ntpd.pid hoặc có thể kiểm tra xem ntpd có đang chạy như một quy trình không. Đây là tất cả tốt và tốt cho trang web, nhưng phần thứ hai của bạn cho câu hỏi làm thế nào để lấy lại trạng thái này về cơ bản là lạc đề ở đây.

Chúng tôi cho phép giới hạn các câu hỏi lập trình AppleScript, Automator và shell scripting. Phạm vi đầy đủ của các câu hỏi dành cho nhà phát triển (đặc biệt là với các hạn chế OSX mới như hộp cát) hoặc cấp mã Q & amp; A về cách lập trình được hỏi tốt nhất https://stackoverflow.com/ hơn là ở đây


Ngoài ra - đây là câu chuyện ngược về lý do tại sao đây thực sự là một câu hỏi khá phức tạp. Launchd chịu trách nhiệm bắt đầu và dừng ntpd giữ daemon khi bạn chuyển đổi công tắc đó và thay vì tải hoặc hủy tải tệp cấu hình cho "công việc" đó, công cụ thay vào đó có tệp plist ghi đè nội bộ có trạng thái đúng / sai cho một số công việc bị vô hiệu hóa mặc dù họ thường chạy. Khi bạn chuyển đổi hộp kiểm Tùy chọn hệ thống trong Ngày & amp; Thời gian, tệp này thay đổi giá trị khóa bị vô hiệu hóa ở cuối tệp sẽ hoặc khi chế độ chấm công tự động tắt hoặc bật (tương ứng).:

Từ /private/var/db/launchd.db/com.apple.launchd/overrides.plist

    <key>org.ntp.ntpd</key>
    <dict>
            <key>Disabled</key>
            <false/>
    </dict>

1

Tôi không biết một cách hoàn toàn có lập trình để có được nó, nhưng systemsetup lệnh có thể làm điều đó:

$ systemsetup -getusingnetworktime
Network Time: On

Điều này sẽ đặt máy chủ NTP cho máy Mac của bạn "systemsetup -setnetworktimeserver & lt; ntpserver & gt;" và "systemsetup -getnetworktimeserver" để lấy máy chủ thời gian hiện tại.
grantc

0

tôi đã tìm thấy điều này thảo luận về các cuộc thảo luận của Apple. Nó mô tả làm thế nào để có được thời gian trong thanh menu, nhưng với nó cũng làm thế nào để có được chương trình plist lập trình.


Bạn có thể vui lòng thêm thông tin về câu trả lời của bạn? Và thêm trang web làm nguồn?
Loïc Wolff

chắc chắn không có vấn đề.
Michiel

Cảm ơn bạn đã trả lời, nhưng com.apple.GlobalPreferences.plist không tồn tại trên hộp của tôi ở bất kỳ vị trí Thư viện / Tùy chọn nào
Akbar

1
Điều đó có thể là do tập tin được gọi /Library/Preferences/.GlobalPreferences.plist
nohillside
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.