Какое приложение я должен обвинить в принудительном создании каталога снова и снова?


21

В моей системе есть приложение, которое ~/Desktopснова и снова создает пустой каталог. Я терпеть не могу заглавные буквы в своем доме, и не могу вынести эту «настольную» штуку. Поэтому, как бы я ни требователен, я удаляю каталог каждый раз, когда вижу его. Мне бы очень хотелось узнать, какое приложение отвечает за это (возможно, какое-то приложение, которое я не буду использовать так часто »).

Есть хорошие идеи, чтобы разыскать виновника?

-
1. Очевидно, я хотел бы избавиться от этого, или, может быть, исправить это, если я не могу жить без этого.

Ответы:


11

Этот каталог может быть создан любым приложением, которое соответствует стандарту Freedesktop userdirs . Это может включать в себя все приложения Gnome или KDE.

Если вы хотите узнать, какое приложение создает файл, вы можете использовать файловую систему LoggedFS или подсистему аудита Linux . См. Можно ли узнать, какая программа или скрипт создал данный файл? за дополнительной информацией.


Так что мой вопрос является точной копией ... Спасибо!
Стефан Гименес

И ваш ответ (ы), кажется, единственный, который действительно отвечает на вопрос.
Стефан Гименес

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

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

Хорошо, спасибо, программа, которая читает файл conf xdg-users-dirs-update.
Стефан Гименес

0

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


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

0

На Debian и Ubuntu вы могли видеть, что есть запись user-dirs-update-gtk.desktopв /etc/xdg/autostart/.

Удаление этой записи не позволяет снова создавать пользовательские каталоги.

Что-то из стандарта freedesktop, вероятно, это работает и в других дистрибутивах.


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

@ StéphaneGimenez: с самого начала мне было непонятно, что метод отслеживания проблемы важнее для вас, чем сама проблема.
энзотиб

0

Если приложение все еще работает, вы можете найти открытый файл в этом каталоге с помощью lsof. Поскольку каталог является только частью имени файла, я не думаю, что вы сможете использовать его в качестве параметра lsof, поэтому вам придется использовать grep для его части.

lsof | grep $HOME/Desktop

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

Отсюда «вы можете». Другие ответы о том, как это предотвратить, и, вероятно, за это отвечают библиотеки настольных ПК, вероятно, имеют смысл. Тем не менее, если бы какой-то файл создавался на устройстве таким образом, я бы начал с этого метода, а в противном случае начинал бы с предзагрузки ld и утверждал, когда пытались создать этот каталог - очевидно, слишком экстремальный для этого вопроса, но весело.
Дэнни Стейпл
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.