¿Cómo se llaman aplicaciones portátiles por el sistema cuando sea necesario (por ejemplo, asociación de archivos)?

StackOverflow https://stackoverflow.com/questions/4643642

Pregunta

Hay algunas implementaciones de aplicaciones portátiles en Linux, pero parece que todos aplicaciones de Mac OS X son portátiles. Desde Mac OS X abarca por completo este modelo, estoy asumiendo que ya tienen una solución a este problema.

Debido a que Windows "instala" Aplicaciones de la colocación de archivos por todo el lugar, y cambiar las cosas en el registro, las asociaciones de archivos se pueden hacer fácilmente. Pero, digamos que acaba de descargar MPlayer para Mac OS X (o lo que sea). Quiero que todos mis películas se abran en MPlayer. Entonces, decido mover paquete de aplicaciones de MPlayer (bueno, es portátil, ¿verdad?). Se romperá asociación? O es que no se como se hace en absoluto en OS X?

¿Cómo se podría implementar aplicaciones portátiles en Linux? ¿Debería ser similar al modelo de OS X? Sé que esto es una pregunta muy abierta, pero cualquier sugerencia se aprecian.

¿Fue útil?

Solución

base de datos de servicios de lanzamiento de OS X realiza un seguimiento de los enlaces de documentos de varias maneras, en general, se hace todo lo posible para tratar de coincidir con una aplicación incluso si se ha mudado a él.

Puede ejecutar lsregister -dump (lsregister es /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister) para ver lo que la base de datos de Servicios de Lanzamiento dice sobre un enlace. Por ejemplo, si se unen los archivos de texto para abrir con TextWrangler, veo:

handler id:            3124
    content type:  public.plain-text
    options:       
    all roles:     com.barebones.textwrangler (0x3ea30180)

public.plain-text es un Uniforme Identificador de Tipo (que se asigna a una o más extensiones de archivo, tipos MIME, etc., y pueden tener subtipos) que representa texto plano, y com.barebones.textwrangler es el ID de paquete de TextWrangler.

No estoy al tanto de cualquier estándar de Linux tan robusto como este para la unión a hacer algo como el Mac documento, en primer lugar no había necesidad de ser un método estándar para identificar las aplicaciones independientemente de su ubicación o el nombre (como el Java empaquetar-como / método en el Mac inversa DNS), a continuación, un registro de las asignaciones de tipos y los enlaces que fue seguido por un número suficiente entornos de escritorio para ser útil, y de alguna manera de registrar las aplicaciones a medida que se instalan.

Usted no necesita necesariamente archivos separados, como Info.plist en paquetes de aplicaciones de Mac, para almacenar esta información; incluso en Mac OS X puede incrustar información en una sección binaria que lanzar servicios de índices muy bien (nótese que esto no es un "tenedor" separada o atributo extendido, es como la incorporación de la información de depuración en un archivo ejecutable). Así que tal vez algún derivado de los archivos .desktop podría ser embebido. En el otro extremo, se necesitaría una forma de reconocer el contenido. Lo ideal sería incluso capaz de hacer oler el contenido como el comando file(1) para identificar un tipo de documento; Mac OS clásico hizo esto con el Gerente de Traducción (que permite el registro de los convertidores de un formato a otro, así como sniffers).

ITU y el mango traducción Manager (d) portapapeles y arrastrar y soltar contenido, así como archivos en disco; la unificación de estas representaciones de formato es muy útil mientras estás en ello.

Otros consejos

Cada explorador de archivos (por ejemplo Nautilus, Konqueror) tendría que ser configurado para utilizar sus propias asociaciones de archivos. Afortunadamente, el proyecto de escritorio gratuito ha estado trabajando en la estandarización de las asociaciones de archivos (entre muchas otras cosas). De acuerdo con la Descripción MIME base de datos compartida , sin especificación formal se ha escrito todavía , pero el formato es más o menos estandarizada.

El proyecto de desktop gratis también utiliza archivos .desktop para proporcionar "portabilidad" (tal vez debería usar otra palabra para esto ... quizá "móvil"?). Si se mueve el ejecutable fuera de PATH, puede actualizar la .desktop a punto a la ubicación correcta.

Básicamente, hay una gran cantidad de trabajos en curso en la comunidad Linux avanzar hacia formas más fáciles de usar y revelador-amistosas (es decir estandarizados) de lograr estos objetivos. Pero las cosas no se hacen todavía.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top