¿Cómo configurar el programa predeterminado para abrir un cierto tipo de archivo en una determinada carpeta?

21

Además de ser un Panda, también soy artista, hago mis ilustraciones principalmente en GIMP y guardo mis imágenes en cierto directorio de mi computadora. Sin embargo, tengo un pequeño inconveniente porque guardo mis imágenes en formato jpeg , sin embargo, el programa predeterminado para abrir jpeg s es Image Viewer , y si lo cambio a GIMP para su conveniencia con mi obra de arte, significa que todos los demás jpeg s en mi computadora se abren en GIMP , y no los quiero así que aquí es donde comienza el problema ...

Así que me pregunto si hay alguna forma de hacerlo para que todo jpeg s abierto en ese directorio en mi computadora se abra en GIMP , pero todos los demás jpeg s en cualquier otro lugar se abran en Image Viewer ?

    
pregunta Braiam 28.12.2015 - 12:17

1 respuesta

21

Necesita un archivo desktop y un script de contenedor:

  1. El archivo desktop

    • Crear un archivo de escritorio

      nano ~/.local/share/applications/jpeg-wrapper.desktop
      
    • Agregue la configuración siguiente (cambie la propiedad para Name )

      [Desktop Entry]
      Name=Special or Standard
      Comment=Open a JPEG depending of the path
      Exec=/home/user/bin/jpeg-wrapper %f
      Icon=
      Terminal=false
      Type=Application
      Categories=Editor;
      StartupNotify=true
      MimeType=image/jpeg;
      
    • Reemplazar user en Exec=/home/user/bin/jpeg-wrapper %f con su nombre de usuario, el resultado de

      echo $USER
      
    • Reemplace el nombre del icono en Icon= con un nombre o una ruta de su elección

    • Use MimeType=image/jpeg para especificar los tipos de archivos mime para los cuales se aplicará la decisión. Separe los tipos de mime múltiples a través de ;

      Obtener el tipo de mimo a través de

      mimetype your_file
      

      por ej. para un archivo de texto

      text/plain
      
  2. El script de envoltura

    • Crear un nuevo script

      mkdir -p ~/bin
      nano ~/bin/jpeg-wrapper
      
    • Agregue el código a continuación

        
      #!/usr/bin/env bash
      image_path=$(dirname "")
      my_special_path="$HOME/tmp"
      open_with_special="gimp"
      open_with_standard="eog"
      
      if [[ $(mimetype -b "") == "image/jpeg" ]] && [[ "$image_path" == "$my_special_path"* ]]; then
              "$open_with_special" ""
      else
              "$open_with_standard" ""
      fi
      
    • Cambia my_special_path a tu carpeta artwork . Todas las subcarpetas también se consideran.

    • Cambie open_with_special a su aplicación especial (por ejemplo, gimp )

    • Haz que tu script de wrapper sea ejecutable

      chmod +x ~/bin/jpeg-wrapper
      
  3. Reiniciar Unity / GNOME Shell, para el GNOME Shell, p. Alt - F2 , escriba r y Introduzca

  4. Asociar uno o más tipos de archivos con el archivo de escritorio

    • Abra su administrador de archivos y haga clic con el botón secundario en un archivo cuya decisión se aplique

    • Haz clic en Propiedades

    • Activar la pestaña Abrir con

    • Seleccione la entrada Especial o Estándar

    • Haz clic en Establecer como predeterminado

  5. Disfruta ;)

El script verificó aquí .

    
respondido por el A.B. 28.12.2015 - 13:20

Lea otras preguntas en las etiquetas