Come impostare il programma predefinito per aprire un determinato tipo di file in una determinata cartella?

21

Oltre ad essere un Panda, sono anche un artista, realizzo i miei artwork principalmente in GIMP e salvando le mie immagini in una determinata directory sul mio computer. Tuttavia ho un piccolo inconveniente perché salvi le mie immagini in formato jpeg , tuttavia il programma predefinito per aprire jpeg s è Image Viewer , e se lo cambio in GIMP per comodità con il mio artwork, significa che tutti gli altri jpeg s sul mio computer si aprano in GIMP , e io non li voglio, quindi è qui che inizia il problema ...

Quindi mi chiedo se ci sia un modo per farlo in modo che tutti jpeg s siano aperti in quella determinata directory sul mio computer aperta in GIMP , ma tutti gli altri jpeg s siano aperti in Image Viewer ?

    
posta Braiam 28.12.2015 - 13:17
fonte

1 risposta

21

Hai bisogno di un file desktop e di uno script wrapper:

  1. Il file desktop

    • Crea un file desktop

      nano ~/.local/share/applications/jpeg-wrapper.desktop
      
    • Aggiungi la configurazione seguente (cambia la proprietà per 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;
      
    • Sostituisci user in Exec=/home/user/bin/jpeg-wrapper %f con il tuo nome utente, l'output di

      echo $USER
      
    • Sostituisci il nome dell'icona in Icon= con un nome o percorso di tua scelta

    • Utilizza MimeType=image/jpeg per specificare i tipi mime di file per i quali la decisione deve essere applicata. Separa più tipi di mime tramite ;

      Ottieni il tipo mime tramite

      mimetype your_file
      

      es. per un file di testo

      text/plain
      
  2. Lo script wrapper

    • Crea un nuovo script

      mkdir -p ~/bin
      nano ~/bin/jpeg-wrapper
      
    • Aggiungi il codice qui sotto

        
      #!/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
      
    • Modifica my_special_path nella cartella grafica . Vengono considerate anche tutte le sottocartelle.

    • Modifica open_with_special nella tua applicazione speciale (ad esempio gimp )

    • Rendi il tuo script wrapper eseguibile

      chmod +x ~/bin/jpeg-wrapper
      
  3. Riavvia Unity / GNOME Shell, per la shell GNOME, ad es. Alt - F2 , digita r e Invio

  4. Associa uno o più tipi di file con il file desktop

    • Apri il file manager e fai clic con il pulsante destro del mouse su un file per il quale la decisione deve essere applicata

    • Fai clic su Proprietà

    • attiva la scheda Apri con

    • Seleziona la voce Speciale o Standard

    • Fai clic su Imposta come predefinito

  5. Divertiti con ;)

Script controllato qui .

    
risposta data A.B. 28.12.2015 - 14:20
fonte

Leggi altre domande sui tag