Pertanyaan Bagaimana cara menampilkan tanggal dan waktu dalam tampilan daftar Nautilus / Files 3.6+?


Tampilan daftar Nautilus 3.6 menunjukkan file tanggal dimodifikasi dalam berbagai cara: jam dan menit jika diubah pada hari ini, dan bulan dan hari jika dimodifikasi selama tahun berjalan, dan tahun yang ditempelkan jika dimodifikasi selama tahun sebelumnya. Saya ingin melihat seluruh tanggal dan waktu secara konsisten pada semua file (misalnya: Sat 20 Apr 2012 01:28:34 PM EDT).

Saya sudah mengatur ini sebelumnya, tapi saya tidak tahu cara melakukannya dengan versi 3.6. Saya menemukan pertanyaan ini, tetapi jawabannya tidak lagi berlaku untuk Nautilus 3.6: Bagaimana cara mengubah format tanggal di kolom daftar Nautilus?

Bagaimana saya bisa melakukannya di Nautilus 3.6+?


34
2018-04-25 18:04


asal


Melihat pengaturan pada tepat dan raring mereka identik jadi saya menganggap itu adalah fitur yang dihapus dari nautilus mungkin ada plugin atau skrip yang dapat menambahkannya kembali. - Davmor2
kunci format tanggal dalam gsettings telah dihapus oleh commit ini: git.gnome.org/browse/nautilus/commit/libnautilus-private/… yang termasuk dalam laporan bug ini: bugzilla.gnome.org/show_bug.cgi?id=676898 - djfun
Tautan ke "bug" yang meminta agar fungsi dipulihkan: bugzilla.gnome.org/show_bug.cgi?id=699055 - Aibara
Terjadi pada saya di v3.14.2. Seseorang bernama Carlos berkomentar goo.gl/AE7FRA bahwa ini diperbaiki di nautilus v3.16. - AlikElzin-kilaka
@becko Ubuntu 16.04 dikirim dengan Nautilus 3.14. Itu tidak diperbaiki dalam versi itu. Saya belum menguji 3.16. - Aibara


Jawaban:


Anda dapat memperoleh kembali tanggal lengkap dengan mengkompilasi ulang 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

Ubah baris 77 dari

"attribute", "date_modified",

untuk

"attribute", "date_modified_full",

Buat ulang dan pasang paket yang dimodifikasi:

quilt refresh
fakeroot dpkg-buildpackage
cd ..
killall nautilus
sudo dpkg -i nautilus_*.deb
nautilus &

Seperti biasa, Anda harus melakukan langkah-langkah ini setiap kali ada pembaruan untuk nautilus di Ubuntu.

Sekarang, analisis lengkap masalah:

Tambalan sebenarnya yang menyebabkan perubahan ini adalah yang satu ini: https://git.gnome.org/browse/nautilus/commit/?id=3fd9cba41e56f44ed955b28755ad03135026d021

Fungsi nautilus_file_get_date_as_string mendapatkan parameter gboolean ekstra "compact" - saat benar tanggal yang disingkat dikembalikan.

Fungsi ini tidak pernah dipanggil secara langsung - fungsi ini diakses melalui fungsi wrapper nautilus_file_get_string_attribute_q. Fungsi ini mengambil parameter atribut seperti "date_modified". Untuk mengakomodasi tanda baru nautilus_file_get_date_as_string atribut baru ditambahkan "date_modified_full". Setelah perubahan ini, kode apa pun di nautilus yang menggunakan string tanggal file akan mendapatkan tanggal yang disingkat.

Akhirnya, dialog properti file diperbarui untuk menggunakan atribut "date_modified_full".

Jadi agar nautilus menampilkan tanggal lengkap dalam tampilan daftar, Anda hanya perlu mengubah baris kode: di libnautilus-private / nautilus-column-utilities.c, baris 77 dari "date_modified" menjadi "date_modified_full".

Tambalan yang sedikit lebih bermanfaat dapat menambahkan tipe kolom baru yang akan menampilkan tanggal lengkap, menjadikan ini sebagai fitur opsional, dan hanya menambahkan 10 baris kode.


22
2018-04-26 18:53



Inilah mengapa saya suka open source - ketika para pengembang menjadi gila, saya bisa memperbaikinya sendiri. - Alistair Buxton
Apakah ini masih satu-satunya cara untuk menangani masalah ini? - Philippe
@AlistairBuxton Sudahkah Anda mencoba mengirimkan patch kedua ke pengembang Gnome? Akan sangat bagus jika mereka setidaknya bisa memberi kami pilihan daripada menjaga tanggal penuh tidak tersedia ... - n.st
Apakah ini telah diperbaiki dalam versi yang lebih baru (sehingga saya tidak perlu mengkompilasi ulang)? - becko
inilah mengapa orang masih menggunakan Windows Micosoft! bagaimana saya suka microsoft :-) Ffs itu 2016 dan fungsi dasar ini hilang? - joedotnot


Bagi yang menggunakan trusty & tidak ingin mengkompilasi Saya telah menyiapkan tes ppa untuk nautilus yang ditambal. (menggunakan patch Alistair Buxton

Build saat ini juga mencakup 2 patch perbaikan bug, 1 dari terpercaya, 1 dari utopic.

Selain itu ada 3 patch kecil yang telah saya uji selama beberapa waktu & tidak menimbulkan masalah.

  1. buka dengan di folder

  2. nama pemilik file asli ditampilkan sebagai ganti "Saya"

  3. Manajer File sebagai nama peluncur

Patch 'tanggal-waktu' Saya sudah menguji sedikit, tidak melihat ada masalah. Bagi mereka yang ingin mencoba - jika ada masalah yang ditemukan hubungi saya melalui email launchpad.

Kolom "Dimodifikasi (penuh)" dapat ditambahkan melalui nautilus di listview > Lihat> Kolom Terlihat .. atau melalui nautilus> Edit> Preferensi> Daftar Kolom

https://launchpad.net/~mc3man/+archive/nauty-mods

Baca halaman ppa untuk info & cara mudah mengembalikan jika perlu.


6
2018-05-16 19:51



Sepertinya saya tidak bisa menginstal versi nautilus ini. sudo apt-get install nautilus baru menyimpulkan itu latest is already installed. Mencoba sudo apt-get --reinstall install nautilus reinstalls, tetapi hal yang sama yang sudah ada. Apakah Anda kebetulan memiliki sesuatu untuk misalnya /etc/apt/preferences.d/ yang membuat hal ini benar-benar terinstal, atau bagaimana cara melakukannya? (pada Trusty) - Hannu
@ Hannu, coba lagi, perlu diperbarui - doug
dpkg --list | grep nautilus menunjukkan ...+date versi. Retried, beberapa kali. Hanya setelah reboot dengan versi ini diinstal, kemudian menyelidiki Terminal dan ada setelah menggunakan nautilus --no-desktop (tidak yakin apakah itu muncul di sana) dan kemudian nautilus --force-desktop Saya - akhirnya - menemukan opsi "Dimodifikasi (penuh)" dalam tampilan daftar. Sekarang tampaknya hadir setiap saat. pertanyaan: Dapatkah konten dimodifikasi? misalnya Saya berharap untuk menggunakan "strftime ()"? - Hannu
Hmm ... mungkin begitu LC_TIME=... yang menentukan formatnya? - Hannu
@ Hannu, tidak ada petunjuk mengapa Anda menemukan opsi tampilan daftar jadi 'sulit' untuk ditemukan, tidak ada masalah seperti itu di sini. Sejauh memodifikasi, unduh juga file debian.tar.xz dari ppa, Anda akan menemukan tanggal-waktu.patch di dalam folder tambalan, memilikinya. - doug


Ini posting blog menunjukkan solusi yang jauh lebih mudah. Hal ini didasarkan pada pembuatan ekstensi yang dapat dipilih sebagai "kolom modifikasi" alternatif. Diuji di bawah 16.04.

  1. gedit ~/.local/share/nautilus-python/extensions/longdate.py

  2. Gunakan kode ini:

#!/usr/bin/env python

import os
import urllib
import datetime
from gi.repository import Nautilus, GObject

class ColumnExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoProvider):
    def __init__(self):
        pass

    def get_columns(self):
        return (Nautilus.Column(
            name="NautilusPython::Longdate", 
            attribute="longdate", 
            label="Longdate", 
            description="Get long date"),)

    def update_file_info(self, file):
        if file.get_uri_scheme() != 'file':
            return

        filename = urllib.unquote(file.get_uri()[7:])
        statbuf = os.stat(filename)
        formatteddate = datetime.datetime.fromtimestamp(statbuf.st_mtime).strftime('%Y-%m-%d %H:%M:%S')
        file.add_string_attribute('longdate', str(formatteddate))
  1. chmod +x ~/.local/share/nautilus-python/extensions/longdate.py

  2. nautilus -q dan nautilus . untuk memulai ulang Nautilus dan melihat apakah itu memuat ekstensi dengan benar.

  3. Pilih kolom "longdate" baru di daftar preferensi kolom.

Hasilnya akan terlihat seperti ini:

example


3
2018-03-21 18:06



Pertama instal nautilus-python: sudo apt-get install python-nautilus - DrMoishe Pippik