Не дозволяйте Nautilus / Nemo створювати папку .Trash-1000 на встановлених пристроях


15

І Nautilus, і Nemo створюють приховані папки, які викликаються .Trash-1000на будь-якому змонтованому пристрої, мабуть, для управління їхньою папкою Trash. Це може заплутатись у мережевих накопичувачах, встановлених іншими користувачами, які, можливо, використовують інші операційні системи чи програми, які не розпізнають цю папку як кошик для сміття.

Більше того, ця папка розширюється із кількістю видалених файлів і не може бути видалена з Ubuntu:

$ sudo rm -rf ./.Trash-1000
rm: cannot remove './.Trash-1000/files': Directory not empty

Щоб звільнити місце в таких встановлених томах, .Trash-1000папку потрібно видалити з іншої системи.

Чи є спосіб запобігти створенню цієї папки на мережевих накопичувачах Немо чи Наутілус? Я, природно, просто не можу їх використовувати, але вони зручні у багатьох ситуаціях.


1
@ LuísdeSousa Тепер я дав відповідь, що стосується поточного стану речей, тобто наразі така функція неможлива. Однак я б просив вас залишатися терплячими протягом наступного тижня або близько того, і я можу повернутися з кращим рішенням. ДОБРЕ ?
Сергій Колодяжний

Як вирішення, ви можете .Trash-1000самостійно створити порожню папку та використовувати chmod 000 .Trash-1000та / або sudo chattr +i .Trash-1000запобігти заповненню Nautilus. (Я насправді цього не намагався, але, якби у мене була ця проблема.)
пт

pts, це схоже на традиційне вирішення проблем на великих накопичувачах - створіть порожній файл (не папку), який називається. Trash-1000 це бентежить достатньо гнома, щоб зупинити його.
яскравий

@pts Це змусить інших користувачів плутати про це. Більше того, у Samba-накопичувачах права доступу не мають значення.
Luís de Sousa

@ LuísdeSousa: Для акцій Samba зробіть chmod або chattr на сервері Samba ( samba.org ). Я розумію, що кожне рішення та шляхи вирішення мають свої переваги. Тим не менш, краще знати про вирішення та його компроміс, ніж не знати. Тому я опублікував це як коментар.
пт.

Відповіді:


15

Переглянувши вихідний код Nautilus та відповідь Майкла Штумпфла, стає зрозуміло, що створення папки сміття є чимось важко кодованим у самому вихідному коді Nautilus і є частиною того, як це libgioпрацює - бібліотека, що спирається на файлові маніпуляції в додатках Gtk / GNOME. Тому відключити таку поведінку наразі неможливо без перекомпіляції ні самого файлового менеджера, ні зміни вихідного коду бібліотеки (що я б не рекомендував робити, оскільки інші програми покладаються на нього, тому зміни можуть вплинути на поведінку інших програм).

Напевно, найкращим рішенням є запропонувати розробникам Nautilus запит на функцію та дочекатися його виправлення. Можна також вдатися до постійного видалення файлів за допомогою Shift+ Deleteскорочення або використання утиліт командного рядка, таких як mv(переміщення до сміттєвої папки користувача у /файловій системі) або rm. В іншому випадку перейдіть на використання іншого файлового менеджера.


1
Якщо це важко закодовано, libgioчи не має значення використання альтернативного файлового менеджера?
Luís de Sousa

4
@ LuísdeSousa Не кожен менеджер файлів покладається на libgio. Дельфін, наприклад, ні. Менеджер файлів командного рядка, як midnight-commanderні. Взагалі, ті програми, які не покладаються на інструментарій Gtk, не контактують libgio. Звичайно, можуть бути винятки.
Сергій Колодяжний

0

Це не заважає створити папку .Trash, але це простий спосіб вирішення заявленої проблеми.

Це може здатися надто простим, але просто використовувати глобінг. А саме:rm -rf .Trash-1000/*

шаблон (*) розширений оболонкою, і rm зійде в і видалить будь-які файли та каталоги, ім'я яких відповідає цьому шаблону. Він не намагатиметься видалити папку .Trash-1000, але видалить './.Trash-1000/files'. Звичайно, застосовуються нормальні дозволи.

`

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.