ฐานข้อมูล Launchpad จัดเก็บอยู่ที่ไหนและมีวิธีแก้ไขโดยตรงหรือไม่?


14

เมื่อสำรวจฟีเจอร์ Launchpad ใหม่ในตอนแรกมันจะดูเหมือนว่ามันดึงเนื้อหามาจากโฟลเดอร์โปรแกรมเป็นหลัก

อย่างไรก็ตามดูเหมือนว่าจะเป็นไปได้ว่าฐานข้อมูล Launchpad นั้นมาจากที่อื่น

ตัวอย่างเช่นเมื่อติดตั้งเกมผ่าน Steam เกมจะไม่ปรากฏในโฟลเดอร์โปรแกรม แต่จะปรากฏใน Launchpad ในกรณีนี้ฉันต้องการให้อยู่ใน Launchpad อย่างไรก็ตามข้อเสียคือฉันไม่สามารถลบเกมออกจาก Launchpad และไม่สามารถเปลี่ยนไอคอนได้

ฉันสามารถดูและแก้ไขทุกครั้งที่เกิด Launchpad ได้ที่ไหน

คำตอบ:


13

ฐานข้อมูล Launchpad อยู่ที่ ~/Library/Application Support/Dock/*some-hex-name*.db

ในการแก้ไขคุณจะต้องใช้ SQLite คุณสามารถทำได้ในบรรทัดคำสั่งหรือด้วยส่วนต่อประสานกราฟิก

ดูคำถามนี้ถามคำถามที่แตกต่างกันสำหรับคำแนะนำสำหรับแอพ GUI


MacOS Sierra และใหม่กว่า

บน macOS Sierra และใหม่กว่านั้นฐานข้อมูล launchpad เก่าจะไม่มีอยู่อีกต่อไป ผู้ใช้ทุกคนมีฐานข้อมูล Launchpad ส่วนบุคคลอยู่ภายใน/private/var/folders(มีชื่อที่คลุมเครือจำนวนมาก)

วิธีค้นหาฐานข้อมูล

คุณเป็นเจ้าของฐานข้อมูลส่วนบุคคลดังนั้นคุณสามารถใช้คำสั่งต่อไปนี้เพื่อค้นหาเส้นทางของฐานข้อมูล:

 echo $(find /private/var/folders -user $(id -u) -name com.apple.dock.launchpad 2> /dev/null)/db/db

หลังจากคุณมีเส้นทางไปยังฐานข้อมูลใหม่คุณสามารถแก้ไขต่อได้เหมือนเดิม (เช่นใช้sqlite3คำสั่ง)

ขอบคุณChris Perryจาก Jamf Nation ที่แบ่งปันสิ่งที่เขาค้นพบ! เห็นโพสต์ของเขาที่นี่


ขอบคุณนี่เป็นที่ตั้งของฐานข้อมูลแม้ว่าจะไม่สามารถอ่านได้ทุกตาราง ดูเหมือนว่าแอปจะถูกเก็บไว้ในตารางเป็นหลักappsและการเปลี่ยนชื่ออาจจะใช้ได้ อย่างไรก็ตามการแก้ไขไอคอนควรพิสูจน์ให้หนักขึ้น
Aron Rotteveel

1
การปรับปรุงสำหรับ 2016 ผมทำงาน MacOS เซีย 10.12 และมีเพียงหนึ่งไฟล์ภายใต้ของฉันไดเรกทอรีที่เรียกว่า~/Library/Application Support/Dock desktop picture.dbฉันหาฐานข้อมูลท่าเรือไม่พบ
Dai

7

ขออภัยในการแก้ไขปัญหานี้ในเธรดอายุ 2 ปี แต่ FWIW ค่าสำหรับชื่อเลขฐานสิบหกจะถูกเก็บไว้ใน ~ / Library / Preferences / ByHost / com.apple.dock อีก. hex-name .plist เป็น "LaunchPadDBName"

ดูเหมือนว่าตัวเลขนั้นไม่สำคัญและในความเป็นจริงอาจเป็นการสุ่ม แต่อาจต้องสอดคล้องกับรูปแบบ UUID การเปลี่ยนค่านี้สำหรับผู้ใช้จากนั้นเข้าสู่ระบบจะส่งผลให้มีการสร้าง. db ใหม่หากยังไม่มีอยู่

คุณสามารถใช้สิ่งนี้เพื่อตั้งค่าหลายบัญชีให้ใช้การกำหนดค่า LaunchPad ที่กำหนดไว้ล่วงหน้าและอื่น ๆ

" another-hex-name " คือ UUID ของคอมพิวเตอร์

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