• [^] # Que faire quand firefox efface un fichier ouvert dans un lecteur PDF

    Posté par . En réponse à la dépêche Qupzilla, le petit navigateur Qt et Webkit. Évalué à 3. Dernière modification le 04 avril 2013 à 22:39.

    J'ouvre un PDF depuis firefox. Il s'ouvre dans mon lecteur habituel, okular. Plus tard, je ferme firefox, mais je veux enregistrer une copie pdf. Trop tard ! Quand firefox se ferme il fait le ménage et efface le PDF (de /tmp). Le lecteur pdf ne le trouve plus et ne peut donc plus l'enregistrer (bien qu'il soit encore présent en mémoire).

    Solution (à adapter à votre lecteur favori) :

    #!/bin/bash
    # /home/jgo/public/bin/recupere.sh
    # Restaure un fichier ouvert dans okular mais effacé dans (p.ex.) firefox.
    # Met ce fichier dans /tmp.
    # S'il y a plusieurs fichiers effacés on peut répéter la commande jusqu'à
    # obtention du fichier désiré.
    PID_okular=`ps -fe|grep "/usr/bin/okular"|head -n1 |awk -F " " '{ print 2ドル }'`
    ligne=`lsof |grep -e "^okular" |grep "(deleted)"|head -n1`
    fd=`echo $ligne|awk -F " " '{ print 4ドル }'|sed s@[a-zA-Z]@@g`
    filename=`echo $ligne|sed -e "s@/tmp@@" -e "s@(deleted)@@"|awk -F "/" '{ print 2ドル }'`
    cp /proc/${PID_okular}/fd/${fd} /tmp/${filename}