Найти местоположение поврежденного файла в GIO

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

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


person Pavel Strakhov    schedule 28.05.2013    source источник


Ответы (1)


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

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

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

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

person drahnr    schedule 11.06.2013
comment
Можете ли вы предоставить ссылку на документацию, описывающую эти возможные местоположения папки для мусора? Я думал, что он устарел, потому что он не упоминается в документации GIO. - person Pavel Strakhov; 11.06.2013
comment
Внимательно не читал, только просмотрел, но должно содержать все необходимое ramendik.ru/docs/ мусорная спецификация.html - person drahnr; 12.06.2013