2013-05-28 8 views
0

В документации указано, что все файлы, перемещенные в корзину, обычно хранятся в ~/.local/share/Trash/files. Есть ли исключения для файлов, удаленных со съемных носителей? Сохраняются ли они в каталоге drive_root/.Trash-xxx? Или это поведение устарело?Найти местоположение файла с удалением в GIO

Как найти реальный путь к файлу файла в корзине? У меня есть список GFileInfo, полученный от g_file_enumerate_children для trash:/// uri. Это легко, если все файлы хранятся в одном каталоге. Но я боюсь, что это может быть иначе для съемных дисков.

ответ

1

Из съемных носителей есть папки .Trash - $ (user_id), поэтому вам нужно будет получить все смонтированные диски, а также домашний мусорный контейнер.

Под каждым монтированным устройством (не являющимся домашней папкой) будет папка .Trash для каждого пользователя, когда-либо удаляемого. Так, например, для моего пользователя foo, который имеет ID 1000 (см. /etc/passwd), вам нужно будет найти папки .Trash-1000.

Это AFAIK не устарела, просто думать о на противоположном, файл должен быть скопирован в домашнем хранилище просто переместить его в корзину ...

Для второй части, вы, вероятно, лучше спрашивая об этом в списке рассылки glib/gtk.

+0

Можете ли вы предоставить некоторую ссылку на документацию, описывающую эти возможные местоположения корзины? Я думал, что он устарел, потому что он не упоминается в документации GIO. –

+0

Не читал это глупо, просто взглянул, но должен содержать все, что вам нужно http://www.ramendik.ru/docs/trashspec.html – drahnr