Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-12-2009
Avatar de matabyte
matabyte matabyte is offline
Miembro
 
Registrado: ene 2008
Ubicación: Kyoto, Japon
Posts: 177
Poder: 17
matabyte Va por buen camino
Question asignar una extension a mi programa en linux.

Buenas, pues no se si esta pregunta va aqui o en linux, ya que estoy trabajando con lazarus y linux.

El asunto es que en windows, si queremos asignar una extension a un programa, modificamos el registro. Pero en linux no tengo ni idea de como hacerlo. Ojo, me refiero a como hacerlo programandolo desde lazarus a mano ya se

Alguien sabe como hacerlo? hay algo parecido al registro en linux? Saludoos!!
Responder Con Cita
  #2  
Antiguo 18-12-2009
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por suerte, no, no hay algo parecido al registro de windows

En linux no son necesarias las extensiones porque el sistema "mira" el fichero y ya sabe de qué tipo es. Así que las extensiones sólo nos sirven a nosotros, para poder identificarlas más cómodamente.
Aunque seguramente se pueda hacer lo que quieres, la verdad es que no estoy informado sobre eso.
Responder Con Cita
  #3  
Antiguo 18-12-2009
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Por suerte, no, no hay algo parecido al registro de windows
100% de acuerdo .

Ahora, con respecto a las extensiones, en linux tienes dos formas de hacer lo que quieres (o al menos son las dos que yo conozco ), estas son:
  1. Llamada a la aplicación desde adentro del fichero
    Seguramente en alguna ocasión has visto un fichero .sh o script bash con una línea como esta la inicio del archivo:
    Código:
    #!/bin/sh
    Esta línea le indica a la consola que el archivo debe pasarlo como parámetro a la aplicación "sh" que se encuentra en el directorio "/bin/", por lo tanto, lo que debes hacer es cambiar "/bin/sh" por la ruta de tu aplicación.

    Esta es la forma mas "simple" de hacerlo, pero no por ello deja de ser funcional.

  2. Registrando un "Mime-Type"
    Esta opción requieres que crees un archivo xml con la definición de tu "Mime-Type" y lo debes guardar en /usr/share/mime-info (si mal no recuerdo).

    Más información de como realizarlo de esta manera lo encuentras en este link:
    http://standards.freedesktop.org/sha...ec-latest.html

No está de mas agregar también que de manera similar a la segunda opción puedes crear un xml para definir los íconos para las extensiones de tus archivos.

Saludos.
Responder Con Cita
  #4  
Antiguo 19-12-2009
Avatar de mg1821
mg1821 mg1821 is offline
Miembro
 
Registrado: may 2003
Ubicación: lima
Posts: 69
Poder: 21
mg1821 Va por buen camino
Para que alguien intentaria cambiar la extension?. si alguien me puede dar una idea ya que de algo podria servir.

gracias
__________________
mg1821
Responder Con Cita
  #5  
Antiguo 19-12-2009
Avatar de matabyte
matabyte matabyte is offline
Miembro
 
Registrado: ene 2008
Ubicación: Kyoto, Japon
Posts: 177
Poder: 17
matabyte Va por buen camino
Cita:
Empezado por mg1821 Ver Mensaje
Para que alguien intentaria cambiar la extension?. si alguien me puede dar una idea ya que de algo podria servir.

gracias
Pues por ejemplo para que un programa que hagas que tenga tu propia extensión de archivo, al hacer doble click en un archivo con una extensión de tu programa, se abra automáticamente.

Gracias a todos por las respuestas, a ver si puedo echar un poco mas de luz :S
Responder Con Cita
  #6  
Antiguo 20-12-2009
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Dependiendo del escritorio (GNome, KDE, Xfce, etc.), se puede configurar el administrador de archivos para que asocie ciertas extensiones a ciertos programas. Muchas veces, pulsando con el botón secundario (derecho) del ratón sobre el archivo y se pulsa sobre "Abrir con otra aplicación..." permite realizar este cambio.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #7  
Antiguo 28-12-2009
Avatar de matabyte
matabyte matabyte is offline
Miembro
 
Registrado: ene 2008
Ubicación: Kyoto, Japon
Posts: 177
Poder: 17
matabyte Va por buen camino
Cita:
Empezado por Ñuño Martínez Ver Mensaje
Dependiendo del escritorio (GNome, KDE, Xfce, etc.), se puede configurar el administrador de archivos para que asocie ciertas extensiones a ciertos programas. Muchas veces, pulsando con el botón secundario (derecho) del ratón sobre el archivo y se pulsa sobre "Abrir con otra aplicación..." permite realizar este cambio.
Hombre, eso ya lo se , me refiero a poder hacer que al instalar mi programa echo en lazarus para linux se asocie una extensión de archivo para que pueda ser abierto por mi programa
Responder Con Cita
  #8  
Antiguo 28-12-2009
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puede que no te hayamos entendido bien, pero si compilas con lazarus, lo que obtienes es un "ejecutable" que no necesita extensión alguna porque el propio sistema operativo ya sabe que es un ejecutable, por lo que no es necesario hacer nada al respecto.
Ahora bien, si lo que dices es que desde tu programa quieres abrir otros ficheros, ¿para qué necesitas una extensión?, lo abres y listo, no?
Responder Con Cita
  #9  
Antiguo 29-12-2009
Avatar de matabyte
matabyte matabyte is offline
Miembro
 
Registrado: ene 2008
Ubicación: Kyoto, Japon
Posts: 177
Poder: 17
matabyte Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Puede que no te hayamos entendido bien, pero si compilas con lazarus, lo que obtienes es un "ejecutable" que no necesita extensión alguna porque el propio sistema operativo ya sabe que es un ejecutable, por lo que no es necesario hacer nada al respecto.
Ahora bien, si lo que dices es que desde tu programa quieres abrir otros ficheros, ¿para qué necesitas una extensión?, lo abres y listo, no?
Lo que quiero es que el usuario, al hacer click derecho sobre un archivo de mi extensión (.afa), aparezca la opción para que se abra desde mi programa, o que el usuario haga doble click sobre un archivo de mi extensión y que se lanze el programa automáticamente. Vamos, como en windows, pero en windows se realizaba el registro de extensiones por medio del registro, y por lo que veo, en linux en un poco mas complicado
Responder Con Cita
  #10  
Antiguo 29-12-2009
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por matabyte Ver Mensaje
[..] y por lo que veo, en linux en un poco mas complicado
Seguramente te ocurre como a mí me ha pasado con muchas cosas, que finalmente descubres que es muy fácil, tan sólo que hasta que lo descubres... uno se desespera

En ubuntu, creo que debes añadir tu extensión a esta lista:
Cita:
/usr/share/applications/defaults.list
Responder Con Cita
  #11  
Antiguo 02-01-2010
Avatar de matabyte
matabyte matabyte is offline
Miembro
 
Registrado: ene 2008
Ubicación: Kyoto, Japon
Posts: 177
Poder: 17
matabyte Va por buen camino
Al final he visto que la única forma de hacerlo es a la hora de instalar el programa con los archivos .xml de definición del tipo mime y ejecutar un comando para que actualice la base de datos mime, a la vez que se utiliza un archivo .desktop en el que se pone el tipo mime que soporta la aplicación.

Es un poco más lioso que en windows y tiene la desventaja de no poder asignar y des-asignar las extensiones en tiempo de ejecución.

Gracias a todos, ya he terminado el porte del astrotite a lazarus-linux. Si quereis podeis probarlo con este .deb o este .tar.gz

(Espero que os funcione por fin )
__________________
Donde Trabajo ahora --> http://cct-inc.co.jp/
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Establecer un programa para una extension Khronos Varios 10 17-08-2007 01:43:51
Probad este programa para visualizar vuestros archivos con extensión 3ds kakarotv5 Gráficos 0 26-02-2007 14:26:57
Crear carpeta en Linux y asignar permisos kikecg Varios 0 18-12-2006 12:23:30
Asignar parametros al programa dada API de Windows 3 25-06-2006 19:57:01
programa windows en Linux gasal Linux 0 05-07-2004 14:24:19


La franja horaria es GMT +2. Ahora son las 09:23:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi