Представление списка в Nautilus 3.6 показывает, что файлы дат были изменены различными способами: часы и минуты, если они были изменены в текущий день, и месяц и день, если они были изменены в течение текущего года, и год, добавленный, если изменено в течение предыдущего года. Я хотел бы видеть всю дату и время последовательно во всех файлах (например: Sat 20 Apr 2012 01:28:34 PM EDT
).
Я уже настраивал это раньше, но я не могу понять, как это сделать с версией 3.6. Я нашел этот вопрос, но ответы больше не относятся к Nautilus 3.6: Как изменить формат даты в столбцах списка Nautilus?
Как я могу сделать это в Nautilus 3.6+?
Вы можете вернуть полную дату, перекомпилировав 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 &
Как всегда, вы должны выполнять эти шаги каждый раз, когда в Ubuntu появляется обновление для наутилуса.
Теперь полный анализ проблемы:
Фактическим патчем, вызвавшим это изменение , является этот .
Функция nautilus_file_get_date_as_string
получает дополнительный параметр gboolean "compact" - если истинно, сокращенная дата возвращается.
Эта функция никогда не вызывается напрямую - к ней обращаются через функцию-оболочку nautilus_file_get_string_attribute_q
. Эта функция принимает параметры атрибута, такие как date_modified. Для размещения новой подписи nautilus_file_get_date_as_string
добавлен новый атрибут « date_modified_full
». После этого изменения любой код в nautilus, который использует строку даты файла, получит сокращенную дату.
Наконец, диалоговое окно свойств файла обновлено для использования атрибута date_modified_full.
Таким образом, чтобы nautilus отображал полную date в представлении списка необходимо изменить только одну строку кода: в libnautilus-private / nautilus-column-utilities.c строка 77 с date_modified на date_modified_full.
Немного более полезный патч может добавить новый тип столбца, который будет отображать полную дату, что делает эту функцию дополнительной функцией, и добавить только 10 строк кода.
В этом сообщении в блоге показано, как намного проще решение. Он основан на создании расширения, которое можно выбрать в качестве альтернативного «измененного столбца». Протестировано в версии 16.04.
gedit ~ / .local / share / nautilus-python / extensions / longdate.py
Используйте этот код (всегда копируйте код, которому вы доверяете):
#! / Usr / bin / env python
импорт ОС
импортировать urllib
дата и время импорта
из gi.repository импортировать Nautilus, GObject
класс ColumnExtension (GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoProvider):
def __init __ (сам):
проходить
def get_columns (self):
return (Nautilus.Column (
name = "NautilusPython :: Longdate",
attribute = "longdate",
label = "Longdate",
description = "Получить длинное свидание"),)
def update_file_info (сам, файл):
если file.get_uri_scheme ()! = 'файл':
возвращение
filename = urllib.unquote (file.get_uri () [7:])
statbuf = os.stat (имя файла)
formatteddate = datetime.datetime.fromtimestamp (statbuf.st_mtime) .strftime ('% Y-% m-% d% H:% M:% S')
file.add_string_attribute ('longdate', str (форматированная дата))
chmod + x ~ / .local / share / nautilus-python / extensions / longdate.py
sudo apt install python-nautilus
nautilus -q
и nautilus.
к перезапустите Nautilus и посмотрите, правильно ли он загружает расширение.
Выберите новый столбец «Longdate» в настройках столбца списка.
Результат будет выглядеть следующим образом:
Для тех, кто использует trusty
и не желает компилировать, я установил тестовый ppa для исправленного наутилуса. (с использованием патча Алистера Бакстона
В настоящее время сборка также включает в себя 2 исправления ошибок, 1 от надежно предложенного, 1 от утопического.
Кроме того, есть 3 незначительных исправления, которые были протестированы мной в течение некоторого времени и не представляют проблемы.
открыть в папках
настоящее имя владельца файла отображается вместо «Я»
Диспетчер файлов в качестве имени программы запуска
Патч «дата-время» Я немного тестировал, не видел Для тех, кто склонен попробовать - если какая-либо проблема будет обнаружена, свяжитесь со мной через электронную почту панели запуска.
Столбец «Изменено (полный)» можно добавить с помощью nautilus в listview
> Вид> Видимые столбцы .. или thru nautilus> Правка> Настройки> Столбцы списка
https://launchpad.net/~mc3man/+archive/nauty-mods
Прочтите страницу ppa для получения информации и того, как легко вернуться в случае необходимости.
Nemo - это форк Nautilus, который включает дату создания и кнопку для Ctrl + L.
sudo apt install nemo
Для замените Nautilus для ссылок на документы и т.д. обновляет ваши настройки MIME:
$ cat ~/.config/mimeapps.list |grep inode
inode/directory=nemo.desktop
inode/directory=exo-file-manager.desktop;
$ cat /etc/gnome/defaults.list |grep inode
inode/directory=org.gnome.Nautilus.desktop