Làm thế nào để khám phá thêm các mặc định viết các chỉnh sửa trên OS X?


13

Tôi muốn khám phá một số điều chỉnh mới có thể được thực hiện bằng lệnh "mặc định ghi" trong OS X (ML).

Tôi có thể làm gì để tự tìm ra chúng thay vì săn lùng trực tuyến các tinh chỉnh đã biết?

Câu trả lời:


20

Tuyên bố miễn trừ trách nhiệm: Tôi là tác giả của ~/.osx, một bộ sưu tập các defaults writecài đặt . Đây là những kỹ thuật mà tôi sử dụng để tìm cài đặt. Hãy cho tôi biết nếu có một phương pháp tốt hơn / dễ dàng hơn mà tôi đã không đề cập ở đây!


Đối với hầu hết các cài đặt không bị ẩn, đây là cách bạn có thể tìm thấy các khóa tùy chọn chính xác trong Terminal.app:

defaults read > a
# Change the setting
defaults read > b
diff a b

Đối với các cài đặt ẩn, nó trở nên phức tạp hơn. Bạn có thể sử dụng stringstiện ích dòng lệnh trên bất kỳ tệp thực thi nhị phân nào và xem liệu bất kỳ văn bản kết quả nào trông giống như một khóa ưu tiên. Ví dụ:

strings /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder

Đây là một ví dụ khác sẽ xem qua tất cả .frameworkcác tệp trong /System/Library/Frameworks/và lọc phần đầu ra:

strings /System/Library/Frameworks/*.framework/Versions/Current/* /System/Library/Frameworks/*/Frameworks/*/Versions/Current/* 2> /dev/null | grep -E '^[a-zA-Z0-9_.-]{10,80}$' | sort | uniq

Ngoài ra còn có một công cụ gọi là GDB có thể được sử dụng để tìm các tùy chọn ẩn.


1
Cảm ơn bạn rất nhiều và tôi không thể tin rằng bạn đang trả lời tôi! Tôi biết về danh sách tốt đẹp của bạn tại github từ lâu btw. Cảm ơn bạn rât nhiêu! Sẽ thử điều này ngay bây giờ.
Tom S

2
@Lri FWIW, tôi đã thực hiện cài đặt Mountain Lion sạch vào tuần trước và defaults read;hoạt động tốt ở đây.
Mathias Bynens

0

Một lệnh chuỗi khác:

for f in $(mdfind kMDItemContentType==public.unix-executable -onlyin /System/Library/); do strings $f 2> /dev/null | grep -E '^[[:alnum:]_.-]{10,80}$' | grep ^Apple | sort -u | sed "s/^/${f##*/} /g"; done

sudo opensnoop -n cfprefsdhiển thị những gì danh sách tài sản được sửa đổi. Bạn có thể sử dụng fseventer để hiển thị các thay đổi hệ thống tệp khác trong thời gian thực.

mặc định có một tiểu ban tìm:

$ defaults find nsquitalw
Found 1 keys in domain 'Apple Global Domain': {
    NSQuitAlwaysKeepsWindows = 1;
}

Các tệp tiêu đề thường chứa các định nghĩa cho các khóa ưu tiên:

grep PreferenceKey -r ~/Code/Source/WebKit/ | grep '\.h:'

-1

Những gì tôi giả định từ câu hỏi của bạn là bạn muốn khám phá các chỉnh sửa / cài đặt của một ứng dụng. Bạn có thể đọc tùy chọn của một ứng dụng bằng lệnh tầm thường này

defaults read NSGlobalDomain

hoặc là

defaults read com.google.Chrome để đọc các tùy chọn có thể ghi của chrome từ lệnh ghi mặc định mà bạn đã yêu cầu.

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.