Terminal üzerinden Sistem Tercihlerini Düzenleme


11

Sistem tercihleri ​​ayarlarını komut satırı üzerinden düzenlemek istiyorum, ancak hayatım boyunca değişkenlerin doğru adlarını bulamıyorum.

Kullanıcılar ve Gruplar altındaki Oturum Açma Seçenekleri'nde, Oturum açma penceresini kullanıcı listesinden 'ad ve parola' olarak değiştirmek istiyorum.
Tarih ve Saat'te, kullandığımız bir sunucuda saati nasıl değiştirdiğimi bilmek istiyorum. Paylaşım Kurulumu Enerji Tasarrufu ayarlarındaki alanları etkinleştirme

Birisi bana yardım edebilir veya tercihleri ​​düzenlediğinizi bildiğim için beni doğru yöne işaret edebilirse. Plists ama tercih edilen adlandırma kurallarını ne ekleyeceğinizi veya bulacağınızı bilmek harika olurdu.

Teşekkürler.


1
Giriş seçeneklerini yapılandırmayı başardınız mı?

Yanıtlar:


20

Öncelikle, aşağıdakilerin çoğunu listeleyen bir web sitesine göz atabilirsiniz: http://secrets.blacktree.com/

Ancak, sadece kaba kuvvetli bir çözüm aldım:

Tercihler klasörünü kopyalayın

$ cp -r /Library/Preferences before

Sistem Tercihlerini başlatın. GUI aracılığıyla bir değişiklik yapın. Muhtemelen bir seferde bir değişiklik yapmak en iyisidir, örneğin "Giriş Penceresini şu şekilde görüntüle:" seçeneğini "Kullanıcı listesinden" "Ad ve şifre" ye değiştirdim. Sistem Tercihlerinden çıkın.

Tercihler klasörünü tekrar kopyalayın:

$ cp -r /Library/Preferences after

Hangi dosyaların değiştiğini görün:

$ diff -ur before after
Binary files before/Preferences/com.apple.loginwindow.plist and after/Preferences/com.apple.loginwindow.plist differ

İki sürümü karşılaştırın. İkili dosya olduğundan, karşılaştırma için bunları XML'ye dönüştürmeniz gerekir. Bunun için bir takma ad kullanıyorum:

$ alias plist='plutil -convert xml1 -o /dev/stdout'
$ diff -u <(plist before/Preferences/com.apple.loginwindow.plist) <(plist after/Preferences/com.apple.loginwindow.plist)
--- /dev/fd/63  2013-01-23 18:20:29.000000000 +0200
+++ /dev/fd/62  2013-01-23 18:20:29.000000000 +0200
@@ -9,7 +9,7 @@
    <key>RetriesUntilHint</key>
    <integer>3</integer>
    <key>SHOWFULLNAME</key>
-   <false/>
+   <true/>
    <key>lastUser</key>
    <string>loggedIn</string>
    <key>lastUserName</key>

Bu noktada ayarı bulduk. Aşağıdakilere sahip olduğumuzu onaylayın defaults:

$ defaults read /Library/Preferences/com.apple.loginwindow SHOWFULLNAME
1
$ sudo defaults write /Library/Preferences/com.apple.loginwindow SHOWFULLNAME -bool false
$ defaults read /Library/Preferences/com.apple.loginwindow SHOWFULLNAME
0

Sistem Tercihlerini başlatın ve değiştiğini onaylayın.


7

sudo opensnoop -n cfprefsdhangi özellik listelerine erişildiğini gösterir. Ayrıca, sadece değiştirme tarihine göre tercih dosyaları sıralayabilirsiniz: ls -t {~,}/Library/Preferences/{ByHost,}.

Kullanıcı etki alanındaki tercihler için ayrıca çalışabilir defaults read > temp, bazı tercihleri ​​değiştirebilir ve çalıştırabilirsiniz diff temp <(defaults read).


macOS 10.12.1'de, opensnoopsadece hata mesajlarını yazdırır; önce dtrace: system integrity protection is on, some features will not be available, sonra bir mesaj listesi dtrace: error on enabled probe ID 5 (ID 167: syscall::open:return): invalid user access in action #11 at DIF offset 2; ikinci bölüm iyi çalışıyor gibi görünüyor
ssc

1

AppleScript'i, Sistem Tercihleri ​​özelliklerinin çoğunu denetlemek için kullanabilirsiniz. Örnekler için https://www.macosxautomation.com/applescript/features/system-prefs.html adresine bakın .

Ne yapmak istediğinize bağlı olarak, aşağıdakileri yapmak için bir komut dosyası oluşturabilirsiniz

$ set-setting "dock preferences" "autohide:true, magnification:false"

Özellik etiketlerinin daha yeni macOS sürümlerinde değişmesi durumunda kodu çalıştırmak ve hata ayıklamak için Script Editor.app komutunu kullanın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.