Journal launch - le double clic en ligne de commande

Posté par  (site web personnel) .
Étiquettes : aucune
9
28
nov.
2010
Yo 'Nal,

Mon interface favorite pour utiliser une machine Linux est de loin la ligne de commande, c'est pratique, rapide, genre j'ouvre un vi, je modifie un truc, :x, make et zou...

Mais voila, il arrive que je me retrouve avec des fichiers étranges, genre des images, des pdfs, ou je ne sais quoi encore. Comme je ne savais jamais trop avec quoi ouvrir ces fichiers, j'avais tendance à ouvrir un explorateur de fichiers puis naviguer au bon endroit et (double-)cliquer (oui, j'ai honte).

Pour remédier à ce problème, j'ai donc développé un petit programme qui fait exactement ça : il ouvre les fichiers depuis la ligne de commande. Pour fonctionner, il utilise des "plugins" qui s'occupent de faire le boulot. Pour l'instant, il y a un plugin Gtk+ (qui n'utilise que gdk en fait) et un KDE.

Je m'en sers maintenant au quotidien et je trouve ça très pratique. Si toi aussi tu veux tester, le code se trouve là :

https://github.com/Guillaumito/launch

Je suis très intéressé par tout retour (bon ou mauvais) sur ce mini projet.
  • # mouais

    Posté par  . Évalué à 10.

    Je n'ai peut-être pas compris mais tu essaye de réinventer xdg-open ?
  • # xdg-open

    Posté par  . Évalué à 10.

    Il y a le standard :


    NAME
    xdg-open - opens a file or URL in the user's preferred application


    Je ne dis pas que le tien n'a aucun intérêt, mais qu'apporte-t-il ?
  • # xdg-open

    Posté par  (site web personnel) . Évalué à 4.

    xdg-open a été conçu exactement pour faire cela, avec son compagnon xdg-mime pour choisir les applications associées à tel ou tel type de fichier. Désolé de casser ton enthousiasme comme cela :-).
    • [^] # Re: xdg-open

      Posté par  . Évalué à 4.

      Je t'ai grillé, désolé de casser ton enthousiasme comme cela :-).

      Sinon, ca m'a permit de découvrir gnome-open
      http://embraceubuntu.com/2006/12/16/gnome-open-open-anything(...)

      Pour KDE, j'utilise directement kfmexec
      • [^] # Re: xdg-open

        Posté par  (site web personnel) . Évalué à 5.

        Bon bah voila... maintenant je suis cassé et grillé, mais au moins je connais une commande de plus (xdg-open) et j'ai un projet de moins à maintenir...

        Sinon, le seul intérêt de mon truc par rapport aux autres est que tu peux choisir d'ouvrir en passant par gtk (gnome) ou KDE, mais heu... voila quoi...
        • [^] # Re: xdg-open

          Posté par  . Évalué à 3.

          Pour ça, il me semble que thunar fournit thunar-open
          Ou en tout cas, s’il le fournit pas directement, c’est dans son interface dbus, donc une ligne en shell pour scripter ça.
          • [^] # Re: xdg-open

            Posté par  . Évalué à 2.

            thunar-open ?! N'est-ce pas plutôt exo-open ?

            J'suis allé jeter un oeil dans xdg-open (que j'connaissais que de nom), c'est sacrement bien foutu :
            - sous KDE, ça utilise kde-open
            - sous GNOME, gnome-open
            - sous Xfce, c'est exo-open
            - sinon, c'est xdg-mime+tambouille/run-mailcap/mimeopen en fonction de ce qu'il y a

            Un script à retenir en tout cas.
            • [^] # Re: xdg-open

              Posté par  . Évalué à 2.

              Non, exo-open ouvre le fichier avec ton application préférée, thunar-open avec le sélecteur d’application de thunar (il te demande l’application).
              Mais après avoir essayé de me souvenir, il me semble bien plutôt que thunar-open était un simple script d’une ligne qui faisait appel au service dbus de thunar, et non pas un truc fourni avec thunar.
              • [^] # Re: xdg-open

                Posté par  . Évalué à 1.

                Merci de ton éclaircissement car je n'avais pas trouvé de réelles infos sur ce programme (sous debian ou sur le web). Mais visiblement "thunar nom_de_fichier" cherche à ouvrir le dit fichier.
        • [^] # Re: xdg-open

          Posté par  (site web personnel) . Évalué à 2.

          heu XDG-OPEN ouvre les fichiers avec des applications différentes en fonction des préférences de l'utilisateur.
    • [^] # Re: xdg-open

      Posté par  (site web personnel) . Évalué à 2.

      Ca veux dire quoi "xdg" dans "xdg-open".

      Parce que j'ai toute une tripotée de xdg tools, et je suppose que vous aves les mêmes ...

      xdg-desktop-icon
      xdg-mime
      xdg-user-dir
      xdg-desktop-menu
      xdg-open
      xdg-user-dirs-gtk-update
      xdg-email
      xdg-screensaver
      xdg-user-dirs-update
      xdg-icon-resource
      xdg-settings
      xdg_menu
      xdg-terminal
  • # run-mailcap

    Posté par  . Évalué à 3.

    il me semble qu'une commande en ligne de commande existe déjà: il s'agit de run-mailcap. Elle utilise le fichier /etc/mailcap pour savoir quelle application lancer en fonction du type mime du fichier.

    Par contre, je ne sais pas exactement comment ce type mime est deviné, et je n'ai jamais utilisé cette commande - je me contente de gthumb/evince pour ouvrir les images et pdf, et je ne suis pas encore tombé sur un fichier que je ne savais pas ouvrir.
    • [^] # Re: run-mailcap

      Posté par  . Évalué à 1.

      Par contre, je ne sais pas exactement comment ce type mime est deviné
      En lisant /etc/mime.types, tout simplement


      run-mailcap n'a pas l'air fourni dans toutes les distribs (ou alors, je n'ai pas trouvé dans quel paquet). Mais c'est juste un script perl, donc je peux le récupérer du paquet debian (mime-support) et le mettre où je veux...
      • [^] # Re: run-mailcap

        Posté par  . Évalué à 1.

        run-mailcap n'a pas l'air fourni dans toutes les distribs (ou alors, je n'ai pas trouvé dans quel paquet). Mais c'est juste un script perl, donc je peux le récupérer du paquet debian (mime-support) et le mettre où je veux...

        Peut-être que tu trouveras plus facilement les autres binaires dans ce paquet:

        /usr/bin/see
        /usr/bin/print
        /usr/bin/edit
        /usr/bin/compose
  • # zsh

    Posté par  . Évalué à 7.

    Les alias sur les suffixes :
    alias -s pdf='xpdf'
    ./monfichier.pdf

    Marche bien je trouve.

    Sinon tu as less http://www.debian-fr.org/utiliser-less-comme-visionneur-univ(...)

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

    • [^] # Re: zsh

      Posté par  . Évalué à 0.

      Pas des plus élégant non plus, mais on peut faire ça (trouvez ici https://bbs.archlinux.org/viewtopic.php?id=108553):


      # open files
      o () {
      # To use xdg-open
      #nohup xdg-open "$1" > /dev/null 2>&1 &

      if [ -f $1 ] ; then
      case $1 in
      *.tar.bz2) tar xjf $1 ;;
      *.tar.gz) tar xzf $1 ;;
      *.bz2) bunzip2 $1 ;;
      *.rar) rar x $1 ;;
      *.gz) gunzip $1 ;;
      *.tar) tar xf $1 ;;
      *.tbz2) tar xjf $1 ;;
      *.tgz) tar xzf $1 ;;
      *.zip) unzip $1 ;;
      *.Z) uncompress $1 ;;
      *.7z) 7z x $1 ;;
      *.pdf) zathura $1 > /dev/null 2>&1 & ;;
      *.html) luakit $1 > /dev/null 2>&1 & ;;
      *.blend) blender $1 > /dev/null 2>&1 & ;;
      *.avi) smplayer $1 > /dev/null 2>&1 & ;;
      *.wmv) smplayer $1 > /dev/null 2>&1 & ;;
      *.mp3) mplayer $1 > /dev/null 2>&1 & ;;
      *.flv) smplayer $1 > /dev/null 2>&1 & ;;
      *.mp4) smplayer $1 > /dev/null 2>&1 & ;;
      *.ogg) mplayer $1 > /dev/null 2>&1 & ;;
      *.wav) audacity $1 > /dev/null 2>&1 & ;;
      *.jpg) gpicview $1 > /dev/null 2>&1 & ;;
      *.jpeg) gpicview $1 > /dev/null 2>&1 & ;;
      *.JPG) gpicview $1 > /dev/null 2>&1 & ;;
      *.png) gpicview $1 > /dev/null 2>&1 & ;;
      *.gif) gpicview $1 > /dev/null 2>&1 & ;;
      *) vim $1 > /dev/null 2>&1 & ;;
      esac
      else
      echo "'$1' is not a valid file"
      fi

      n="$1"
      }

  • # 3l33t

    Posté par  . Évalué à 1.

    > [...] des fichiers étranges, genre des images, des pdfs
    > [...] j'avais tendance à ouvrir un explorateur de fichiers puis
    > [...] naviguer au bon endroit et (double-)cliquer (oui, j'ai honte).

    C'est de l'humour ?
    Ou bien t'as une élitisme (de merde) mal placé ?
    (j'espère franchement que c'est le premier choix)
    • [^] # Re: 3l33t

      Posté par  . Évalué à 4.

      Ouvrir un explorateur de fichiers, naviguer dans l'arborescence... d'ici que j'ai trouvé mon fichier je ne sais plus ce que je voulais en faire. Du coup je n'utilise d'explorateur graphique que pour des tâches spécifiques (classer dans plusieurs répertoires). Rien de mieux que la ligne de commande pour ouvrir rapidement un fichier.
      • [^] # Re: 3l33t

        Posté par  (Mastodon) . Évalué à 5.

        J'utilise rox comme navigateur de fichier, et quand je suis en ligne de commande et que j'ai besoin d'ouvrir une fenêtre dans le répertoire courant, je tape juste "rox", et ça marche.

        C'est très pratique, avec ça je n'ai en gros jamais à me balader dans mes répertoires, et à rechercher un truc au fin fond de mon organisation probablement très bien pensée, mais par un double de moi venu du passé, et qui a omis de m'expliquer le principe, alors qu'il lui suffisait de le garder en mémoire...

        Yth, rox, ça roxxe.
        • [^] # Re: 3l33t

          Posté par  . Évalué à 3.

          Yep, rox, ça roxxe, surtout qu'il est entièrement manipulable au clavier

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

        • [^] # Re: 3l33t

          Posté par  . Évalué à 2.

          Autre possibilité :
          $ dolphin .

          (avec un point à la fin)
    • [^] # Re: 3l33t

      Posté par  (site web personnel) . Évalué à 10.

      Je n'ai absolument aucun humour et j'ai un élitisme (de merde) couplé à un ego sur-dimensionné... d'ailleurs j'envisage de ne plus utiliser que Weboob pour accéder au web et ainsi me libérer de toute interface graphique qui, comme chacun le sait, est l'outil du malin.

      ehm...
      • [^] # Re: 3l33t

        Posté par  . Évalué à 1.

        Tu n’es vraiment pas très sympa. Mais le train de tes injures roule sur le rail de mon indifférence. Je préfère partir plutôt que d’entendre ça plutôt que d’être sourd !
  • # binfmt_misc

    Posté par  (site web personnel) . Évalué à 3.

    dans Linux, si tu actives "Kernel support for MISC binaries" tu peux ensuite configurer ton noyo pour qu'il exécute directement n'importe quel format de fichier, éventuellement avec un interpréteur.

    Par exemple on peut le configurer pour pouvoir lancer un .exe directement avec wine, mais ça permettrait aussi de lancer un jpg avec geekie comme interpréteur ou un mp3 avec mplayer.
    • [^] # Re: binfmt_misc

      Posté par  (site web personnel) . Évalué à 3.

      sous Debian ça se fait assez simplement :

      sudo apt-get install binfmt-support
      sudo update-binfmts --install wine /usr/bin/wine --extension exe
      sudo update-binfmts --install geeqie /usr/bin/geeqie --extension jpg
      ...


      Par contre il faut mettre les droits d'exécution à tes fichiers, mais comme toutes tes images et tes mp3 sont sur un disque dur externe en fat32, et que tous les gestionnaires de trucs amovibles laissent les droits d'exécution par défaut sur le fat32, voilà.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.