Aplikasi mana yang harus saya salahkan karena secara kompulsif membuat direktori berulang kali?

21

Ada aplikasi di sistem saya yang terus membuat ~/Desktopdirektori kosong berulang kali. Saya tidak tahan dengan huruf kapital di rumah saya, saya juga tidak tahan dengan "desktop" ini. Jadi, pilih-pilih seperti saya, saya menghapus direktori setiap kali saya melihatnya. Saya benar-benar ingin tahu aplikasi mana yang bertanggung jawab untuk itu (mungkin beberapa aplikasi yang tidak akan sering saya gunakan¹).

Ada ide bagus untuk melacak pelakunya?

-
1. Jelas saya ingin menyingkirkannya, atau mungkin menambalnya jika saya tidak bisa hidup tanpanya.

Stéphane Gimenez
sumber

Jawaban:

11

Direktori ini dapat dibuat oleh aplikasi apa pun yang mengikuti standar userdirs Freedesktop . Itu berpotensi mencakup semua aplikasi Gnome atau KDE.

Jika Anda ingin tahu aplikasi mana yang membuat file, Anda dapat menggunakan sistem file LoggedFS atau subsistem audit Linux . Lihat Apakah mungkin untuk mengetahui program atau skrip apa yang membuat file yang diberikan? untuk informasi lebih lanjut.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Jadi pertanyaan saya adalah duplikat yang tepat ... Terima kasih!
Stéphane Gimenez
Dan jawaban Anda tampaknya hanya ada satu-satunya yang benar-benar menjawab pertanyaan itu.
Stéphane Gimenez
@ StéphaneGimenez Secara teknis pertanyaannya adalah duplikat, tetapi untuk kasus khusus itu jawaban yang tepat bagi kebanyakan orang adalah bahwa itu dibuat oleh beberapa aplikasi yang sesuai dengan Freedesktop dan tidak berguna untuk melawannya (saya mencoba, dan kemudian saya membuat a ~/.config/user-dirs.dirs). Sebagai contoh komentar di saya user-dirs.dirsmengingatkan saya bahwa di Ubuntu, saya menemukan bahwa direktori dibuat dengan xdg-user-dirs-updatedipanggil dari /etc/Xsession.d/*saat login.
Gilles 'SO- stop being evil'
8

Ini terlihat seperti direktori dari salah satu standar desktop gratis . Setiap aplikasi yang sesuai dengan itu bisa membuatnya.

Direktori "standar" tersebut dapat ditentukan dalam $HOME/.config/user-dirs.dirs. Anda dapat mengubah nama di sana bukan untuk memulai dengan huruf kapital dan disembunyikan di suatu tempat, tetapi menyingkirkan sepenuhnya akan sulit.

Ada satu program ( xdg-user-dirs-update) yang tujuannya adalah untuk membuat direktori-direktori itu, lihat xdg-users-dirs . Jika harus dapat menonaktifkannya dengan memiliki yang $HOME/.config/user-dirs.confmengandung

enabled=False
Pemrogram
sumber
Selamat datang, tetapi saya ingin tahu aplikasi mana yang membuat direktori ini (saya ingin menangkapnya saat direktori dibuat lagi).
Stéphane Gimenez
Terima kasih, saya akan mencobanya. Tapi saya hanya bisa berharap aplikasi itu tidak membuat direktori dengan sendirinya.
Stéphane Gimenez
Di mana Anda menemukan enabledinfo ini ? Membaca xdg-users-dirs, ini sepertinya tidak memiliki pengaruh pada naskah sama sekali.
Stéphane Gimenez
Di sini dan kemudian membaca/etc/xdg/user-dirs.conf
Pemrogram
Ok terima kasih, program yang membaca file conf adalah xdg-users-dirs-update.
Stéphane Gimenez
0

Jika Anda adalah lingkungan grafis yang lengkap di kotak Anda (X dan beberapa lingkungan desktop seperti Gnome atau KDE), itu tidak diragukan lagi akan merupakan proses lingkungan desktop Anda. Mungkin akan membuat direktori Desktop setiap kali Anda masuk. Proses yang bertanggung jawab untuk membuat direktori sepenuhnya tergantung pada lingkungan desktop yang Anda jalankan.

Friek
sumber
Pertanyaannya generik karena ini merupakan proses yang terisolasi. Saya tidak menggunakan "lingkungan grafis" apa pun, hanya server X11 dengan window manager yang nyaris tidak ada.
Stéphane Gimenez
0

Di Debian dan Ubuntu Anda bisa melihat ada entri user-dirs-update-gtk.desktopdi /etc/xdg/autostart/.

Menghapus entri itu mencegah membuat direktori pengguna lagi.

Sudah hal yang datang dari standar freedesktop, mungkin ini bekerja di distro lain juga.

enzotib
sumber
Tidak ada di sana (tetapi direktori ada). Saya sedang mencari metode generik untuk menemukan proses yang mencoba untuk membuat direktori tertentu.
Stéphane Gimenez
@ StéphaneGimenez: tidak jelas bagi saya sejak awal bahwa metode untuk melacak masalah lebih penting bagi Anda daripada masalah itu sendiri.
enzotib
0

Jika aplikasi masih berjalan, Anda mungkin dapat menemukan file terbuka di direktori itu menggunakan lsof. Karena direktori ini hanya bagian dari nama file, saya tidak berpikir Anda akan dapat menggunakannya sebagai parameter lsof, jadi Anda perlu mengambil bagian dari itu.

lsof | grep $HOME/Desktop
Danny Staple
sumber
Ini tidak mungkin berfungsi, karena aplikasi tidak mungkin memiliki file terbuka ~/Desktopdi bawah pada saat Anda menjalankan lsof, dan itu mungkin telah membuat direktori dan tidak melakukan hal lain di dalamnya.
Gilles 'SO- stop being evil'
Karena itu "Anda boleh". Jawaban lain untuk mencegah hal ini, dan itu adalah pustaka desktop yang mungkin bertanggung jawab. Namun, seandainya beberapa file dibuat seperti ini di perangkat, saya akan mulai dengan metode ini, dan gagal itu, mulai hal-hal dengan preload ld dan menyatakan ketika mereka mencoba membuat dir itu - jelas terlalu ekstrim untuk pertanyaan ini, tapi menyenangkan.
Danny Staple