Bagaimana cara menunjukkan tanggal dan waktu penuh dalam tampilan daftar Nautilus / Files 3.6+?


39

Tampilan daftar Nautilus 3.6 menunjukkan file tanggal telah dimodifikasi dalam berbagai cara: jam dan menit jika dimodifikasi pada hari ini, dan bulan dan hari jika dimodifikasi selama tahun berjalan, dan tahun ditempel pada 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, tetapi saya tidak tahu bagaimana melakukannya dengan versi 3.6. Saya memang 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+?


Melihat pengaturan tepat dan raring mereka identik jadi saya berasumsi itu adalah fitur yang dihapus dari nautilus mungkin ada plugin atau skrip yang dapat menambahkannya kembali.
Davmor2

3
kunci format tanggal pada gsettings telah dihapus oleh komit ini: git.gnome.org/browse/nautilus/commit/libnautilus-private/… yang termasuk dalam laporan bug ini: bugzilla.gnome.org/show_bug.cgi?id=676898
djfun

3
Tautan ke "bug" yang meminta agar fungsionalitasnya dipulihkan: bugzilla.gnome.org/show_bug.cgi?id=699055
Aibara

Terjadi pada saya di v3.14.2. Seseorang bernama Carlos berkomentar di goo.gl/AE7FRA bahwa ini diperbaiki di nautilus v3.16.
AlikElzin-kilaka

1
@becko Ubuntu 16.04 dikirimkan bersama Nautilus 3.14. Itu tidak diperbaiki dalam versi itu. Saya belum menguji 3.16.
Aibara

Jawaban:


24

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 jalur 77 dari

"attribute", "date_modified",

untuk

"attribute", "date_modified_full",

Bangun kembali dan instal 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 aktual yang menyebabkan perubahan ini adalah yang ini: https://git.gnome.org/browse/nautilus/commit/?id=3fd9cba41e56f44ed955b28755ad03135026d021

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

Fungsi ini tidak pernah dipanggil secara langsung - ini diakses melalui fungsi wrapper nautilus_file_get_string_attribute_q. Fungsi ini mengambil parameter atribut seperti "date_modified". Untuk mengakomodasi tanda tangan 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".

Sebuah tambalan yang sedikit lebih berguna dapat menambahkan tipe kolom baru yang akan menampilkan tanggal penuh, menjadikan ini fitur opsional, dan hanya menambahkan 10 baris kode.


12
Inilah sebabnya saya suka open source - ketika pengembang menjadi gila, saya bisa memperbaikinya sendiri.
Alistair Buxton

6
Apakah saat ini masih satu-satunya cara untuk menangani masalah ini?
Philippe

3
@AlistairBuxton Sudahkah Anda mencoba mengirim tambalan kedua ke pengembang Gnome? Akan lebih bagus jika mereka setidaknya bisa memberi kita pilihan alih-alih menjaga agar tanggal lengkap tidak tersedia ...
n.

3
Saya tidak lagi menggunakan Nautilus dan saya sarankan Anda melakukan hal yang sama.
Alistair Buxton

2
Apakah ini sudah diperbaiki di versi yang lebih baru (sehingga saya tidak perlu mengkompilasi ulang)?
becko

6

Bagi mereka yang menggunakan trusty& tidak ingin mengkompilasi saya telah menyiapkan test ppa untuk nautilus yang ditambal. (menggunakan patch Alistair Buxton

Build saat ini juga mencakup 2 patch perbaikan bug, 1 dari yang dapat dipercaya, 1 dari utopis.

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

  1. buka dengan di folder

  2. nama pemilik file asli ditampilkan bukan "Saya"

  3. Manajer File sebagai nama peluncur

Tambalan 'tanggal-waktu' yang telah saya uji sedikit, tidak melihat masalah. Bagi mereka yang cenderung mencoba - jika ada masalah, hubungi saya melalui email launchpad.

Kolom "Dimodifikasi (lengkap)" 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 mengembalikan dengan mudah jika perlu.


Sepertinya saya tidak bisa menginstal versi nautilus ini. sudo apt-get install nautilushanya menyimpulkan itu latest is already installed. Mencoba sudo apt-get --reinstall install nautilusmenginstal ulang, tetapi hal yang sama sudah ada. Apakah Anda kebetulan punya sesuatu untuk misalnya /etc/apt/preferences.d/yang membuat benda ini benar-benar diinstal, atau bagaimana lagi melakukannya? (tentang Trusty)
Hannu

@ Hannu, coba lagi, perlu diperbarui
doug

dpkg --list | grep nautilusmenunjukkan ...+dateversinya. Dicoba lagi, beberapa kali. Hanya setelah reboot dengan versi ini diinstal, kemudian menggali ke dalam Terminal dan di sana setelah menggunakan nautilus --no-desktop(tidak yakin apakah itu muncul di sana) dan kemudian nautilus --force-desktopsaya - pada akhirnya - menemukan opsi "Diubah (penuh)" dalam tampilan daftar. Sekarang tampaknya hadir setiap saat. pertanyaan : Bisakah konten diubah? misalnya saya berharap untuk penggunaan "strftime ()"?
Hannu

Hmm ... mungkinkah itu LC_TIME=...yang menentukan format?
Hannu

1
Permintaan tanpa prasangka untuk kali berikutnya Anda memperbarui ppa, harap pertimbangkan untuk menambahkan format lain untuk kolom Modifed; sama sepertidate +'%Y-%m-%d, %T'
Hannu

4

Posting blog ini menunjukkan solusi yang jauh lebih mudah. 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 -qdan nautilus .untuk me-restart Nautilus dan melihat apakah ekstensi dimuat dengan benar.

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

Hasilnya akan terlihat seperti ini:

contoh


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

Terima kasih banyak - sepertinya berfungsi di Disco - Ubuntu 19.04! Tapi Anda tidak bisa mengurutkan berdasarkan Longdate. Sayangnya saya tidak bisa memperbaikinya sendiri. Kerja bagus. Seperti yang dikatakan @Alistair Buxton: Inilah mengapa saya suka open source - ketika pengembang jadi gila, saya bisa memperbaikinya sendiri. Nah, dengan bantuan Anda! TERIMA KASIH.
opinion_no9

Ini tidak berfungsi pada Nautilus ("Files" 3.10.1) di Ubuntu 14.04. Ketika Nautilus dimulai dari baris perintah, dikatakan Nautilus-Share-Message: Called "net usershare info" but it failed: 'net usershare' returned error 255: net usershare: cannot open usershare directory /var/lib/samba/usershares. Error No such file or directoryTolong minta sysadm untuk mengaktifkan berbagi pengguna. Lalu enam kali ** (nautilus:21161): CRITICAL **: nautilus_menu_provider_get_background_items: assertion 'NAUTILUS_IS_FILE_INFO (current_folder)' failed. Calon kolom baru tidak ditampilkan dalam pilihan.
wallyk
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.