desktoppr
มาแล้ว!เครื่องมือบรรทัดคำสั่งง่ายๆ ที่สามารถอ่านและตั้งค่ารูปภาพ/วอลเปเปอร์บนเดสก์ท็อปได้ เครดิตสำหรับชื่อนีลมาร์ติน
หมายเหตุ: Apple เคยเรียกภาพพื้นหลัง macOS ว่า "รูปภาพเดสก์ท็อป" จนกระทั่ง macOS 13 Ventura เมื่อเปลี่ยนชื่อให้เหมือนกับใน iOS: "วอลเปเปอร์" เอกสารนี้อาจใช้คำใดคำหนึ่ง
ฉันได้เขียนบล็อกโพสต์บางส่วนที่อธิบายกลยุทธ์การใช้งานต่างๆ สำหรับการตั้งค่ารูปภาพเดสก์ท็อป:
การใช้ desktoppr ในสภาพแวดล้อมที่มีการจัดการ
การสร้าง LaunchD Installer pkg สำหรับ desktoppr (และเครื่องมืออื่นๆ)
กลยุทธ์การใช้ desktoppr
พื้นหลังเดสก์ท็อปแบบสุ่มด้วย desktoppr
คุณสามารถอ่านรูปภาพ/วอลเปเปอร์เดสก์ท็อปปัจจุบันได้ด้วย:
$ desktoppr /Library/Desktop Pictures/Sierra.jpg
และตั้งค่ารูปภาพเดสก์ท็อปด้วย
$ desktoppr "/Library/Desktop Pictures/BoringBlueDesktop.png"
เมื่อคุณมีจอแสดงผลหลายจอ desktoppr
จะแสดงรายการรูปภาพเดสก์ท็อปทั้งหมด:
$ desktoppr /Library/Desktop Pictures/HotStepper.jpg /Library/Desktop Pictures/LyricalGangster.jpg /Library/Desktop Pictures/MrOfficer.jpg
เมื่อคุณส่งไฟล์ desktoppr
จะตั้งค่าเป็นรูปภาพเดสก์ท็อปสำหรับ ทุก หน้าจอ:
$ desktoppr /Library/Desktop Pictures/NaahNananah.jpg $ desktoppr /Library/Desktop Pictures/NaahNananah.jpg /Library/Desktop Pictures/NaahNananah.jpg /Library/Desktop Pictures/NaahNananah.jpg
คุณยังสามารถตั้งค่าเดสก์ท็อปสำหรับหน้าจอเฉพาะได้: (ดัชนีเริ่มต้นที่ศูนย์)
$ desktoppr 0 /Library/Desktop Pictures/HotStepper.jpg $ desktoppr 1 /Library/Desktop Pictures/LyricalGangster.jpg $ desktoppr 2 /Library/Desktop Pictures/MrOfficer.jpg
desktoppr
ยังสามารถควบคุมการปรับขนาดรูปภาพและสีพื้นหลังสำหรับรูปภาพเดสก์ท็อปได้
การตั้งค่าขนาดและสีจะถูกตั้งค่าสำหรับทุกหน้าจอ
ใช้กริยา scale
เพื่อควบคุมวิธีการปรับขนาดเดสก์ท็อป โดยสามารถมีค่า fill
(ค่าเริ่มต้น) stretch
center
หรือ fit
$ desktoppr scale center
คุณสามารถส่งสตริงเลขฐานสิบหกสำหรับสีพื้นหลังได้:
$ desktoppr color 000000 # black background $ desktoppr color FFFFFF # white background $ desktoppr color FF0000 # red background
การตั้งค่าวอลเปเปอร์ ขนาด และ/หรือสีเป็นคำสั่งที่แยกจากกัน
หมายเหตุ: การตั้งค่าสีพื้นหลังจะไม่ทำงานใน macOS 14.x ดูฉบับที่ #22
เมื่อคุณให้ URL แก่ไฟล์รูปภาพเป็นอาร์กิวเมนต์ desktoppr
จะดาวน์โหลดไฟล์จาก URL และตั้งเป็นภาพพื้นหลัง
$ desktoppr https://raw.githubusercontent.com/scriptingosx/desktoppr/profile/examples/BoringBlueDesktop.png
ไฟล์ที่ดาวน์โหลดจะถูกจัดเก็บไว้ใน ~/Library/Application Support/desktoppr/
เมื่อการดาวน์โหลดล้มเหลว วอลเปเปอร์จะไม่เปลี่ยนแปลง หากไฟล์ที่ดาวน์โหลดไม่ใช่ไฟล์รูปภาพ วอลเปเปอร์จะเปลี่ยนกลับเป็นค่าเริ่มต้นของระบบ
เมื่อคุณต้องการเรียกใช้จากสคริปต์ จะปลอดภัยที่สุดที่จะรวมเส้นทางทั้งหมดไปยังไบนารี่:
/usr/local/bin/desktoppr "/Library/Desktop Pictures/BoringBlueDesktop.png"
เนื่องจากเครื่องมือ desktoppr
ตั้งค่ากำหนดของผู้ใช้ คุณจึงยังคงต้องใส่ใจว่าเครื่องมือนั้นทำงานในฐานะผู้ใช้ LaunchAgent หรือโซลูชันเช่น outset
เป็นตัวเลือกที่ดีในการจัดการสิ่งนี้ หรือคุณสามารถรันคำสั่งในฐานะผู้ใช้ปัจจุบันจากสคริปต์รูทได้
เมื่อคุณรัน desktoppr
ด้วยกริยา manage
มันจะอ่านการตั้งค่าจากโดเมนการกำหนดค่าตามความชอบ com.scriptingosx.desktoppr
คุณสามารถตั้งค่าเหล่านี้ได้ด้วยคำสั่ง defaults
หรือโดยการส่งโปรไฟล์การกำหนดค่าจากเซิร์ฟเวอร์ MDM
แนวคิดคือการรัน desktoppr manage
ด้วย LaunchAgent plist เมื่อเข้าสู่ระบบและ/หรือตามช่วงเวลาปกติ คุณสามารถค้นหาตัวอย่าง LaunchAgent plist ได้ที่นี่ LaunchAgent ตัวอย่างจะรัน desktoppr manage
เมื่อเข้าสู่ระบบและทุกๆ สามชั่วโมง (10800 วินาที) คุณสามารถสร้าง pkg ที่ติดตั้งไบนารี desktoppr, ไฟล์ LaunchAgent และไฟล์รูปภาพตั้งแต่เนิ่นๆ ในเวิร์กโฟลว์การปรับใช้ จากนั้น desktoppr จะตั้งค่าพื้นหลังของเดสก์ท็อปเมื่อผู้ใช้เข้าถึงเดสก์ท็อปเป็นครั้งแรก
สำหรับ Ventura และสูงกว่า ไบนารีและแอปพลิเคชันที่ดำเนินการโดย LaunchAgents จะต้องได้รับการอนุมัติด้วยโปรไฟล์ com.apple.servicemanagement
เพื่อให้ปรากฏเป็นได้รับการจัดการในส่วนรายการเข้าสู่ระบบใน Settings.app โปรไฟล์การกำหนดค่าตัวอย่างประกอบด้วยการตั้งค่าเหล่านั้นเช่นกัน
desktoppr ใช้คีย์ต่อไปนี้:
picture
(ประเภท: string
)เส้นทางไปยังไฟล์รูปภาพสำหรับรูปภาพเดสก์ท็อป/วอลเปเปอร์ ภาพเดียวกันจะถูกตั้งค่าสำหรับทุกหน้าจอ
เมื่อค่าขึ้นต้นด้วย http://
หรือ https://
desktoppr จะตีความว่าเป็น URL และพยายามดาวน์โหลดไฟล์และตั้งค่าไฟล์นั้นเป็นรูปภาพ/วอลเปเปอร์บนเดสก์ท็อป ไฟล์ที่ดาวน์โหลดจะถูกจัดเก็บไว้ใน ~/Library/Application Support/desktoppr/
คุณสามารถให้ desktoppr ตรวจสอบไฟล์ภาพที่ดาวน์โหลดได้โดยระบุผลรวมตรวจสอบ sha256
sha256
(ประเภท: string
)เช็คซัม sha256 นี้จะใช้ในการยืนยันไฟล์ภาพที่ดาวน์โหลด หากผลรวมตรวจสอบจากไฟล์ที่ดาวน์โหลดไม่ตรงกับค่าของคีย์นี้ รูปภาพเดสก์ท็อป/วอลเปเปอร์จะไม่เปลี่ยนแปลง
คุณสามารถสร้างเช็คซัม sha256 ของไฟล์รูปภาพด้วย shasum -a 256
color
(ประเภท: string
)สตริงนี้จะถูกตีความว่าเป็นรหัสฐานสิบหกหกหลักและตั้งเป็นสีพื้นหลัง (หมายเหตุ: การตั้งค่าสีใช้งานไม่ได้บน macOS 14.x)
scale
(ประเภท: string
) หนึ่งใน fill
(ค่าเริ่มต้น) stretch
center
หรือ fit
สิ่งนี้จะควบคุมลักษณะการปรับขนาดของรูปภาพ
setOnlyOnce
(ประเภท: บูลีน ค่าเริ่มต้น: false
) เมื่อตั้งค่าเป็น true
desktoppr manage
จะไม่รีเซ็ตรูปภาพเดสก์ท็อป/วอลเปเปอร์อีกครั้ง หากชุด desktoppr manage
รูปภาพสุดท้ายเหมือนกัน ใช้สิ่งนี้เพื่อตั้งค่ารูปภาพเดสก์ท็อป/วอลเปเปอร์หนึ่งครั้งจากโปรไฟล์การกำหนดค่า แต่อนุญาตให้ผู้ใช้เปลี่ยนได้ในภายหลัง แม้ว่า desktoppr manage
จะทำงานบ่อยครั้ง ก็ควรตั้งค่ารูปภาพ/วอลเปเปอร์เดสก์ท็อปใหม่เมื่อการตั้งค่าในโปรไฟล์การกำหนดค่าเปลี่ยนแปลงเท่านั้น
เมื่อตั้งค่าเป็น false
desktoppr manage
จะใช้การตั้งค่าที่ได้รับการจัดการอีกครั้งทุกครั้ง
ตัวอย่างมีรายการค่าเริ่มต้นตัวอย่างพร้อมคีย์และโปรไฟล์การกำหนดค่าตัวอย่าง
คุณสามารถรับโค้ดสำหรับ desktoppr
บนหน้า Github ของฉันและตัวติดตั้งใน Releases โปรแกรมติดตั้ง pkg จะติดตั้งไบนารีใน /usr/local/bin
หรืออีกทางหนึ่ง มี brew cask อยู่ ดังนั้นคุณสามารถติดตั้งได้โดยใช้ brew install --cask desktoppr
หากคุณติดตั้ง Homebrew ไว้
เครื่องมือนี้ต้องการการรองรับรันไทม์ Swift 5 สำหรับเครื่องมือบรรทัดคำสั่งเมื่อคุณติดตั้งบน macOS เวอร์ชันเก่ากว่า 10.14.4