Яку програму я повинен звинувачувати у примусовому створенні каталогу знову і знову?


21

У моїй системі є додаток, який постійно ~/Desktopі знову створює порожній каталог. Я не витримую великих букв у своєму будинку, а також не можу витримати цю «настільну» річ. Отже, такий вибагливий, як і я, я видаляю каталог кожен раз, коли його бачу. Я дуже хотів би дізнатися, яка програма відповідає за це (напевно, якусь програму я не буду використовувати так часто¹).

Будь-які хороші ідеї, щоб знайти винуватця?

-
1. Очевидно, що я хотів би позбутися цього, а може, і закріпити його, якщо я не можу жити без нього.

Відповіді:


11

Цей каталог може бути створений будь-якою програмою, яка відповідає стандарту користувальницьких файлів Freedesktop . Це потенційно включає всі програми Gnome або KDE.

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


Тож моє запитання - точний дублікат ... Дякую!
Стефан Гіменез

І ваша відповідь, здається, є єдиним, хто насправді відповідає на питання.
Стефан Гіменез

@ StéphaneGimenez Технічно питання є дублікатом, але для конкретного випадку правильною відповіддю для більшості людей є те, що він створений яким-небудь додатком, сумісним Freedesktop, і боротися з ним марно (я спробував, а потім створив ~/.config/user-dirs.dirs). Наприклад, мій коментар user-dirs.dirsнагадує мені, що в Ubuntu я виявив, що каталоги створюються за допомогою xdg-user-dirs-updateвиклику /etc/Xsession.d/*під час входу.
Жил 'SO- перестань бути злим'

8

Це схоже на каталог із одного із безкоштовних стандартів на робочий стіл . Будь-яка програма, сумісна з ним, може створювати його.

Ці "стандартні" каталоги можна вказати в $HOME/.config/user-dirs.dirs. Ви можете змінити ім'я там, щоб не починати з великої літери і бути десь схованим, але позбутися повністю буде складно.

Є одна програма ( xdg-user-dirs-update), метою якої є створення цих каталогів, див. Xdg-users-dirs . Якщо має бути можливість деактивувати його, маючи $HOME/.config/user-dirs.confмістити

enabled=False

Обхідні шляхи вітаються, але я хотів би знати, яка програма створює цей каталог (я хотів би зафіксувати його в момент створення каталогу знову).
Стефан Гіменез

Спасибі, я спробую це. Але я можу лише сподіватися, що програма не створює каталог сам по собі.
Стефан Гіменез

Де ви знайшли цю enabledінформацію? Читаючи xdg-users-dirs, це, здається, зовсім не впливає на сценарій.
Стефан Гіменез

Ось і тоді читаємо/etc/xdg/user-dirs.conf
AProgrammer

Добре дякую, програма, яка читає конф-файл xdg-users-dirs-update.
Стефан Гіменез

0

Якщо ви являєте собою повне графічне середовище у вашій коробці (X та деяке середовище робочого столу, наприклад, Gnome або KDE), це, безсумнівно, є процесом вашого робочого середовища. Він, ймовірно, створить каталог Desktop кожного разу при вході в систему. Процес, відповідальний за створення каталогу, повністю залежить від того, яке середовище робочого столу ви працюєте.


Питання було загальним, оскільки це ізольований процес. Я не використовую жодного "графічного середовища", просто сервер X11 з ледь мінімальним менеджером вікон.
Стефан Гіменез

0

На Debian і Ubuntu ви могли побачити, що є запис user-dirs-update-gtk.desktopу /etc/xdg/autostart/.

Видалення цього запису заважає знову створювати каталоги користувачів.

Реч, що виходить із стандарту freedesktop, цілком ймовірно, що це працює і в інших дистрибутивах.


Нічого там (але каталог існує). Я шукав загальний метод, щоб знайти, який процес намагається створити певний каталог.
Стефан Гіменез

@ StéphaneGimenez: мені від самого початку було не ясно, що метод відстеження проблеми для вас важливіший, ніж сама проблема.
enzotib

0

Якщо програма все ще працює, ви, можливо, зможете знайти відкритий файл у цьому каталозі за допомогою lsof. Оскільки каталог є лише частиною імені файлу, я не думаю, що ви зможете використовувати його як параметр lsof, тому вам потрібно буде отримати частину цього файлу.

lsof | grep $HOME/Desktop

Це навряд чи вдасться, тому що програма навряд чи матиме відкритий файл під ~/Desktopчас запуску lsof, і він цілком може створити каталог і нічого не робити всередині нього.
Жил "ТАК - перестань бути злим"

Звідси і "ви можете". Інші відповіді щодо запобігання цьому, і це, мабуть, відповідальні бібліотеки, мають сенс. Однак якщо б якийсь файл створювався таким чином на пристрої, я б почав із цього методу, і, якщо цього не вдалося, запустити речі з попереднім завантаженням ld та затвердити, коли вони намагалися створити цей dir - очевидно, занадто екстремальне для цього питання, але весело.
Danny Staple
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.