12096 links
3050 private links
  • Signets de talou
  • Home
  • Login
  • RSS Feed
  • ATOM Feed
  • Tag cloud
  • Picture wall
  • Daily
  • ► Play Videos
Links per page: 20 50 100
8 results tagged #NautilusCajaScripts x
  • Scripts Nautilus/Caja : Fusionner des fichiers PDF

    Utile pour fusionner les fichiers PDF sélectionnés.
    Important : l'ordre dépend de l'ordre de sélection par clic.

    On a besoin de :

    • pdftk
    • zenity

    Script "mergepdf" :

    #!/bin/sh
    target=$(zenity --title="Fichier PDF de destination" --file-selection --save --confirm-overwrite --file-filter=*.pdf)
    pdftk $@ cat output $target
    zenity --info --text "Enregistrement du fichier $target terminé"

    Explications ici : http://shaarli.plop.me/?0wJ_Pg
    Les scripts sont dans la catégorie #NautilusCajaScripts

    March 24, 2020 at 3:47:16 PM GMT+1 * - permalink -
    QRCode
    - https://shaarli.plop.me/shaare/FGZs9A
    #NautilusCajaScripts
  • Scripts Nautilus/Caja : Utiliser son scanner et sauvegarder l'image dans le répertoire courant

    J'utilise :

    • sane-utils (nom du package sous Mint)
    • imagemagick

    Attention, mon scanner est un CanoScan Lide 210.
    Il est nécessaire tout d'abord de connaître son scanner, d'avoir installé le driver.
    Je vous suggère de tester la présence du scanner s'il est USB avec la commande :

    lsusb

    Lorsque j'exécute cette commande, j'obtiens entre autres la ligne suivante :

    Bus 003 Device 032: ID 04a9:190a Canon, Inc. CanoScan LiDE 210

    Il faut être attentif à 3 points :

    • Le numéro de Bus et de numéro de device changent d'un boot à l'autre, c'est pour cela qu'il est nécessaire de le détecter à chaque fois.
    • Pour repérer la bonne ligne, mon script l'identifie avec un grep sur le terme "CanoScan", mais pour un autre modèle de scanner, le terme à utiliser peut être différent.
    • Il y a des distributions comme Linux Mint 19.* qui gèrent différemment les droits d'accès au bus. Impossible de scanner si l'on n'est pas root, à moins de modifier les droits à chaque boot.
      Dans ces cas-là,il y a une autorisation à donner, il faut alors décommenter la ligne qui modifie le droit d'écriture sur le device (elle commence par "#gksudo", retirer le "#").

    Voici le 1er script pour scanner en 300dpi : scan300

    #/bin/sh
    
    usb1=$(lsusb | grep CanoScan | awk -r '{print $2}')
    usb2=$(lsusb | grep CanoScan | awk -r '{print $4}'|sed -e 's/://')
    
    pnm=scan_72ppi_`date +%H-%M-%S`.pnm
    jpg=scan_72ppi_`date +%H-%M-%S`.jpg
    #gksudo chmod a+rw /dev/bus/usb/$usb1/$usb2
    time scanimage -d genesys:libusb:$usb1:$usb2 -x 210 -y 297 --resolution=300 --mode Color > $pnm
    convert $pnm -quality 100 $jpg
    rm $pnm

    Voici le 2eme script pour scanner en 600dpi : scan600

    #/bin/sh
    
    usb1=$(lsusb | grep CanoScan | awk -r '{print $2}')
    usb2=$(lsusb | grep CanoScan | awk -r '{print $4}'|sed -e 's/://')
    
    pnm=scan_72ppi_`date +%H-%M-%S`.pnm
    jpg=scan_72ppi_`date +%H-%M-%S`.jpg
    #gksudo chmod a+rw /dev/bus/usb/$usb1/$usb2
    time scanimage -d genesys:libusb:$usb1:$usb2 -x 210 -y 297 --resolution=600 --mode Color > $pnm
    convert $pnm -quality 100 $jpg
    rm $pnm

    Voici le 3eme script pour scanner en niveaux de gris : scan_nb

    #/bin/sh
    
    usb1=$(lsusb | grep CanoScan | awk -r '{print $2}')
    usb2=$(lsusb | grep CanoScan | awk -r '{print $4}'|sed -e 's/://')
    
    pnm=scan_gray_`date +%H-%M-%S`.pnm
    jpg=scan_gray_`date +%H-%M-%S`.jpg
    #gksudo chmod a+rw /dev/bus/usb/$usb1/$usb2
    time scanimage -d genesys:libusb:$usb1:$usb2 -x 210 -y 297 --resolution=300 --mode Gray > $pnm
    convert $pnm -quality 100 $jpg
    rm $pnm

    Explications ici : http://shaarli.plop.me/?0wJ_Pg
    Les scripts sont dans la catégorie #NautilusCajaScripts

    March 24, 2020 at 12:54:11 PM GMT+1 * - permalink -
    QRCode
    - https://shaarli.plop.me/shaare/y8nJmg
    #NautilusCajaScripts
  • Scripts Nautilus/Caja : Enregistrer une vidéo de sa webcam dans le répertoire courant avec VLC

    Dans le gestionnaire de fichier caja ou nautilus, en choisissant un répertoire de destination, on peut générer le fichier vidéo de ce que voit la webcam, en utilisant VLC, avec ce simple script :

    #!/bin/sh
    vlc v4l2:// --sout "#transcode{vcodec=h264,vb=0,scale=0,acodec=mp4a,ab=128,channels=2,samplerate=44100}:duplicate{dst=standard{access=file, mux=mp4,dst=flux-`date +%Y%m%d-%H%M%S`.avi}}" --noaudio

    Explications ici : http://shaarli.plop.me/?0wJ_Pg
    Les scripts sont dans la catégorie #NautilusCajaScripts

    March 24, 2020 at 12:49:31 PM GMT+1 * - permalink -
    QRCode
    - https://shaarli.plop.me/shaare/LIeJ_w
    #NautilusCajaScripts
  • Scripts Nautilus/Caja : Alléger le poids d'un fichier PDF

    Explications ici : http://shaarli.plop.me/?0wJ_Pg
    Les scripts sont dans la catégorie #NautilusCajaScripts


    Ces scripts utilisent plusieurs outils :

    • ghostscript : manipulation de fichiers postscript et pdf
    • zenity : outil graphique pour afficher les logs
    • notify-send : pour afficher une notification, il en existe d'autres, selon son goût ou sa distrib

    Certains fichiers PDF sont beaucoup trop volumineux, parfois, il faut changer ça. Ghostscript vient à notre rescousse. Cependant, il faut savoir négocier la qualité et le poids du fichier.
    Voilà pourquoi je propose 3 scripts pour 3 niveaux de poids et de qualité. A tester ensuite sur son fichier PDF pour choisir la meilleure conversion.

    1er script : pdflight

    #!/bin/bash
    
    scriptname=`basename $0`
    # Determine wave type to convert to based on the name of the script
    logfile=`mktemp -t $scriptname.XXXXXX`
    
    tail -f $logfile | zenity --text-info --title="Converting pdf to $newext" &
    for pdf in "$@"; do
        oldext=$(echo $pdf|sed 's/.*\.\(.\+\)/\1/')
        if [ $oldext != "pdf" ]
        then
            echo "Not a pdf file"  >> $logfile
            continue
        fi
    
        datefile=`date -r "$pdf" +%Y%m%d%H%M`
        echo "$pdf" >> $logfile
        gs -q -dPDFA -dNOOUTERSAVE -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dProcessColorModel=/DeviceRGB -sOUTPUTFILE="`basename "$pdf" .pdf`_l.pdf" "$pdf"
        notify-send "Conversion de $pdf terminée"
        touch -t $datefile "$target"
    done
    
    echo done >> $logfile
    rm -f $logfile

    2eme script : pdflighter
    Par rapport au premier script il n'y a qu'une seule chose à changer à la ligne :

        gs -q -dPDFA -dNOOUTERSAVE -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dProcessColorModel=/DeviceRGB -sOUTPUTFILE="`basename "$pdf" .pdf`_l.pdf" "$pdf"

    remplacer "/printer" par "/ebook"

    2eme script : pdflightest
    Par rapport au premier script il n'y a qu'une seule chose à changer à la ligne :

        gs -q -dPDFA -dNOOUTERSAVE -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dProcessColorModel=/DeviceRGB -sOUTPUTFILE="`basename "$pdf" .pdf`_l.pdf" "$pdf"

    remplacer "/printer" par "/screen"

    March 24, 2020 at 12:25:03 PM GMT+1 * - permalink -
    QRCode
    - https://shaarli.plop.me/shaare/F1OK0w
    #NautilusCajaScripts
  • Scripts Nautilus/Caja : Convertir des svg en images avec inkscape

    Explications ici : http://shaarli.plop.me/?0wJ_Pg
    Les scripts sont dans la catégorie #NautilusCajaScripts


    Inkscape est un logiciel de dessin vectoriel extrêmement puissant et simple qui remplace avantageusement (selon moi) Illustrator.
    On peut l'invoquer en ligne de commande pour effectuer certaines tâches, comme par exemple l'export vers une image ou l'enregistrement dans divers formats.
    Pour ce qui est de l'export, il ne connait que le PNG, qu'à cela ne tienne, on peut se servir de imagemagick pour les autres formats d'image.
    A noter que transformer un fichier SVG directement en un autre format avec imagemagick ne donnera pas du tout le même résultat. En effet, certaines subtilités du format ne sont pas forcément détectées par imagemagick.
    Il est donc préférable de se servir de Inkscape pour travailler avec le format SVG.
    Par ailleurs la transformation en PDF est bien plus intéressante avec Inkscape qu'avec imagemagick, en effet ce dernier rasterise l'image (convertir le vectoriel en bitmap) avant d'en faire un PDF, contrairement à Inkscape qui génère un PDF avec les éléments séparés, textes, images, éléments vectoriels... Le poids du fichier, ainsi que la qualité à l'impression peuvent s'en ressentir.

    J'ai besoin le plus souvent de 3 formats de destination : PNG, JPG et PDF.

    Voici le script pour convertir un SVG en PNG : inkscape_to_png

    #!/bin/bash
    
    scriptname=`basename $0`
    # Determine wave type to convert to based on the name of the script
    newext=`echo $scriptname | sed 's/inkscape.to.\(.\+\)/.\1/'`
    logfile=`mktemp -t $script_name.XXXXXX`
    
    tail -f $logfile | zenity --text-info --title="Converting sound to $newext" &
    for svg in "$@"; do
        oldext=$(echo $svg|sed 's/.*\.\(.\+\)/\1/')
        if [ $oldext != "svg" ]
        then 
            echo "Not a svg file"  >> $logfile
            continue
        fi
        # Determine target svg name
        target=$(echo $svg|sed 's/\(.*\)\..\+/\1/')$newext
        if [ -f "$target" ] 
        then 
            echo "File exists"  >> $logfile
            continue
        fi
        datefile=`date -r "$svg" +%Y%m%d%H%M`
        echo "$svg -> $target" >> $logfile
        inkscape -f "$svg" -d 90 -e "$target"
        touch -t $datefile "$target"
    done
    
    echo done >> $logfile
    rm -f $logfile

    Voici le script pour convertir un SVG en JPEG : inkscape_to_jpg

    #!/bin/bash
    
    scriptname=`basename $0`
    # Determine wave type to convert to based on the name of the script
    newext=`echo $scriptname | sed 's/inkscape.to.\(.\+\)/.\1/'`
    logfile=`mktemp -t $script_name.XXXXXX`
    
    tail -f $logfile | zenity --text-info --title="Converting sound to $newext" &
    for svg in "$@"; do
        oldext=$(echo $svg|sed 's/.*\.\(.\+\)/\1/')
        if [ $oldext != "svg" && $oldext != "pdf" ]
        then
            echo "Not a svg file"  >> $logfile
            continue
        fi
        # Determine target svg name
        target=dac
    
        target2=$(echo $svg|sed 's/\(.*\)\..\+/\1/')$newext
        if [ -f "$target" ]
        then
            echo "File $target exists"  >> $logfile
            continue
        fi
        if [ -f "$target2" ]
        then
            echo "File $target2 exists"  >> $logfile
            continue
        fi
        datefile=`date -r "$svg" +%Y%m%d%H%M`
        echo "$svg -> $target" >> $logfile
        inkscape -f "$svg" -d 300 -e "$target"
        #~ touch -t $datefile "$target"
        touch "$target"
        echo "$target -> $target2" >> $logfile
        convert "$target" -quality 92 -density 90 -resample 150x150 -resize 850x710 "$target2"
        #~ touch -t $datefile "$target2"
        touch "$target2"
        rm "$target"
    done
    
    echo done >> $logfile
    rm -f $logfile

    Voici le script pour convertir un SVG en PDF : inkscape_to_pdf

    #!/bin/bash
    
    scriptname=`basename $0`
    # Determine wave type to convert to based on the name of the script
    newext=`echo $scriptname | sed 's/inkscape.to.\(.\+\)/.\1/'`
    logfile=`mktemp -t $script_name.XXXXXX`
    
    tail -f $logfile | zenity --text-info --title="Converting sound to $newext" &
    for svg in "$@"; do
        oldext=$(echo $svg|sed 's/.*\.\(.\+\)/\1/')
        if [ $oldext != "svg" ]
        then 
            echo "Not a svg file"  >> $logfile
            continue
        fi
        # Determine target svg name
        target=$(echo $svg|sed 's/\(.*\)\..\+/\1/')$newext
        if [ -f "$target" ] 
        then 
            echo "File exists"  >> $logfile
            continue
        fi
        datefile=`date -r "$svg" +%Y%m%d%H%M`
        echo "$svg -> $target" >> $logfile
        inkscape -f "$svg" -d 90 -A "$target"
        touch -t $datefile "$target"
    done
    
    echo done >> $logfile
    rm -f $logfile
    March 24, 2020 at 12:08:34 PM GMT+1 * - permalink -
    QRCode
    - https://shaarli.plop.me/shaare/HijnqQ
    #NautilusCajaScripts
  • Scripts Nautilus/Caja : Convertir des images avec imagemagick

    Nautilus et Caja ont un outil vraiment intéressant pour effectuer des tâches rapides sur un ou plusieurs fichiers, ou dans le répertoire courant.
    Ce sont des scripts qui sont localisés dans ~/.config/caja/scripts ou ~/.config/nautilus/scripts suivant que l'on utilise Mate ou Gnome.
    Lorsque l'on est dans une fenêtre du gestionnaire de fichiers, un clic droit, puis scripts et on choisi le script en question.
    A noter que l'on peut utiliser des sous dossiers pour organiser ses scripts, ils apparaîtront dans les sous-menus du menu contextuel.
    Attention à rendre les scripts exécutables pour les activer dans le menu.
    Je vais poster les quelques scripts dont je me sers quasi quotidiennement sous le tag #NautilusCajaScripts

    Pour commencer un script qui n'est pas de moi, mais vraiment pratique pour convertir à la volée des images dans un format déterminé.
    Pour cela, il faut imagemagick et zenity pour voir le log.
    Une astuce pour ce script, il y a un seul script, par défaut il est nommé "convert_to_png", mais la partie "png" du nom détermine le format de sortie.
    Ainsi un simple :

    ln -s convert_to_png convert_to_jpg

    offre la possibilité de choisir un autre format d'image en sortie, cela fonctionne pour tout ce que imagemagick peut convertir, y compris le PDF.

    Voici le script :

    #!/bin/bash
    
    scriptname=`basename $0`
    # Determine image type to convert to based on the name of the script
    newext=`echo $scriptname | sed 's/convert.to.\(.\+\)/.\1/'`
    logfile=`mktemp -t $script_name.XXXXXX`
    
    tail -f $logfile | zenity --text-info --title="Converting images to $newext" &
    for image in "$@"; do
        # Determine target image name
        target=$(echo $image|sed 's/\(.*\)\..\+/\1/')$newext
        echo "$image -> $target" >> $logfile
        convert "$image" -quality 85 -density 90 "$target"
    done
    
    echo done >> $logfile
    rm -f $logfile
    March 24, 2020 at 11:56:05 AM GMT+1 * - permalink -
    QRCode
    - https://shaarli.plop.me/shaare/0wJ_Pg
    #NautilusCajaScripts
  • Scripts Nautilus/Caja : Astuce youtube-dl pour Nautilus/Caja

    Une des choses que j'utilise le plus dans le gestionnaire de fichier de gnome/mate, c'est à dire respectivement Nautilus et Caja, ce sont les scripts.
    Par ailleurs, pour télécharger une vidéo, sur youtube, twitter, pluzz, rutube, et plein d'autres sites, l'idéal c'est youtube-dl.
    https://ytdl-org.github.io/youtube-dl/index.html

    Alors à force de tout passer dans la console, j'ai un .bash_history un peu chargé. Pourquoi ne pas utiliser les scripts. Voilà comment faire.
    Pour nautilus ça se passe là : ~/.config/nautilus/scripts
    Pour caja, ici : ~/.config/caja/scripts

    les dépendances : youtube-dl, xclip, notify-send (optionnel), zenity (optionnel)
    Premier script : yt-clipboard :

    #!/bin/sh
    sel=$(xclip -d ":0" -o -selection clipboard)
    notify-send "youtube-dl $sel"
    youtube-dl "$sel"
    notify-send "Récuperation de la vidéo terminée"

    Deuxième script : yt-selection :

    #!/bin/sh
    sel=$(xclip -d ":0" -o -selection primary)
    notify-send "youtube-dl $sel"
    youtube-dl "$sel"
    notify-send "Récuperation de la vidéo terminée"

    Troisième script : yt-clipboard-mp3 :

    #!/bin/sh
    sel=$(xclip -d ":0" -o -selection clipboard)
    notify-send "youtube-dl $sel"
    youtube-dl  --extract-audio --audio-format mp3 -l "$sel"
    notify-send "Récuperation du mp3 terminée"

    Les scripts sont à passer en exécutable.
    Ensuite, il suffit de choisir le répertoire cible, copier l'url de la page où se trouve la vidéo, cliquer avec le bouton droit n'importe où dedans et dans le menu script, choisir le premier script.
    Le 2e script utilise ce qui est en sélection (une adresse sélectionnée à la souris)
    Le 3e script permet de transformer la vidéo en mp3

    On peut aussi utiliser la recherche youtube, soit avec un dialogue pour le champ de recherche, soit sur une chaine dans le clipboard :

    yt-searchclip-to-mp3:

    #!/bin/sh
    youtube-dl ytsearch:"$(xclip -selection clipboard -o | cut -d\& -f1)" --extract-audio --audio-format mp3  -o "%(title)s.%(ext)s"
    zenity --info --text "Téléchargement terminé"

    yt-searchask-to-mp3:

    #!/bin/sh
    search=$(zenity --entry --text "Titre ?" --entry-text "U2 Bad")
    youtube-dl ytsearch:"$search" --extract-audio --audio-format mp3  -o "%(title)s.%(ext)s"
    zenity --info --text "Téléchargement terminé"

    Explications ici : http://shaarli.plop.me/?0wJ_Pg
    Les scripts sont dans la catégorie #NautilusCajaScripts

    April 18, 2019 at 11:05:00 AM GMT+2 * - permalink -
    QRCode
    - https://shaarli.plop.me/shaare/i9VooA
    #NautilusCajaScripts
  • Scripts Nautilus/Caja : Astuce avec Fontforge et Nautilus

    Astuce avec Fontforge et Nautilus

    Si vous utilisez fontforge pour générer vos polices de caractère, savez-vous qu'il existe un langage de script qui peut vous faciliter la vie ?

    Encore mieux si vous utilisez nautilus, il est possible de générer quelques formats nécessaires à un site internet en un script appelé sur un ou des fichiers .sfd

    #!/usr/bin/fontforge -lang=ff
    i=1;
    while ( i<$argc )
    Open($argv[i]);
    Print("Saving " + $argv[i] + "as " + $argv[i]:r + ".ttf");
    Generate($argv[i]:r + ".ttf");
    Print("Saving " + $argv[i] + "as " + $argv[i]:r + ".woff");
    Generate($argv[i]:r + ".woff");
    Print("Saving " + $argv[i] + "as " + $argv[i]:r + ".svg");
    Generate($argv[i]:r + ".svg");
    Print("Saving " + $argv[i] + "as " + $argv[i]:r + ".otf");
    Generate($argv[i]:r + ".otf");
    i = i+1;
    endloop
    Quit(0);

    Cela vous générera automatiquement les formats ttf, woff, svgfont et otf.
    Ensuite, pour compléter la collection, il suffit d'ajouter les scripts qui vont bien en utilisant :

    • pour les fichiers EOT ttf2eot :

      #!/bin/bash
      scriptname=`basename $0`
      for file in "$@"; do
      target=$(echo $file|sed 's/(.*)..+/\1/').eot
      echo "$file -> $target"
      ttf2eot "$file" > "$target"
      done

    • et pour les fichiers woff2 woff2_compress :

      #!/bin/bash
      scriptname=`basename $0`
      for file in "$@"; do
      echo "$file"
      woff2_compress "$file"
      done

    Puis sauvegarder chaque script dans ~/.local/share/nautilus/scripts/ en les rendant exécutables.
    Les deux derniers scripts ne peuvent être utilisés que sur un ou des fichiers TTF


    Explications ici : http://shaarli.plop.me/?0wJ_Pg
    Les scripts sont dans la catégorie #NautilusCajaScripts

    April 3, 2017 at 1:50:50 PM GMT+2 * - permalink -
    QRCode
    - http://shaarli.plop.me/?iNhoWw
    #NautilusCajaScripts
Links per page: 20 50 100
Shaarli - The personal, minimalist, super-fast, database free, bookmarking service by the Shaarli community - Help/documentation
talou sur le Fédiverse