เมื่อเราใช้คำสั่ง ls -l
ใน Mac OS X Leopard เราจะพบกับ permission bits ตามปกติ แต่เราอาจจะเจอสัญลักษณ์พิเศษด้านหลังคือ @
เช่น
-rw-r--r--@
(บิทแรกเป็นบอกชนิด ถ้าเป็น d
คือ Directory, l
คือ Symbolic link)
ทีนี้ปัญหากวนใจที่ผมพบเมื่อเปิดโปรแกรมบางตัวคือ เวลามันทำ Font index ภายในโปรแกรมมันเอง (มีซักกี่ตัวที่มีระบบจัดการฟอนต์เป็นพิเศษเพื่อตัวมันเองหนอ?) มันจะมีไดอะล็อกเด้งขึ้นมากวนใจผมว่า “โปรแกรม___
จะทำการใช้งานฟอนต์___
ซึ่งดาวน์โหลดมาจากอินเตอร์เน็ต อนุญาตให้โปรแกรม___
ใช้งานฟอนต์ตัวนี้ไหม?” โอเคถ้าแค่ฟอนต์ตัวเดียวก็คงไม่มีปัญหาอะไร แต่ถ้ามันเด้งแบบนี้ซักร้อยทีล่ะ กด Allow กันมือหงิกเลย แถมถ้าต่างโปรแกรมมันก็จะถามคำถามนี้อีก โอ้ยใครจะไปกดไหว สาเหตุจริงๆ เกิดจากการที่ Mac OS X เริ่มจะฉลาดคือเริ่มหยั่งรู้ว่าไฟล์บางไฟล์ถูกดาวน์โหลดผ่านบราวเซอร์และทำการ Mark ค่าบางอย่างคือ com.apple.quarantine
ไว้บนไฟล์นั้น เมื่อทำการเปิดไฟล์ดังกล่าวและทำการติดตั้งไฟล์เหล่านั้นลงในเครื่อง (เช่นลากโปรแกรมออกจาก Disk Image) ค่านี้ก็จะตามไปด้วยแล้วทำให้เกิดคำถามในครั้งแรกที่เปิดเรียกใช้งานไฟล์/โปรแกรมที่ติดตั้งไปว่า “โปรแกรม___
ถูกดาวน์โหลดจากอินเตอร์เน็ตด้วย___
เมื่อ___
จะเปิดใช้งานไหม?” ซึ่งเมื่อกดยอมรับ โปรแกรมก็จะเปิดใช้งานได้และจะไม่ถามคำถามนี้อีกเลยจนกว่าจะถูกติดตั้งเวอร์ชั่นใหม่ทับด้วยวิธีเดิม
วิธีแก้ใช้คำสั่ง xattr
ตามด้วยพารามิเตอร์ -d com.apple.quarantine
ตามด้วยชื่อไฟล์ที่ต้องการลบค่านี้ออก อาจจะเพิ่ม -R
ไว้หลัง -d
เพื่อจะ recursive เข้าไปในไดเรคตอรี่ที่ต้องการลบค่าด้วย