¿Cómo puedo encontrar archivos * .desktop?

85

Que yo sepa, todos los accesos directos en Unity Launcher tienen un archivo * .desktop correspondiente. Tengo un acceso directo (para skrooge ) que no tiene un icono. ¿Cómo puedo encontrar el archivo * .desktop correspondiente a este acceso directo para poder agregarle un icono?

KOVIKO
fuente

Respuestas:

113

Probablemente esté sentado, /usr/share/applications/pero si desea encontrar todos los .desktoparchivos en el sistema, ejecute esto:

find / -name '*.desktop'

o

sudo updatedb
locate *.desktop

Para buscar archivos con "skrooge" en su ruta o nombre, agregue un grep al comando:

locate *.desktop | grep -iR "skrooge"
Oli
fuente
21
locate -i "*skrooge*.desktop". Aunque principalmente hay tres lugares en donde la unidad buscará archivos de escritorio. ~/.local/share/applications, /usr/local/share/applicationsY /usr/share/applications. Si hay archivos de escritorio para el mismo comando en varios lugares, usará el extremo izquierdo de los tres que enumeré.
geirha
Apareció como /usr/share/applications/kde4/skrooge.desktop. Gracias. :)
KOVIKO
33

El sistema almacena los archivos .desktop en /usr/share/applications/. Desafortunadamente, si abre esa carpeta en nautilus, los archivos .desktop aparecen con el icono especificado en el archivo y con el nombre del archivo llamado dentro del archivo. Tampoco se le permitirá editar estos archivos haciendo clic en ellos y seleccionando editar.

Para editar estos archivos, debe abrir esa carpeta dentro de una ventana de terminal. Hacer un lscomando mostrará todos los archivos .desktop con sus nombres reales. Cuando encuentre el .desktop que desea cambiar, ejecute gksudo gedit {file-name}.desktop.

Es una práctica normal mantener los archivos .desktop que cree o edite en su carpeta de inicio ~/.local/share/applications.

fragos
fuente
Ejecutar desde la terminal puede ser más útil para algunos, pero también es posible arrastrar desde nautilus a gedit u otro editor de texto.
Jon Hanna
¿Cuál es el punto del directorio "~ / .local / share / aplicaciones"? Parece que no se usan archivos, no puedo agregarlos como "acceso directo" a Unity.
Malachiasz
2
@Malachiasz En realidad, los archivos * .desktop de ~/.local/share/applicationsse vuelven a cargar cuando se reinicia la sesión. Por lo tanto, cierre la sesión y vuelva a iniciarla. Tenga en cuenta que estos son específicos de ese usuario.
akshay2000
También encontré este Q & A aquí en el sitio útil: Cómo forzar la recarga de la Unidad ~ / .local / share / applications /
hakre
8

Algunos detalles adicionales para complementar las otras respuestas:

Por lo general, los .desktoparchivos para paquetes se ubicarán en /usr/share/applications.

Si lo desea, puede copiar uno ~/.local/share/applicationsy editarlo allí sin necesidad de sudo . Los productos en ~/.local/share/applicationsse anulan los artículos a juego en /usr/share/applicationsy /usr/local/share/applications, pero sólo son visibles para el usuario.

Alternativamente, puede colocar una copia editada en la /usr/local/share/applicationsque anulará cualquier parte y /usr/share/applicationsal mismo tiempo será visible para todo el sistema.

Tenga en cuenta que no debe editar los .desktoparchivos /usr/share/applicationsdirectamente; cualquier cambio que realice se sobrescribirá automáticamente cuando el administrador de paquetes actualice la aplicación.

Extraído de aquí

Sopalajo de Arrierez
fuente
+1, la respuesta más completa de todas ellas
Jon Bentley