การแก้ไขการตั้งค่าระบบผ่านเทอร์มินัล


11

กำลังมองหาที่จะแก้ไขการตั้งค่าระบบผ่านทางบรรทัดคำสั่ง แต่ไม่สามารถหาชื่อตัวแปรที่ถูกต้องได้ตลอดชีวิต

ในตัวเลือกการเข้าสู่ระบบภายใต้ผู้ใช้ & กลุ่มฉันต้องการที่จะสามารถเปลี่ยนหน้าต่างเข้าสู่ระบบการแสดงผลจากรายการผู้ใช้เป็น 'ชื่อและรหัสผ่าน'
ในวันที่ & เวลาฉันต้องการทราบวิธีเปลี่ยนเวลาเป็นเซิร์ฟเวอร์ที่เราใช้ เปิดใช้งานฟิลด์ในการตั้งค่าการแชร์การตั้งค่าเครื่องมือประหยัดพลังงาน

มันจะดีมากถ้ามีคนช่วยฉันออกมาหรือชี้ให้ฉันไปในทิศทางที่ถูกต้องเพราะฉันรู้ว่าคุณแก้ไขการตั้งค่า. plists แต่มันรู้ว่าจะเพิ่มหรือหาข้อตกลงการตั้งชื่อที่ต้องการได้อย่างไร

ขอบคุณ


1
คุณจัดการกำหนดค่าตัวเลือกการเข้าสู่ระบบหรือไม่?

คำตอบ:


20

ก่อนอื่นคุณสามารถตรวจสอบเว็บไซต์ที่มีรายการสิ่งต่างๆมากมาย: http://secrets.blacktree.com/

อย่างไรก็ตามฉันเพิ่งใช้วิธีการเดรัจฉานแรง:

คัดลอกโฟลเดอร์การตั้งค่า

$ cp -r /Library/Preferences before

เรียกใช้การตั้งค่าระบบ ทำการเปลี่ยนแปลงผ่าน GUI อาจเป็นการดีที่สุดที่จะทำการเปลี่ยนแปลงทีละครั้งเช่นฉันเปลี่ยน "แสดงหน้าต่างเข้าสู่ระบบเป็น:" จาก "รายชื่อผู้ใช้" เป็น "ชื่อและรหัสผ่าน" ออกจากการตั้งค่าระบบ

คัดลอกโฟลเดอร์การตั้งค่าอีกครั้ง:

$ cp -r /Library/Preferences after

ดูไฟล์ที่เปลี่ยนแปลง:

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

เปรียบเทียบทั้งสองเวอร์ชัน เนื่องจากเป็นไฟล์ไบนารีคุณจะต้องแปลงเป็น XML เพื่อทำการเปรียบเทียบ ฉันใช้นามแฝงสำหรับสิ่งนี้:

$ 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>

ณ จุดนี้เราได้พบการตั้งค่า ยืนยันว่าเรามี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

เรียกใช้การตั้งค่าระบบและยืนยันการเปลี่ยนแปลง


7

sudo opensnoop -n cfprefsdแสดงรายการทรัพย์สินที่กำลังเข้าถึง ls -t {~,}/Library/Preferences/{ByHost,}นอกจากนี้คุณยังสามารถเพียงการจัดเรียงไฟล์การตั้งค่าโดยวันที่แก้ไข:

สำหรับการตั้งค่าในโดเมนผู้ใช้คุณยังสามารถเรียกใช้เปลี่ยนการตั้งค่าบางส่วนและการทำงานdefaults read > tempdiff temp <(defaults read)


บน macOS 10.12.1 opensnoopเพียงพิมพ์ข้อความแสดงข้อผิดพลาด ก่อนdtrace: system integrity protection is on, some features will not be availableอื่นจากนั้นรายการของข้อความที่ชอบdtrace: error on enabled probe ID 5 (ID 167: syscall::open:return): invalid user access in action #11 at DIF offset 2; ส่วนที่สองดูเหมือนว่าจะทำงานได้ดี
ssc

1

คุณสามารถใช้ AppleScript เพื่อควบคุมคุณสมบัติการตั้งค่าระบบจำนวนมาก ดูhttps://www.macosxautomation.com/applescript/features/system-prefs.htmlเพื่อดูตัวอย่าง

คุณสามารถสร้างสคริปต์เพื่อทำสิ่งต่าง ๆ เช่นขึ้นอยู่กับสิ่งที่คุณต้องการทำ

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

ใช้ Script Editor.app เพื่อเรียกใช้และแก้ไขข้อบกพร่องรหัสในกรณีที่ป้ายคุณสมบัติมีการเปลี่ยนแปลงในรุ่น macOS ที่ใหม่กว่า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.