Есть ли способ получить текущий каталог окна nautilus?

Чтобы ответить на ваш вопрос :перемещение и удаление очень похожи, я думаю, вам нужна другая стратегия.

Я бы поставил этот каталог под контроль версий не только потому, что он выглядит как код.

Преимущество системы контроля версий в том, что у вас есть история файлов. вы можете просто запускать запланированную задачу, скажем, каждый час, которая проверяет, были ли внесены изменения, используя, скажем, git, и применять изменения к контролю версий.

Таким образом, вы можете позволить людям перемещать данные, удалять материалы, неважно что... они по-прежнему находятся в системе управления версиями, и для их извлечения достаточно одной команды.

Другая особенность систем контроля версий, таких как git, заключается в том, что у вас есть встроенный механизм резервного копирования. Вы можете перенести любые изменения в одну или несколько других систем, И когда я говорю об изменениях, это на самом деле полная история файлов... включая все когда-либо сделанные изменения.

С текстовыми файлами накладные расходы на хранилище минимальны, всегда сохраняются только внесенные изменения.

Единственное, к чему другим нельзя прикасаться, — это система контроля версий. Если вы используете git,он создаст каталог .git, который будет содержать всю важную информацию... вы также можете использовать другие системы, такие как mercurial.

Если вы действительно хотите фиксировать все изменения по мере их внесения, вы можете попробовать git watch , который может отслеживать репозиторий git, включая все подпапки и файлы в нем, и вставлять любые изменения в git. Более того, gitwatch может отправлять изменения по мере их возникновения на git на другом сервере (полная резервная копия, полная история ).

2
19.06.2020, 17:43
1 ответ

Вы можете использовать dbus-monitorдля отслеживания связанных событий при изменении текущей папки на любой вкладке любого окна nautilus:

dbus-monitor "
  type='signal',
  interface='org.freedesktop.DBus.Properties',
  path='/org/freedesktop/FileManager1',
  member='PropertiesChanged'" |
  awk -F '"' '
    $2 ~ "^/org/gnome/Nautilus/window/[[:digit:]]+$" {
      window = $2
      sub(".*/", "", window)
      tab = 0
      next
    }
    window && /string / {
      print window"."++tab": "$2
      next
    }
    tab {window = 0}'

печатает что-то вроде:

2.1: file:///export/home/stephane/Desktop/untitled%20folder
2.2: file:///export/home/stephane/Downloads
1.1: trash:///

(, где 2.1, например, означает 2 и окно, 1 st вкладку )каждый раз, когда я меняю папку на любой вкладке любого окна nautilus.

3
18.03.2021, 23:26

Теги

Похожие вопросы