Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmbienteGrafico/FileManager/ScriptStampa"
Differenze tra le versioni 9 e 25 (in 16 versioni)
Versione 9 del 15/03/2018 21.36.44
Dimensione: 7246
Autore: mary3
Commento:
Versione 25 del 15/04/2018 18.32.37
Dimensione: 11376
Autore: jeremie2
Commento: Revisione ultimata
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from mary3/StampaDaMenùContestuale
Linea 5: Linea 6:
<<Indice>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=511838"; rilasci="16.04 14.04")>>
<<Indice(depth=2)>>
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=627033"; rilasci="18.04 16.04 14.04")>>
Linea 10: Linea 11:
Seguire questa guida per avere '''"Stampa"''' nel menù contestuale dei '''file manager Nautilus, Caja e Nemo''', vale a dire che quando si seleziona uno o più file, si può fare click destro -> Script -> Stampa , cioè sarà possibile stampare i file selezionati.
Potremo evitare che ciascun file debba essere aperto prima di stamparlo, cliccando su stampa uno alla volta.
 <<BR>>
= "Stampa" nel menù contestuale =

Controllare che il pacchetto [[https://help.ubuntu.com/lts/serverguide/cups.html|`cups`]] sia installato (in genere, eccetto che per Lubuntu è installato di default), se serve consultare [[https://wiki.ubuntu-it.org/Server/Stampa|la documentazione ufficiale]].

Sono disponibili alcuni script da inserire nella '''cartella degli script''' del proprio [[https://wiki.ubuntu-it.org/AmbienteGrafico/FileManager|file manager]],<<BR>> i primi 2 prevedono che si possa indicare quale stampante usare, utile in caso di presenza di varie stampanti. Gli altri usano la stampante predefinita, cioè quella selezionata da Configura Stampanti nel Centro di controllo:

'''

 0. Stampa i file PDF, JPEG e PNG, TXT selezionati
 0. Stampa file di Libreoffice selezionati
 0. Stampa TUTTI i PDF contenuti in una cartella (con la stampante predefifinita)
 0. Stampa i file selezionati (con la stampante predefifinita)
 0. Stampa file di Libreoffice (con la stampante predefifinita)
'''

Inoltre c'è anche l'utile '''Elimina coda di stampa

'''


Per quanto riguarda la cartella degli script del file manager consultare le seguenti guide:<<BR>>

[[https://wiki.ubuntu-it.org/AmbienteGrafico|Ambiente Grafico]]<<BR>>
[[https://wiki.ubuntu-it.org/AmbienteGrafico/Gnome/ScriptNautilus|ScriptNautilus]] (sul 14.04 con Unity la cartella degli script è /home/utente/.local/share/nautilus/scripts)<<BR>>
[[https://wiki.ubuntu-it.org/AmbienteGrafico/Mate/Caja#Raccolta_di_script_per_Caja|Mate: Script Caja]]<<BR>>
[[https://forum.ubuntu-it.org/viewtopic.php?f=8&t=626437&p=5040532#p5040129|Cinnamon : Nemo]]

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;"> La guida è stata testata con i succitati desktop. La modalità di aggiungere al menù contestuale voci che eseguano degli script, può variare in base all'ambiente grafico usato, consultare le guide relative al proprio desktop. ||




= Stampa i file PDF, JPEG e PNG, TXT selezionati =

Lo script seguente va personalizzato con il nome della propria stampante e con il nome del proprio file manager:


 * Sostituire il nome stampante ( ad esempio Samsung-M2020-Series) con il proprio, che si può ottenere dando sul terminale{{{
lpstat -p -d}}}
 oppure vedere il file /etc/cups/printers.conf
 * Sostituire "$CAJA_SCRIPT_SELECTED_FILE_PATHS" con "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" o il nome del proprio file manager{{{
Nella seguente guida viene mostrato come ottenere la voce '''Stampa''' nel menù contestuale dei file manager '''Nautilus''', '''Caja''' e '''Nemo'''. Sarà quindi possibile selezionare uno o più file e tramite il clic destro selezionare dal menù contestuale '''''Script → Stampa''''' per avviare immediatamente la stampa.<<BR>>
In questo modo è possibile evitare di aprire singolarmente ogni file per fare clic su '''Stampa'''.

Per '''Thunar''' si rimanda alla [[https://wiki.ubuntu-it.org/AmbienteGrafico/Xfce/AzioniThunar|guida]] specifica.

= Preparativi =

Assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://cups|cups]] e [[apt://imagemagick|imagemagick]] (per il formato `.svg`).

= Configurazione =

Gli script dovranno essere creati manualmente in un'opportuna cartella a seconda del [[AmbienteGrafico/FileManager|file manager]] in utilizzo:

<<Anchor(percorso)>>
||<tablestyle="width:40%;" #cccccc> '''File manager''' ||<#cccccc> '''Percorso file''' ||
||<#f7f7f7> '''Nautilus''' || `~/.local/share/nautilus/scripts` ||
||<#f7f7f7> '''Caja''' || `~/.config/caja/scripts` ||
||<#f7f7f7> '''Nemo''' || `~/.local/share/nemo/scripts` ||

Nei seguenti paragrafi viene trattata nel dettaglio la configurazione degli script.

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''La modalità di aggiunta voci al menù contestuale può variare in base all'[[AmbienteGrafico|ambiente grafico]] e al [[AmbienteGrafico/FileManager|file manager]] in utilizzo.''||

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Le opzioni generali per le stampanti (come l'impostazione della stampante predefinita) sono disponibili nel [[https://wiki.ubuntu-it.org/AmministrazioneSistema/CentroDiControllo|centro di controllo]].<<BR>>Vedere anche la pagina [[Hardware/StampantiScanner|Stampanti e scanner]]''||

= Script di stampa =

== Utilizzo ==

Gli script verranno avviati accedendo tramite clic destro al menù contestuale alla voce '''''Script → Stampa'''''. Per fare ciò è possibile agire in diversi modi.
  * '''Selezionando uno o più file''' contemporaneamente di vario tipo (PDF, testo, immagini, formati di !LibreOffice).
  * '''Clic destro nello spazio vuoto''' in una cartella aperta, senza selezionare nessun file. Verranno così stampati tutti i file stampabili all'interno della cartella.
  * '''Selezionando una cartella chiusa'''. Come nel caso precedente verranno stampati tutti i file stampabili interni alla cartella.

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Gli script sono in grado di riconoscere il tipo di file selezionati. Se per errore viene selezionato un file non stampabile (ad esempio `.mp3`), allora verrà restituito un messaggio di errore. In caso contrario saranno eseguiti i comandi appropriati per la stampa tramite stampante predefinita.''||

== Script per stampante predefinita ==

 0. A seconda del file manager in utilizzo, creare nella [[#percorso|cartella opportuna]] lo script con il nome:{{{
Stampa
}}}
 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato.
 0. Supponendo di utilizzare come file manager: '''Nautilus''', inserire le seguenti stringhe nello script:{{{
Linea 55: Linea 56:
 printer=Samsung-M2020-Series
 echo "$CAJA_SCRIPT_SELECTED_FILE_PATHS" | while read file
    do
        lpr -P "$printer" "$file"
 done
 exit 0}}}

 * Aprire un editor di testo e copiarci lo script opportunamente personalizzato
 * Dare i permessi di esecuzione e metterlo nella cartella degli script (click destro->proprietà->permessi).


= Stampa file di LibreOffice selezionati =

Funziona per i file odt e ods di LibreOffice, inoltre stampa tutti i file .doc .docx .pdf .jpeg .png .txt e li stampa '''come si visualizzano su anteprima di stampa'''.<<BR>>
È possibile selezionare più file anche di tipo differente (es un ODT e un ODS).<<BR>>
 * Salvarlo come "Stampa !LibreOffice selezionati"
 * Dare i permessi di esecuzione e metterlo nella cartella degli script.<<BR>>

Anche qui il nome della stampante e del file manager vanno cambiati a seconda delle proprie esigenze: {{{
    #!/bin/bash
    printer=Samsung-M2020-Series
    echo "$CAJA_SCRIPT_SELECTED_FILE_PATHS" | while read file
        do
    /usr/lib/libreoffice/program/swriter -p "$printer" "$file"

    # questo script deve stare nella cartella ~/.local/share/<FILEMANAGER>/scripts
    # Tutti i file eseguibili in questa cartella appariranno nel menù «Script».
    #
    # Print: (according to the selection)
    # all selected files
    # all files in the only selected folder
    # all files in current folder (no selection)


    IFS=$'\n' # don't use <space>,<tab> to split words as part of expansion
    # TODO eliminate the need to change $IFS

    PRINTER=$(lpstat -d | grep -Eo "\S+$")
    folder="$PWD"
    printable="PDF|PNG|JPEG|SVG|OpenDocument|UTF-8|ASCII|Microsoft|Windows"
    # FIXME
    # .doc & .xls created by Excel/Word are matched only if edited by LibreOffice


    # in case of no selection: print all files in current folder
    if [ $# -eq 0 ]; then
        selected=( $(ls "$folder") )

    # if only a folder is selected, it's our target: print all its files
    elif [[ $# == 1 && -d "$1" ]]; then
        folder="${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%$'\n'}" # strip trailing newline
        selected=( $(ls "$folder") )

    # else: print all selected files
    else
        selected=($@)
    fi

    for f in ${selected[@]}; do
        fileType=$(file -b "$folder/$f" | grep -Eo "$printable")
        case $fileType in
            OpenDocument|Microsoft|Windows )
                libreoffice -pt $PRINTER "$folder/$f"
            ;;
            PDF|PNG|JPEG|UTF-8|ASCII )
                lpr -P $PRINTER "$folder/$f"
            ;;
            SVG )
                # depends on imagemagick
                convert "$folder/$f" png:- | lpr -P $PRINTER
            ;;
            * )
                notify-send -i error "Non stampato '$f'"
            ;;
        esac
        [ $? -eq 0 ] || notify-send -i error "ERRORE stampando '$f'"
Linea 80: Linea 109:
    exit 0}}}


Lo script su citato utilizza !LibreoOffice.<<BR>>

Per chi usa !OpenOffice: {{{
    #!/bin/bash
    printer=Samsung-M2020-Series
    echo "$CAJA_SCRIPT_SELECTED_FILE_PATHS" | while read file
        do
    openoffice4 -writer -p -invisible "$printer" "$file"


exit 0
}}}Avere cura di sostituire la stringa '''NAUTILUS''' con il rispettivo nome del file manager in utilizzo (ad es. '''CAJA''').
 * Salvare e chiudere il file.

=== Altri Script per stampante predefinita ===

Ai seguenti link sono presenti script per stampante predefinita con funzionalità parziali:
 * [[AmbienteGrafico/FileManager/ScriptStampa/EsempiAlternativi#tutti_pdf|Stampa TUTTI i PDF contenuti nella cartella]]
 * [[AmbienteGrafico/FileManager/ScriptStampa/EsempiAlternativi#file_selezionati_predefinita|Stampa i file selezionati]]
 * [[AmbienteGrafico/FileManager/ScriptStampa/EsempiAlternativi#file_LibreOffice_predefinita|Stampa file di Libreoffice]]

== Script - stampa con stampante specifica ==

La seguente procedura permette di modificare lo script precedente in modo tale che sia possibile specificare una stampante differente da quella predefinita.

 0. Individuare il nome della stampante in utilizzo digitando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
lpstat -p -d
}}}
 0. A seconda del file manager in utilizzo, creare nella [[#percorso|cartella opportuna]] lo script con il nome:{{{
Stampa con nome-stampante
}}}
 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato.
 0. Supponendo di utilizzare:
  * come file manager: '''Nautilus'''
  * come stampante: '''Samsung-M2020-Series'''
 inserire le seguenti stringhe nello script::{{{

 #!/bin/bash

    # questo script deve stare nella cartella ~/.local/share/<FILEMANAGER>/scripts
    # Tutti i file eseguibili in questa cartella appariranno nel menù «Script».
    #
    # Print: (according to the selection)
    # all selected files
    # all files in the only selected folder
    # all files in current folder (no selection)


    IFS=$'\n' # don't use <space>,<tab> to split words as part of expansion
    # TODO eliminate the need to change $IFS

    PRINTER=Samsung-M2020-Series$
    folder="$PWD"
    printable="PDF|PNG|JPEG|SVG|OpenDocument|UTF-8|ASCII|Microsoft|Windows"
    # FIXME
    # .doc & .xls created by Excel/Word are matched only if edited by LibreOffice


    # in case of no selection: print all files in current folder
    if [ $# -eq 0 ]; then
        selected=( $(ls "$folder") )

    # if only a folder is selected, it's our target: print all its files
    elif [[ $# == 1 && -d "$1" ]]; then
        folder="${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%$'\n'}" # strip trailing newline
        selected=( $(ls "$folder") )

    # else: print all selected files
    else
        selected=($@)
    fi

    for f in ${selected[@]}; do
        fileType=$(file -b "$folder/$f" | grep -Eo "$printable")
        case $fileType in
            OpenDocument|Microsoft|Windows )
                libreoffice -pt Samsung-M2020-Series "$folder/$f"
            ;;
            PDF|PNG|JPEG|UTF-8|ASCII )
                lpr -P Samsung-M2020-Series "$folder/$f"
            ;;
            SVG )
                # depends on imagemagick
                convert "$folder/$f" png:- | lpr -P Samsung-M2020-Series
            ;;
            * )
                notify-send -i error "Non stampato '$f'"
            ;;
        esac
        [ $? -eq 0 ] || notify-send -i error "ERRORE stampando '$f'"
Linea 92: Linea 192:
    exit 0}}}

NB: su [[https://wiki.ubuntu-it.org/Ufficio/ApacheOpenOffice|OpenOffice]] o [[https://wiki.ubuntu-it.org/Ufficio/LibreOffice|LibreOffice]] deve essere installato pdf-import.<<BR>>
Inoltre dando su teminale `libreoffice --help` oppure `openoffice4 -h` si hanno tutte le opzioni dei comandi, ad esempio l'opzione `--pt` che serve per usare una stampante specifica.<<BR>>


= Stampante predefinita =
'''Se non si vuole indicare il nome della stampante''', in modo da stampare sempre sulla stampante di default predefinita (nel caso siano collegate più stampanti sarà sufficiente cambiare la stampante predefinita),
usare questi:

= Stampa tutti i PDF contenuti in una cartella =

Questo script i PDF li stampa proprio '''tutti''', anche se ne seleziona uno solo, quindi mettere tutti i PDF che dobbiamo stampare in una cartella,<<BR>>
click destro-> Script-> Stampa tutti i PDF nella cartella. <<BR>>
La stampante usata da questo script è quella predefinita da Gestione Stampanti.
 * Aprire un editor di testo e copiarci

{{{
for FILE in *.pdf *.PDF ; do lpr "$FILE" ; done}}}

 * Salvare con nome "Stampa TUTTI i PDF nella cartella" e dare i permessi di esecuzione (click destro->proprietà->permessi).
 * Copiare il file nella cartella degli script del proprio gestore file.

= Stampa file selezionati con stampante predefinita =
{{{
#!
}}}

 Avere cura di sostituire la stringa '''NAUTILUS''' con il rispettivo nome del file manager in utilizzo (ad es. '''CAJA''') e '''Samsung-M2020-Series''' con il nome della propria stampante.
 * Salvare e chiudere il file.

=== Altri script per stampante specifica ===

Ai seguenti link sono presenti script per stampante specifica con funzionalità parziali:
 * [[AmbienteGrafico/FileManager/ScriptStampa/EsempiAlternativi#file_selezionati|Stampa i file PDF, JPEG, PNG, TXT selezionati]]
 * [[AmbienteGrafico/FileManager/ScriptStampa/EsempiAlternativi#file_LibreOffice|Stampa file di Libreoffice selezionati]]
  * [[AmbienteGrafico/FileManager/ScriptStampa/EsempiAlternativi#openoffice|Esempio con OpenOffice]]

= Script - accesso impostazioni stampante =

Per comodità può essere utile un accesso rapido alle impostazioni delle stampanti del [[AmministrazioneSistema/CentroDiControllo|Centro di controllo]] tramite clic destro, ad esempio per impostare rapidamente la stampante predefinita.
 0. A seconda del file manager in utilizzo, creare nella [[#percorso|cartella opportuna]] lo script con il nome:{{{
Impostazioni stampanti
}}}
 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato.
 0. Inserire le seguenti stringhe nello script:{{{

 #!/bin/bash
system-config-printer &
}}}
 * Salvare e chiudere il file.

= Eliminare coda di stampa =

Questo ulteriore script è in grado di eliminare le code di stampa. Oltre che essere inserito nella cartella degli script può essere creato un [[AmbienteGrafico/IconeDiAvvio|lanciatore]] sulla scrivania o sul pannello.

 0. A seconda del file manager in utilizzo, creare nella [[#percorso|cartella opportuna]] lo script con il nome:{{{
Eliminare coda di stampa
}}}
 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato.
 0. Inserire le seguenti stringhe nello script:{{{
Linea 119: Linea 229:
echo "$CAJA_SCRIPT_SELECTED_FILE_PATHS" | while read file
    do
       lpr -P "$file"
done
exit 0}}}

<<BR>>


= Stampa file LibreOffice selezionati con stampante predefinita =
 
{{{
#!
#!/bin/bash
echo "$CAJA_SCRIPT_SELECTED_FILE_PATHS" | while read file
    do
/usr/lib/libreoffice/program/swriter -p --invisible "$file"
done
exit 0 0}}}

Sostituire "$CAJA_SCRIPT_SELECTED_FILE_PATHS" con "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" o il nome del proprio file manager

= Eliminare coda di stampa =

Attraverso quest'ulteriore script si può eliminare la coda di stampa. Si può inserire nella cartella degli script oppure creare un lanciatore sulla scrivania o sul pannello: {{{
    #!/bin/bash
    cancel -a
    exit 0}}}
cancel -a
exit 0
}}}
 * Salvare e chiudere il file.
Linea 150: Linea 236:
Per aprire Gestione Stampanti fare clic sullo strumento stampanti nel [[https://wiki.ubuntu-it.org/AmministrazioneSistema/CentroDiControllo|centro di controllo]].

 * [[https://wiki.ubuntu-it.org/Hardware/StampantiScanner|Stampanti e scanner]]
 * [[https://wiki.ubuntu-it.org/Hardware/StampantiScanner/StampanteGnome|Installazione di una stampante su Gnome]]
 * [[https://www.cups.org/index.html|CUPS.org]]


## da questo punto in poi non modificare!
 * [[https://wiki.ubuntu-it.org/Hardware/StampantiScanner|Stampanti e scanner]]
 * [[https://wiki.ubuntu-it.org/Hardware/StampantiScanner/StampanteGnome|Installazione di una stampante su Gnome]]
 * [[https://www.cups.org/index.html|CUPS.org]]
Linea 159: Linea 241:
CategoryHomepage CategoryProduttivita CategoryGrafica


Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Nella seguente guida viene mostrato come ottenere la voce Stampa nel menù contestuale dei file manager Nautilus, Caja e Nemo. Sarà quindi possibile selezionare uno o più file e tramite il clic destro selezionare dal menù contestuale Script → Stampa per avviare immediatamente la stampa.
In questo modo è possibile evitare di aprire singolarmente ogni file per fare clic su Stampa.

Per Thunar si rimanda alla guida specifica.

Preparativi

Assicurarsi di aver installato il pacchetto cups e imagemagick (per il formato .svg).

Configurazione

Gli script dovranno essere creati manualmente in un'opportuna cartella a seconda del file manager in utilizzo:

File manager

Percorso file

Nautilus

~/.local/share/nautilus/scripts

Caja

~/.config/caja/scripts

Nemo

~/.local/share/nemo/scripts

Nei seguenti paragrafi viene trattata nel dettaglio la configurazione degli script.

La modalità di aggiunta voci al menù contestuale può variare in base all'ambiente grafico e al file manager in utilizzo.

Le opzioni generali per le stampanti (come l'impostazione della stampante predefinita) sono disponibili nel centro di controllo.
Vedere anche la pagina Stampanti e scanner

Script di stampa

Utilizzo

Gli script verranno avviati accedendo tramite clic destro al menù contestuale alla voce Script → Stampa. Per fare ciò è possibile agire in diversi modi.

  • Selezionando uno o più file contemporaneamente di vario tipo (PDF, testo, immagini, formati di LibreOffice).

  • Clic destro nello spazio vuoto in una cartella aperta, senza selezionare nessun file. Verranno così stampati tutti i file stampabili all'interno della cartella.

  • Selezionando una cartella chiusa. Come nel caso precedente verranno stampati tutti i file stampabili interni alla cartella.

Gli script sono in grado di riconoscere il tipo di file selezionati. Se per errore viene selezionato un file non stampabile (ad esempio .mp3), allora verrà restituito un messaggio di errore. In caso contrario saranno eseguiti i comandi appropriati per la stampa tramite stampante predefinita.

Script per stampante predefinita

  1. A seconda del file manager in utilizzo, creare nella cartella opportuna lo script con il nome:

    Stampa
  2. Rendere eseguibile il file appena creato.

  3. Supponendo di utilizzare come file manager: Nautilus, inserire le seguenti stringhe nello script:

     #!/bin/bash
    
        # questo script deve stare nella cartella  ~/.local/share/<FILEMANAGER>/scripts
        # Tutti i file eseguibili in questa cartella appariranno nel menù «Script».
        #
        # Print: (according to the selection)
        #       all selected files
        #       all files in the only selected folder
        #       all files in current folder (no selection)
    
    
        IFS=$'\n' # don't use <space>,<tab> to split words as part of expansion
        # TODO eliminate the need to change $IFS
    
        PRINTER=$(lpstat -d | grep -Eo "\S+$")
        folder="$PWD"
        printable="PDF|PNG|JPEG|SVG|OpenDocument|UTF-8|ASCII|Microsoft|Windows"
        # FIXME
        # .doc & .xls created by Excel/Word are matched only if edited by LibreOffice
    
    
        # in case of no selection: print all files in current folder
        if [ $# -eq 0 ]; then
            selected=( $(ls "$folder") )
    
        # if only a folder is selected, it's our target: print all its files
        elif [[ $# == 1 && -d "$1" ]]; then
            folder="${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%$'\n'}" # strip trailing newline
            selected=( $(ls "$folder") )
    
        # else: print all selected files
        else
            selected=($@)
        fi
    
        for f in ${selected[@]}; do
            fileType=$(file -b "$folder/$f" | grep -Eo "$printable")
            case $fileType in
                OpenDocument|Microsoft|Windows )
                    libreoffice -pt $PRINTER "$folder/$f"
                ;;
                PDF|PNG|JPEG|UTF-8|ASCII )
                    lpr -P $PRINTER "$folder/$f"
                ;;
                SVG )
                    # depends on imagemagick
                    convert "$folder/$f" png:- | lpr -P $PRINTER
                ;;
                * )
                    notify-send -i error "Non stampato '$f'"
                ;;
            esac
            [ $? -eq 0 ] || notify-send -i error "ERRORE stampando '$f'"
        done
    
    
    exit 0

    Avere cura di sostituire la stringa NAUTILUS con il rispettivo nome del file manager in utilizzo (ad es. CAJA).

  4. Salvare e chiudere il file.

Altri Script per stampante predefinita

Ai seguenti link sono presenti script per stampante predefinita con funzionalità parziali:

Script - stampa con stampante specifica

La seguente procedura permette di modificare lo script precedente in modo tale che sia possibile specificare una stampante differente da quella predefinita.

  1. Individuare il nome della stampante in utilizzo digitando nel terminale:

    lpstat -p -d
  2. A seconda del file manager in utilizzo, creare nella cartella opportuna lo script con il nome:

    Stampa con nome-stampante
  3. Rendere eseguibile il file appena creato.

  4. Supponendo di utilizzare:
    • come file manager: Nautilus

    • come stampante: Samsung-M2020-Series

    inserire le seguenti stringhe nello script::

     #!/bin/bash
    
        # questo script deve stare nella cartella  ~/.local/share/<FILEMANAGER>/scripts
        # Tutti i file eseguibili in questa cartella appariranno nel menù «Script».
        #
        # Print: (according to the selection)
        #       all selected files
        #       all files in the only selected folder
        #       all files in current folder (no selection)
    
    
        IFS=$'\n' # don't use <space>,<tab> to split words as part of expansion
        # TODO eliminate the need to change $IFS
    
        PRINTER=Samsung-M2020-Series$
        folder="$PWD"
        printable="PDF|PNG|JPEG|SVG|OpenDocument|UTF-8|ASCII|Microsoft|Windows"
        # FIXME
        # .doc & .xls created by Excel/Word are matched only if edited by LibreOffice
    
    
        # in case of no selection: print all files in current folder
        if [ $# -eq 0 ]; then
            selected=( $(ls "$folder") )
    
        # if only a folder is selected, it's our target: print all its files
        elif [[ $# == 1 && -d "$1" ]]; then
            folder="${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%$'\n'}" # strip trailing newline
            selected=( $(ls "$folder") )
    
        # else: print all selected files
        else
            selected=($@)
        fi
    
        for f in ${selected[@]}; do
            fileType=$(file -b "$folder/$f" | grep -Eo "$printable")
            case $fileType in
                OpenDocument|Microsoft|Windows )
                    libreoffice -pt Samsung-M2020-Series "$folder/$f"
                ;;
                PDF|PNG|JPEG|UTF-8|ASCII )
                    lpr -P Samsung-M2020-Series "$folder/$f"
                ;;
                SVG )
                    # depends on imagemagick
                    convert "$folder/$f" png:- | lpr -P Samsung-M2020-Series
                ;;
                * )
                    notify-send -i error "Non stampato '$f'"
                ;;
            esac
            [ $? -eq 0 ] || notify-send -i error "ERRORE stampando '$f'"
        done

    Avere cura di sostituire la stringa NAUTILUS con il rispettivo nome del file manager in utilizzo (ad es. CAJA) e Samsung-M2020-Series con il nome della propria stampante.

  5. Salvare e chiudere il file.

Altri script per stampante specifica

Ai seguenti link sono presenti script per stampante specifica con funzionalità parziali:

Script - accesso impostazioni stampante

Per comodità può essere utile un accesso rapido alle impostazioni delle stampanti del Centro di controllo tramite clic destro, ad esempio per impostare rapidamente la stampante predefinita.

  1. A seconda del file manager in utilizzo, creare nella cartella opportuna lo script con il nome:

    Impostazioni stampanti
  2. Rendere eseguibile il file appena creato.

  3. Inserire le seguenti stringhe nello script:

     #!/bin/bash
    system-config-printer &
  4. Salvare e chiudere il file.

Eliminare coda di stampa

Questo ulteriore script è in grado di eliminare le code di stampa. Oltre che essere inserito nella cartella degli script può essere creato un lanciatore sulla scrivania o sul pannello.

  1. A seconda del file manager in utilizzo, creare nella cartella opportuna lo script con il nome:

    Eliminare coda di stampa
  2. Rendere eseguibile il file appena creato.

  3. Inserire le seguenti stringhe nello script:

    cancel -a
    exit 0
  4. Salvare e chiudere il file.

Ulteriori risorse


CategoryProduttivita CategoryGrafica