¿Cómo cambio asociaciones de files desde la línea de command?

El sistema en cuestión es Solaris, que utiliza la interfaz de tipo Gnome (Java Desktop Environment). Tenemos problemas ocasionales con los usuarios que logran arruinar sus asociaciones de files (más notablemente .tif). Tratando de averiguar qué files editar desde una línea de command para cambiar esas asociaciones de files. (ya que iniciar session gráficamente para usar las herramientas de escritorio puede ser un problema remoto).

Xdg-utils se usa para configurar (tipo de) entornos de escritorio en términos de cosas como qué aplicación abre qué tipo de file. Una vez tuve (maldición, no puedo encontrarlo ahora, intentaré rastrearlo y publicarlo) un guión que funciona como el command abierto de Mac OS X. Usó principalmente xdg-open .

Tenga en count que esto no es específico de Gnome; Xdg-utils funciona con, por ejemplo, KDE, Xfce, fluxbox, etc.

¡Buena suerte!

Debes editar /usr/share/applications/default.list . El formatting debe ser obvio, diviértete;)

ps puede haber una herramienta de command-line de la que no estoy enterado, que hace esto por ti … Me gusta sed;)

Actualización: esta location particular a menudo es correcta para las instalaciones de Ubuntu y algunos otros sistemas operativos donde gnome es el administrador de windows pnetworkingeterminado (aunque a veces se encuentra en /usr/share/gnome/applications/ .

Si tiene suerte, usará las variables de entorno XDG_ *, que se explican aquí: http://developer.gnome.org/menu-spec/

Si no está allí y no tienes esas variables de entorno establecidas, puedes intentar usar find:

find / -name default.list 2> /dev/null

A veces, se usa un sistema ligeramente diferente; En mi computadora portátil utilizo LXDE (que recomiendo, por cierto), /usr/share/applications contiene files .desktop, la creación de uno nuevo en este directory agrega elementos al menu, el contenido del file dicta dónde, cómo se llama y qué ejecuta (e ícono, etc.) Este sistema también tiene un uso generalizado, pruebe el command find para ver si su sistema tiene files .desktop. Copie uno a un nuevo file y modifíquelo (la manera más fácil).

find / -name "*.desktop" 2> /dev/null

Si aún no puede resolverlo, creo que deberá dar más información sobre por qué su versión de Linux, la versión de administrador de windows, etc.