Ứng dụng nào tôi nên đổ lỗi cho việc bắt buộc tạo một thư mục nhiều lần?


21

Có một ứng dụng trên hệ thống của tôi, nó cứ ~/Desktoplặp đi lặp lại tạo một thư mục trống . Tôi không thể đứng chữ in hoa trong nhà của mình, tôi cũng không thể chịu đựng được điều này. Vì vậy, vì kén chọn như tôi, tôi xóa thư mục mỗi lần tôi nhìn thấy nó. Tôi thực sự muốn biết ứng dụng nào chịu trách nhiệm cho điều đó (có thể là một số ứng dụng tôi sẽ không sử dụng thường xuyên như vậy¹).

Bất kỳ ý tưởng tốt để theo dõi thủ phạm?

-
1. Rõ ràng là tôi muốn thoát khỏi nó, hoặc có thể vá nó nếu tôi không thể sống mà không có nó.

Câu trả lời:


11

Thư mục này có thể được tạo bởi bất kỳ ứng dụng nào tuân theo tiêu chuẩn người dùng Freedesktop . Điều đó có khả năng bao gồm tất cả các ứng dụng Gnome hoặc KDE.

Nếu bạn muốn biết ứng dụng nào tạo tệp, bạn có thể sử dụng hệ thống tệp LoggedFS hoặc hệ thống con kiểm toán Linux . Xem Có thể tìm ra chương trình hoặc tập lệnh nào đã tạo một tệp đã cho không? để biết thêm thông tin.


Vì vậy, câu hỏi của tôi là một bản sao chính xác Cảm ơn!
Stéphane Gimenez

Và câu trả lời của bạn dường như chỉ có một người thực sự trả lời được câu hỏi.
Stéphane Gimenez

@ StéphaneGimenez Về mặt kỹ thuật câu hỏi là một bản sao, nhưng đối với trường hợp cụ thể là câu trả lời phù hợp với hầu hết mọi người là nó được tạo ra bởi một số ứng dụng freedesktop tuân thủ và nó vô dụng để chống lại nó (Tôi đã thử, và sau đó tôi đã tạo ra một ~/.config/user-dirs.dirs). Ví dụ, một nhận xét trong tôi user-dirs.dirsnhắc nhở tôi rằng trên Ubuntu, tôi thấy rằng các thư mục được tạo bằng cách xdg-user-dirs-updategọi từ /etc/Xsession.d/*lúc đăng nhập.
Gilles 'SO- ngừng trở nên xấu xa'

8

Điều này trông giống như một thư mục từ một trong những tiêu chuẩn máy tính để bàn miễn phí . Bất kỳ ứng dụng nào tuân thủ nó đều có thể tạo ra nó.

Những thư mục "tiêu chuẩn" có thể được chỉ định trong $HOME/.config/user-dirs.dirs. Bạn có thể thay đổi tên ở đó để không bắt đầu bằng chữ in hoa và được ẩn ở đâu đó, nhưng việc loại bỏ hoàn toàn sẽ rất khó khăn.

Có một chương trình ( xdg-user-dirs-update) với mục đích là tạo các thư mục đó, xem xdg-users-dirs . Nếu có thể tắt nó bằng cách $HOME/.config/user-dirs.confchứa

enabled=False

Cách giải quyết được hoan nghênh, nhưng tôi muốn biết ứng dụng nào đang tạo thư mục này (tôi muốn bắt nó tại thời điểm thư mục được tạo lại).
Stéphane Gimenez

Cảm ơn, tôi sẽ thử nó. Nhưng tôi chỉ có thể hy vọng rằng ứng dụng không tự tạo thư mục.
Stéphane Gimenez

Bạn đã tìm thấy enabledthông tin này ở đâu? Đọc xdg-users-dirs, điều này dường như không có ảnh hưởng đến kịch bản.
Stéphane Gimenez

Ở đây và sau đó đọc/etc/xdg/user-dirs.conf
AProgrammer

Ok cảm ơn, chương trình đọc tập tin conf là xdg-users-dirs-update.
Stéphane Gimenez

0

Nếu bạn là một môi trường đồ họa hoàn chỉnh trên hộp của bạn (X và một số môi trường máy tính để bàn như Gnome hoặc KDE), chắc chắn đó sẽ là một quá trình của môi trường máy tính để bàn của bạn. Nó có thể sẽ tạo thư mục Desktop mỗi khi bạn đăng nhập. Quá trình chịu trách nhiệm tạo thư mục hoàn toàn phụ thuộc vào môi trường máy tính để bàn mà bạn đang chạy.


Câu hỏi rất chung chung vì đó là một quá trình cô lập. Tôi không sử dụng bất kỳ "môi trường đồ họa" nào, chỉ là một máy chủ X11 với trình quản lý cửa sổ tối thiểu.
Stéphane Gimenez

0

Trên Debian và Ubuntu bạn có thể thấy rằng có một mục user-dirs-update-gtk.desktoptrong /etc/xdg/autostart/.

Loại bỏ mục đó ngăn không cho tạo lại thư mục người dùng.

Được một điều đến từ tiêu chuẩn freedesktop, có thể điều này cũng hoạt động trong các bản phát hành khác.


Không có gì ở đó (nhưng thư mục tồn tại). Tôi đang tìm kiếm một phương thức chung để tìm quá trình nào cố gắng tạo một thư mục cụ thể.
Stéphane Gimenez

@ StéphaneGimenez: ngay từ đầu tôi đã không rõ rằng phương pháp theo dõi vấn đề quan trọng với bạn hơn chính vấn đề.
enzotib

0

Nếu ứng dụng vẫn đang chạy, bạn có thể tìm thấy một tệp đang mở trong thư mục đó bằng lsof. Vì thư mục chỉ là một phần của tên tệp, tôi không nghĩ rằng bạn có thể sử dụng nó làm tham số của lsof, vì vậy bạn cần phải grep cho một phần của nó.

lsof | grep $HOME/Desktop

Điều này không có khả năng hoạt động, vì ứng dụng không có khả năng mở tệp ~/Desktoptại thời điểm bạn chạy lsofvà có thể nó đã tạo thư mục và không làm gì khác bên trong nó.
Gilles 'SO- ngừng trở nên xấu xa'

Do đó "bạn có thể". Các câu trả lời khác về việc ngăn chặn điều này, và nó là các thư viện máy tính để bàn có thể chịu trách nhiệm. Tuy nhiên, có phải một số tệp được tạo như thế này trên thiết bị, tôi đã bắt đầu với phương pháp này và thất bại, bắt đầu mọi thứ với tải trước ld và khẳng định khi họ cố gắng tạo thư mục đó - rõ ràng là quá cực đoan cho câu hỏi này, nhưng vui
Daniel Staple
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.