Launchpad เก็บข้อมูลโฟลเดอร์ไว้ที่ไหน? (ฐานข้อมูลเป็นต้น)


2

ดังนั้นฉันได้ค้นหาไปรอบ ๆ และพยายามคิดออก แต่ดูเหมือนไม่

ฉันรู้ว่า Launchpad SQLite db ถูกเก็บไว้ที่ ~/Library/Application Support/Dock/some-uuid.db ( อ้าง ) แต่อย่างดีที่สุดฉันสามารถบอกได้ว่าดูเหมือนจะไม่รวมข้อมูลเกี่ยวกับโฟลเดอร์ที่สร้างใน Launchpad

ไม่มีใครรู้ว่าข้อมูลนี้ถูกเก็บไว้ที่ไหนและอยู่ในรูปแบบใด?

แก้ไข: พบตำแหน่งที่ตั้งรายละเอียดในคำตอบของฉันด้านล่าง บิตเดียวที่ฉันนึกไม่ออกตอนนี้คือ:

  • วิธีสร้างโฟลเดอร์ใหม่โดยทางโปรแกรมและย้ายแอพไปไว้ในนั้น (ใช้ฐานข้อมูลนี้)
  • อะไรกัน db-shm และ db-wal ไฟล์ที่ใช้สำหรับ
    • ไฟล์ temp ของ SQLite (เขียนไฟล์บันทึกล่วงหน้า & amp; ไฟล์หน่วยความจำที่แชร์)
  • ว่า ~/Library/Application Support/Dock/some-uuid.db ถูกนำมาใช้เลยอีกต่อไปหรือหากเป็นเพียงส่วนที่เหลือจากการอัพเกรด OSX

คำตอบ:


2

ตกลงฉันคิดว่าฉันได้พบมันแล้ว ปรากฎว่าสิ่งต่าง ๆ (อย่างน้อยภายใต้ El Capitan) แตกต่างกันเล็กน้อย

คำตอบ AskDifferent นี้ โดย Greg Hacke ชี้ไปในทิศทางที่ถูกต้อง

ดูเหมือนว่าฐานข้อมูลจะถูกเก็บไว้ใน $TMPDIR/../0/com.apple.dock.launchpad/db/ด้วย db sqlite หลักที่ถูกตั้งชื่อ aptly db.

(ก่อนอ่าน Geoff Hackworth's AskDifferent คำตอบ ดูเหมือนว่าวิธีที่ดีกว่าที่จะได้รับเส้นทางจะเป็น getconf DARWIN_USER_DIR ค่อนข้างมากกว่า $TMPDIR/../0/ )

การแก้ไขนี้ด้วย sqlite GUI แสดงให้เห็นว่า groups ตารางจัดเก็บโฟลเดอร์ด้วย title ถือชื่อโฟลเดอร์

หลังจากทำการเปลี่ยนแปลงตามที่ต้องการแล้วเขียนกลับไปยังฐานข้อมูลเรายังคงต้องทำ killall Dock เพื่อรีเฟรชหน้าจอ Launchpad

ข้อสังเกตบางอย่าง:

  • มีหลายกลุ่มที่ไม่มี title (ตั้งค่าเป็น null) ดังนั้นไม่แน่ใจว่าสิ่งนั้นมีไว้เพื่ออะไร
  • ดูเหมือนว่าการสร้างรายการใหม่ไม่ได้ทำให้กลุ่มปรากฏขึ้น (อาจเป็นเพราะมันเป็น 'โฟลเดอร์ว่าง'?)
    • ในกรณีนี้เราจะสร้างโฟลเดอร์ใหม่และย้ายแอพจาก db ได้อย่างไร
  • โดยการแก้ไข title ในฟิลด์ apps ตารางที่เราสามารถเปลี่ยนชื่อที่แสดงของแอพ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.