Welche Anwendung soll ich beschuldigen, wenn ich immer wieder ein Verzeichnis zwanghaft anlege?

21

Auf meinem System befindet sich eine Anwendung, die immer wieder ein leeres ~/DesktopVerzeichnis erstellt. Ich kann weder Großbuchstaben in meinem Zuhause noch dieses „Desktop“ -Ding ertragen. So wählerisch ich auch bin, ich entferne das Verzeichnis jedes Mal, wenn ich es sehe. Ich würde wirklich gerne wissen, welche Anwendung dafür verantwortlich ist (wahrscheinlich eine Anwendung, die ich nicht so oft verwende¹).

Irgendwelche guten Ideen, um den Täter aufzuspüren?

-
1. Offensichtlich möchte ich es loswerden oder es vielleicht flicken, wenn ich ohne es nicht leben kann.

Stéphane Gimenez
quelle

Antworten:

11

Dieses Verzeichnis kann von jeder Anwendung erstellt werden, die dem Freedesktop-Userdirs-Standard folgt . Dies schließt möglicherweise alle Gnome- oder KDE-Anwendungen ein.

Wenn Sie wissen möchten , welche Anwendung die Datei erstellt, können Sie das verwenden LoggedFS - Dateisystem oder das Linux - Audit - Subsystem . Siehe Ist es möglich herauszufinden, mit welchem ​​Programm oder Skript eine bestimmte Datei erstellt wurde? für mehr Informationen.

Gilles 'SO - hör auf böse zu sein'
quelle
Meine Frage ist also ein genaues Duplikat ... Danke!
Stéphane Gimenez
Und Ihre Antwort (en) scheint (n) die einzige (n) zu sein, die die Frage tatsächlich beantworten.
Stéphane Gimenez
@ StéphaneGimenez Technisch gesehen ist die Frage ein Duplikat, aber für diesen speziellen Fall ist die richtige Antwort für die meisten Menschen, dass sie von einer Freedesktop-kompatiblen Anwendung erstellt wurde und es nutzlos ist, sie zu bekämpfen (ich habe es versucht und dann habe ich eine erstellt ~/.config/user-dirs.dirs). Ein Kommentar in meinem user-dirs.dirserinnert mich beispielsweise daran, dass ich bei Ubuntu festgestellt habe, dass die Verzeichnisse durch xdg-user-dirs-updateAufruf von /etc/Xsession.d/*zum Zeitpunkt der Anmeldung erstellt wurden.
Gilles 'SO- hör auf böse zu sein'
8

Dies sieht aus wie ein Verzeichnis von einem der kostenlosen Desktop-Standards . Jede Anwendung, die damit kompatibel ist, kann es erstellen.

Diese "Standard" -Verzeichnisse können in angegeben werden $HOME/.config/user-dirs.dirs. Sie können den Namen dort ändern, um nicht mit einem Großbuchstaben zu beginnen und irgendwo versteckt zu sein, aber es wird schwierig sein, ihn vollständig loszuwerden.

Es gibt ein Programm ( xdg-user-dirs-update), dessen Ziel es ist, diese Verzeichnisse zu erstellen, siehe xdg-users-dirs . Sollte in der Lage sein, es durch ein $HOME/.config/user-dirs.confContaining zu deaktivieren

enabled=False
Ein Programmierer
quelle
Problemumgehungen sind willkommen, aber ich möchte wissen, welche Anwendung dieses Verzeichnis erstellt (ich möchte es abfangen, sobald das Verzeichnis erneut erstellt wird).
Stéphane Gimenez
Danke, ich werde das versuchen. Ich kann aber nur hoffen, dass die Anwendung das Verzeichnis nicht selbst erstellt.
Stéphane Gimenez
Wo haben Sie diese enabledInformationen gefunden? Beim Lesen xdg-users-dirsscheint dies überhaupt keinen Einfluss auf das Drehbuch zu haben.
Stéphane Gimenez
Hier und dann lesen/etc/xdg/user-dirs.conf
AProgrammer
Ok danke, das Programm, das die conf-Datei liest, ist xdg-users-dirs-update.
Stéphane Gimenez
0

Wenn Sie eine vollständige grafische Umgebung auf Ihrer Box haben (X und einige Desktop-Umgebungen wie Gnome oder KDE), ist dies zweifellos ein Prozess Ihrer Desktop-Umgebung. Wahrscheinlich wird das Desktop-Verzeichnis jedes Mal erstellt, wenn Sie sich anmelden. Der für die Erstellung des Verzeichnisses verantwortliche Prozess hängt vollständig von der Desktop-Umgebung ab, die Sie ausführen.

Friek
quelle
Die Frage war allgemein, weil es sich um einen isolierten Prozess handelt. Ich verwende keine "grafische Umgebung", sondern nur einen X11-Server mit einem kaum minimalen Fenstermanager.
Stéphane Gimenez
0

Auf Debian und Ubuntu konnte man sehen, dass es einen Eintrag user-dirs-update-gtk.desktopin gibt /etc/xdg/autostart/.

Durch das Entfernen dieses Eintrags wird verhindert, dass Benutzerverzeichnisse erneut erstellt werden.

Wurde eine Sache aus Freedesktop Standard, ist es wahrscheinlich, dass dies auch in anderen Distributionen funktioniert.

Enzotib
quelle
Nichts da (aber das Verzeichnis existiert). Ich suchte nach einer generischen Methode, um herauszufinden, welcher Prozess versucht, ein bestimmtes Verzeichnis zu erstellen.
Stéphane Gimenez
@ StéphaneGimenez: Mir war von Anfang an nicht klar, dass die Methode, um das Problem aufzuspüren, für Sie wichtiger war als das Problem selbst.
Enzotib
0

Wenn die Anwendung noch ausgeführt wird, können Sie möglicherweise mithilfe von lsof eine geöffnete Datei in diesem Verzeichnis finden. Da das Verzeichnis nur ein Teil des Dateinamens ist, glaube ich nicht, dass Sie es als lsof-Parameter verwenden können, also müssen Sie nach einem Teil greifen.

lsof | grep $HOME/Desktop
Danny Staple
quelle
Es ist unwahrscheinlich, dass dies funktioniert, da in der Anwendung ~/Desktopzum Zeitpunkt der Ausführung wahrscheinlich keine Datei geöffnet lsofist. Möglicherweise wurde das Verzeichnis erstellt und es wurden ohnehin keine weiteren Aktionen ausgeführt.
Gilles 'SO- hör auf böse zu sein'
Daher das "du darfst". Die anderen Antworten zur Verhinderung dieses Problems und die wahrscheinlich verantwortlichen Desktop-Bibliotheken sind sinnvoll. Wäre es jedoch eine Datei, die so auf einem Gerät erstellt wird, würde ich mit dieser Methode beginnen und andernfalls die Dinge mit einem ld-Preload starten und behaupten, als sie versuchten, dieses Verzeichnis zu erstellen - offensichtlich viel zu extrem für diese Frage. aber Spaß.
Danny Staple