คุณสามารถเรียกคืนวันที่เต็มได้โดยการคอมไพล์ nautilus:
sudo apt-get build-dep nautilus
sudo apt-get install quilt
export QUILT_PATCHES=debian/patches
apt-get source nautilus
cd nautilus*
quilt new 999_full_dates.patch
quilt edit libnautilus-private/nautilus-column-utilities.c
เปลี่ยนบรรทัด 77 จาก
"attribute", "date_modified",
ไปยัง
"attribute", "date_modified_full",
สร้างและติดตั้งแพ็คเกจที่แก้ไขใหม่:
quilt refresh
fakeroot dpkg-buildpackage
cd ..
killall nautilus
sudo dpkg -i nautilus_*.deb
nautilus &
เช่นเคยคุณต้องทำตามขั้นตอนเหล่านี้ทุกครั้งที่มีการอัพเดตสำหรับหอยโข่งในอูบุนตู
ตอนนี้การวิเคราะห์ปัญหาทั้งหมด:
โปรแกรมแก้ไขจริงที่ทำให้เกิดการเปลี่ยนแปลงนี้คือ: https://git.gnome.org/browse/nautilus/commit/?id=3fd9cba41e56f44ed955b28755ad03135026d021
ฟังก์ชัน nautilus_file_get_date_as_string ได้รับพารามิเตอร์ gboolean พิเศษ "กระชับ" - เมื่อจริงวันที่ตัวย่อจะถูกส่งกลับ
ฟังก์ชั่นนี้ไม่เคยถูกเรียกโดยตรง - มันถูกเข้าถึงผ่านฟังก์ชั่น wrapper nautilus_file_get_string_attribute_q ฟังก์ชันนี้ใช้พารามิเตอร์ของแอตทริบิวต์เช่น "date_modified" เพื่อรองรับลายเซ็นใหม่ของ nautilus_file_get_date_as_string แอตทริบิวต์ใหม่จะถูกเพิ่ม "date_modified_full" หลังจากการเปลี่ยนแปลงนี้โค้ดใด ๆ ใน nautilus ที่ใช้สตริงวันที่ของไฟล์จะได้รับวันที่ตัวย่อ
สุดท้ายไดอะล็อกคุณสมบัติไฟล์จะได้รับการอัปเดตให้ใช้แอตทริบิวต์ "date_modified_full"
ดังนั้นเพื่อให้ nautilus แสดงวันที่แบบเต็มในมุมมองรายการจำเป็นต้องเปลี่ยนบรรทัดของโค้ด: ใน libnautilus-private / nautilus-column-utilities.c, บรรทัด 77 จาก "date_modified" เป็น "date_modified_full"
โปรแกรมปะแก้ที่มีประโยชน์เล็กน้อยสามารถเพิ่มประเภทคอลัมน์ใหม่ซึ่งจะแสดงวันที่เต็มทำให้เป็นคุณลักษณะเสริมและเพิ่มโค้ดเพียง 10 บรรทัด