Ngăn Nautilus / Nemo tạo thư mục .Trash-1000 trong các thiết bị được gắn


15

Cả Nautilus và Nemo đều tạo các thư mục ẩn được gọi .Trash-1000trong bất kỳ thiết bị được gắn nào, dường như để quản lý thư mục Thùng rác của họ. Điều này rất khó hiểu trong các ổ đĩa mạng được gắn bởi người dùng khác, có thể đang sử dụng các hệ điều hành hoặc chương trình khác không nhận ra thư mục này là thùng rác.

Hơn nữa, thư mục này mở rộng với số lượng tệp bị xóa và không thể xóa khỏi Ubuntu:

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

Để giải phóng không gian trong các khối được gắn như vậy, .Trash-1000thư mục phải được xóa khỏi một hệ thống khác.

Có cách nào để ngăn Nemo hoặc Nautilus tạo thư mục này trong các ổ đĩa mạng không? Tôi có thể tự nhiên không thể sử dụng chúng, nhưng chúng rất tiện dụng trong nhiều tình huống.


1
@ LuísdeSousa Bây giờ, tôi đã cung cấp câu trả lời về tình trạng hiện tại, hiện tại không thể có tính năng như vậy. Tuy nhiên, tôi sẽ yêu cầu bạn duy trì sự kiên nhẫn trong tuần tới hoặc lâu hơn, và tôi có thể trở lại với một giải pháp tốt hơn. ĐỒNG Ý ?
Sergiy Kolodyazhnyy

Như một giải pháp thay thế, bạn có thể tự tạo một .Trash-1000thư mục trống , và sử dụng chmod 000 .Trash-1000và / hoặc sudo chattr +i .Trash-1000để ngăn Nautilus cư trú. (Tôi chưa thực sự thử điều này, nhưng tôi sẽ làm nếu tôi gặp vấn đề này.)
pts

pts này tương tự như cách giải quyết truyền thống trên các ổ USB - tạo một tệp trống (không phải thư mục) có tên .Trash-1000, điều này khiến gnome đủ nhầm lẫn để ngăn chặn nó.
don sáng

@pts Điều này sẽ khiến người dùng khác bối rối về nó. Hơn nữa, trong các ổ Samba, quyền Linux không có nghĩa.
Luís de Sousa

@ LuísdeSousa: Đối với cổ phiếu Samba, hãy thực hiện chmod hoặc chattr trên máy chủ Samba ( samba.org ). Tôi đảm bảo rằng mỗi giải pháp và cách giải quyết đều có sự đánh đổi của nó. Tuy nhiên, tốt hơn là nên biết về một cách giải quyết và sự đánh đổi của nó hơn là không biết. Do đó tôi đã đăng nó như một bình luận.
pts

Câu trả lời:


15

Sau khi xem mã nguồn của Nautiluscâu trả lời của Michael Stumpfl, rõ ràng là việc tạo thư mục rác, là thứ được mã hóa cứng trong chính mã nguồn của Nautilus và là một phần trong cách libgiohoạt động - thư viện đằng sau các thao tác tệp trong các ứng dụng Gtk / Gnome. Do đó, việc vô hiệu hóa hành vi đó hiện không thể thực hiện được nếu không biên dịch lại trình quản lý tệp hoặc thay đổi mã nguồn của thư viện (điều mà tôi không khuyên bạn nên làm, vì các ứng dụng khác dựa vào nó, vì vậy các thay đổi có thể ảnh hưởng đến hành vi của các ứng dụng khác).

Có lẽ giải pháp tốt nhất là đề xuất một yêu cầu tính năng cho các nhà phát triển Nautilus và đợi cho đến khi nó được sửa. Người ta cũng có thể sử dụng để xóa vĩnh viễn các tệp thông qua Shift+ Deletecắt ngắn hoặc sử dụng các tiện ích dòng lệnh như mv(di chuyển đến thư mục rác của người dùng trên /hệ thống tệp) hoặc rm. Mặt khác - chuyển sang sử dụng trình quản lý tệp khác nhau trong thời gian này.


1
Nếu điều này được mã hóa cứng, libgionó có tạo ra sự khác biệt khi sử dụng trình quản lý tệp thay thế không?
Luís de Sousa

4
@ LuísdeSousa Không phải mọi người quản lý tập tin đều dựa vào libgio. Cá heo chẳng hạn. Trình quản lý tệp dòng lệnh như midnight-commanderkhông. Nói chung, những ứng dụng không dựa trên bộ công cụ Gtk không tiếp xúc với libgio. Tất nhiên, có thể có ngoại lệ.
Sergiy Kolodyazhnyy

0

Điều này không ngăn cản việc tạo thư mục .Trash nhưng đó là cách đơn giản để xử lý vấn đề đã nêu của bạn.

Điều này có vẻ quá đơn giản nhưng chỉ cần sử dụng Globing. Như trong:rm -rf .Trash-1000/*

mẫu (*) được mở rộng bởi shell và rm sẽ đi xuống và xóa bất kỳ tệp và thư mục nào có tên khớp với mẫu đó. Nó sẽ không cố xóa thư mục .Trash-1000 nhưng sẽ xóa './.Trash-1000/files'. Tất nhiên quyền bình thường áp dụng.

`

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.