Quale applicazione dovrei incolpare per la creazione compulsiva di una directory ancora e ancora?


21

C'è un'applicazione sul mio sistema che continua a creare una ~/Desktopdirectory vuota ancora e ancora. Non sopporto le lettere maiuscole nella mia casa, né posso sopportare questa cosa da "desktop". Quindi, per quanto io sia esigente, rimuovo la directory ogni volta che la vedo. Mi piacerebbe davvero sapere quale applicazione è responsabile (probabilmente qualche applicazione che non userò così spesso¹).

Qualche buona idea per rintracciare il colpevole?

-
1. Ovviamente mi piacerebbe liberarmene, o forse rattopparlo se non posso vivere senza di esso.

Risposte:


11

Questa directory può essere creata da qualsiasi applicazione che segue lo standard UserDirs di Freedesktop . Ciò include potenzialmente tutte le applicazioni Gnome o KDE.

Se si desidera sapere quale applicazione crea il file, è possibile utilizzare il filesystem LoggedFS o il sottosistema di controllo Linux . Vedi È possibile scoprire quale programma o script ha creato un determinato file? per maggiori informazioni.


Quindi la mia domanda è un duplicato esatto ... Grazie!
Stéphane Gimenez,

E le tue risposte sembrano essere le uniche a rispondere effettivamente alla domanda.
Stéphane Gimenez,

@ StéphaneGimenez Tecnicamente la domanda è un duplicato, ma per quel caso particolare la risposta giusta per la maggior parte delle persone è che è stata creata da un'applicazione compatibile con Freedesktop ed è inutile combatterla (ho provato e poi ho creato una ~/.config/user-dirs.dirs). Ad esempio un commento nel mio user-dirs.dirsmi ricorda che su Ubuntu, ho scoperto che le directory sono create da xdg-user-dirs-updatechiamate da /etc/Xsession.d/*al momento del login.
Gilles 'SO- smetti di essere malvagio' il

8

Sembra una directory di uno degli standard desktop gratuiti . Qualsiasi applicazione compatibile potrebbe crearla.

Quelle directory "standard" possono essere specificate in $HOME/.config/user-dirs.dirs. Puoi cambiare il nome lì per non iniziare con una lettera maiuscola e per essere nascosto da qualche parte, ma liberarti totalmente di sarà difficile.

C'è un programma ( xdg-user-dirs-update) il cui scopo è quello di creare quelle directory, vedi xdg-users-dirs . Se dovrebbe essere in grado di disattivarlo avendo un $HOME/.config/user-dirs.confcontenimento

enabled=False

Le soluzioni alternative sono benvenute, ma mi piacerebbe sapere quale applicazione sta creando questa directory (mi piacerebbe prenderla nel momento in cui la directory viene creata di nuovo).
Stéphane Gimenez,

Grazie, ci proverò. Ma posso solo sperare che l'applicazione non stia creando la directory da sola.
Stéphane Gimenez,

Dove hai trovato queste enabledinformazioni? Leggendo xdg-users-dirs, questo sembra non avere alcuna influenza sulla sceneggiatura.
Stéphane Gimenez,

Qui e poi leggendo/etc/xdg/user-dirs.conf
AProgrammer

Ok grazie, il programma che legge il file conf è xdg-users-dirs-update.
Stéphane Gimenez,

0

Se sei un ambiente grafico completo sulla tua scatola (X e alcuni ambienti desktop come Gnome o KDE), senza dubbio sarà un processo del tuo ambiente desktop. Probabilmente creerà la directory Desktop ogni volta che accedi. Il processo responsabile della creazione della directory dipende completamente dall'ambiente desktop in esecuzione.


La domanda era generica perché è un processo isolato. Non sto usando alcun "ambiente grafico", solo un server X11 con un gestore delle finestre a malapena minimale.
Stéphane Gimenez,

0

Su Debian e Ubuntu potresti vedere che c'è una voce user-dirs-update-gtk.desktopin /etc/xdg/autostart/.

La rimozione di quella voce impedisce di creare nuovamente le directory degli utenti.

Stato proveniente dallo standard freedesktop, è probabile che funzioni anche in altre distro.


Niente lì (ma la directory esiste). Stavo cercando un metodo generico per trovare quale processo tenta di creare una directory specifica.
Stéphane Gimenez,

@ StéphaneGimenez: non mi è stato chiaro fin dall'inizio che il metodo per rintracciare il problema era più importante per te del problema stesso.
enzotib,

0

Se l'applicazione è ancora in esecuzione, potresti essere in grado di trovare un file aperto in quella directory usando lsof. Dato che la directory è solo una parte del nome del file, non penso che saresti in grado di usarlo come parametro di lsof, quindi dovresti fare grep per una parte di esso.

lsof | grep $HOME/Desktop

È improbabile che ciò funzioni, poiché è improbabile che l'applicazione abbia un file aperto ~/Desktopal momento dell'esecuzione lsofe potrebbe aver creato la directory e comunque fatto nient'altro al suo interno.
Gilles 'SO- smetti di essere malvagio' il

Da qui il "puoi". Le altre risposte sulla prevenzione di questo, ed è probabilmente le librerie desktop che sono probabilmente responsabili. Tuttavia, se un file venisse creato in questo modo su un dispositivo, inizierei con questo metodo e, in mancanza, inizierei le cose con un precarico e affermando quando hanno provato a creare quella directory, ovviamente troppo estrema per questa domanda, ma divertente.
Danny Staple,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.