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 46 e 47
Versione 46 del 22/10/2025 16.07.35
Dimensione: 12790
Autore: ivantu
Commento: +24.04 +22.04
Versione 47 del 07/05/2026 17.48.09
Dimensione: 13486
Autore: ivantu
Commento: +26.04; +correzioni
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 7: Linea 7:
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=627033"; rilasci="24.04 22.04 20.04 18.04")>> <<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=627033"; rilasci="26.04 24.04 22.04 20.04 18.04")>>
Linea 11: Linea 11:
Nella seguente guida viene mostrato come ottenere voci relative alle funzionalità di stampa nel menù contestuale dei file manager '''Nautilus''', '''Caja''' e '''Nemo''' attivabile tramite click destro.<<BR>>
Questo è reso possibile dalla creazione di opportuni script attraverso i quali saranno possibili azioni come ad esempio, selezionare uno o più file e tramite il click destro avviarne immediatamente la stampa evitando di aprire singolarmente ogni file.
Nella seguente guida viene mostrato come ottenere voci relative alle funzionalità di stampa nel menù contestuale (attivabili tramite click destro) dei [[AmbienteGrafico/FileManager|file manager]] '''Nautilus''', '''Caja''' e '''Nemo''' .

L'integrazione avviene tramite la creazione di [[Programmazione/Script|script]] che permettono di selezionare uno o più file e avviarne la stampa immediata, senza la necessità di aprire singolarmente ogni documento.
Linea 20: Linea 21:
[[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://cups|cups]], [[apt://printer-driver-cups-pdf|printer-driver-cups-pdf]] e [[apt://imagemagick|imagemagick]] (per il formato `.svg`). [[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://cups|cups]], [[apt://printer-driver-cups-pdf|printer-driver-cups-pdf]].

[[AmministrazioneSistema/InstallareProgrammi|Installare]] per ulteriore supporto a tipologie di file:
 *
[[apt://imagemagick|imagemagick]] (per il supporto ai file .svg)
 * [[apt://libnotify-bin|libnotify-bin]] (per le notifiche a schermo
).
Linea 24: Linea 29:
La modalità di aggiunta voci al menù contestuale può variare in base all'[[AmbienteGrafico|ambiente grafico]] e al [[AmbienteGrafico/FileManager|file manager]] in utilizzo.<<BR>> Gli script dovranno essere creati manualmente in un'opportuna cartella: La modalità per l'aggiunta di voci al menù contestuale varia in base all'[[AmbienteGrafico|ambiente grafico]] e al [[AmbienteGrafico/FileManager|file manager]] di utilizzo.<<BR>> Gli script devono essere creati manualmente nelle seguenti cartelle:
Linea 35: Linea 40:
Le opzioni generali per le stampanti (come l'impostazione della stampante predefinita) sono disponibili nel [[AmministrazioneSistema/CentroDiControllo|centro di controllo]].<<BR>>Vedere anche la pagina [[Hardware/StampantiScanner|Stampanti e scanner]].}}} Le opzioni generali per le stampanti (come l'impostazione della stampante predefinita) sono disponibili nel [[AmministrazioneSistema/CentroDiControllo|centro di controllo]].<<BR>>Vedere anche la pagina [[Hardware/StampantiScanner|Stampanti e scanner]].
}}}
Linea 39: Linea 45:
Lo script verrà avviato 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.
Lo script verrà avviato accedendo tramite clic destro al menù contestuale alla voce '''''Script → [Nome Script]'''''. Per fare ciò è possibile agire in diversi modi.
  * '''Selezione multipla''': selezionando uno o più file contemporaneamente di vario tipo (PDF, testo, immagini, documenti di !LibreOffice).
  * '''Spazio vuoto''': cliccando in un'area vuota di una cartella, vengono stampati tutti i file supportati presenti.
  * '''Su una cartella:''' selezionando una cartella chiusa, vengono stampati tutti i file supportati in essa contenuti.
Linea 45: Linea 51:
Lo script è in grado di riconoscere il tipo di file selezionato. 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.}}} Lo script identifica automaticamente il tipo di file. Qualora venga selezionato un file non stampabile (ad esempio un file `.mp3`), viene generata una notifica di errore, mentre per i file compatibili vengono eseguiti i relativi comandi di stampa.
}}}
Linea 49: Linea 56:
 0. Creare nella [[#Configurazione|cartella opportuna]] lo script con il nome:{{{
Stampa
}}}
 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato.
 0. Inserire le seguenti stringhe nello script:{{{
 0. Accedere alla [[#Configurazione|cartella degli script]] relativa al proprio file manager.
 0. Aprire un nuovo file script con un [[Ufficio/EditorDiTesto|editor di testo]] e inserire le seguenti stringhe:{{{
Linea 113: Linea 117:

{{{#!wiki important
Avere cura di sostituire la stringa '''NAUTILUS''' con il rispettivo nome del file manager in utilizzo (ad es. '''CAJA''').}}}
 * Salvare e chiudere il file.
 {{{#!wiki important
 È fondamentale sostituire '''NAUTILUS''' con il nome corretto del file manager utilizzato (es: '''CAJA''' o '''NEMO''') affinché lo script funzioni correttamente con le cartelle.
 }}}
 0. Salvare il file con il nome `Stampa`. Chiudere il file e l'editor di testo.
 0. Rendere il file [[Programmazione/Script#exec|eseguibile]].
Linea 195: Linea 200:
}}}

{{{#!wiki important
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.}}}
 }}}
 {{{#!wiki important
 È fondamentale sostituire '''NAUTILUS''' con il nome corretto del file manager utilizzato (es: '''CAJA''' o '''NEMO''') affinché lo script funzioni correttamente con le cartelle.
 }}}
Linea 208: Linea 213:
= Script - accesso impostazioni stampante = = Script per gestione stampante =

== A
ccesso rapido impostazioni ==
Linea 216: Linea 223:
#!
#!/bin/bash
system-config-printer &
}}}
 *
Salvare e chiudere il file.

= Eliminare coda di stampa =
 
 #!/bin/bash
 system-config-printer &
 }}}Salvare e chiudere il file.

== Eliminare coda di stampa ==
Linea 229: Linea 235:
Eliminare coda di stampa
}}}
 Eliminare coda di stampa
 }}}
Linea 233: Linea 239:
#!
#!/bin/bash
cancel -a
exit 0
}}}
 * Salvare e chiudere il file.
 In alternativa p
er cancellare la cronologia di stampa, oltre che annullare i lavori in attesa, inserire le seguenti stringhe nel suddetto script:{{{
#!
   #!/bin/bash
 cancel -a
 exit 0
 }}}Salvare e chiudere il file.

In alternativa:

 * Per cancellare la cronologia di stampa, oltre che annullare i lavori in attesa, inserire le seguenti stringhe nel suddetto script:{{{
Linea 245: Linea 252:

Il
comando {{{ lprm }}} annulla l'ultimo lavoro di stampa.
 * Per annullare l'ultimo lavoro di stampa, inserire il comando:{{{
 lprm
 }}}
Linea 251: Linea 258:
== Script fronte retro ==

 0. Creare nella [[#Configurazione|cartella opportuna]] lo script con il nome:{{{
Stampa_pag_dispari
}}}
0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato.
 0. Inserire le seguenti stringhe nello script:{{{  #!/bin/bash

echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file
    do
lpr -o page-set=odd "$file"
done
exit 0
}}}
 * Salvare e chiudere il file.
0. Con la medesima procedura creare lo script con il nome:{{{
Stampa_pag_pari
}}}
0. Inserire le seguenti stringhe nello script:{{{
#!/bin/bash

echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file
   do
lpr -o page-set=even -o outputorder=reverse "$file"
done
exit 0
}}}
 *
Salvare e chiudere il file.
{{{#!wiki important
Avere cura di sostituire la stringa '''NAUTILUS''' con il rispettivo nome del file manager in utilizzo (ad es. '''CAJA''').}}}
== Script - Pagine fronte retro ==

 * Pagine dispari
 
0. Creare nella [[#Configurazione|cartella opportuna]] lo script con il nome:{{{
  Stampa_pag_dispari
  }}}
 
0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato.
  0. Inserire le seguenti stringhe nello script:{{{
    
#!/bin/bash

  echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file
      do
  
lpr -o page-set=odd "$file"
  done
  
exit 0
  }}}Salvare e chiudere il file.
  {{{#!wiki important
  È fondamentale sostituire '''NAUTILUS''' con il nome corretto del file manager utilizzato (es: '''CAJA''' o '''NEMO''') affinché lo script funzioni correttamente con le cartelle.
  
}}}
 * Pagine pari:
 
0. Con la medesima procedura creare lo script con il nome:{{{
  Stampa_pag_pari
  }}}
 
0. Inserire le seguenti stringhe nello script:{{{

  
#!/bin/bash

  echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file
     do
  
lpr -o page-set=even -o outputorder=reverse "$file"
  done
  
exit 0
  }}}Salvare e chiudere il file.
  {{{#!wiki important
  È fondamentale sostituire '''NAUTILUS''' con il nome corretto del file manager utilizzato (es: '''CAJA''' o '''NEMO''') affinché lo script funzioni correttamente con le cartelle.
  }}}


Guida verificata con Ubuntu: 22.04 24.04 26.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Nella seguente guida viene mostrato come ottenere voci relative alle funzionalità di stampa nel menù contestuale (attivabili tramite click destro) dei file manager Nautilus, Caja e Nemo .

L'integrazione avviene tramite la creazione di script che permettono di selezionare uno o più file e avviarne la stampa immediata, senza la necessità di aprire singolarmente ogni documento.

Per Thunar si rimanda alla guida specifica.
Per Dolphin si rimanda alla guida specifica.
Per PCManFM/PcManFM-Qt si rimanda alla guida specifica.

Preparativi

Installare i pacchetti cups, printer-driver-cups-pdf.

Installare per ulteriore supporto a tipologie di file:

Configurazione

La modalità per l'aggiunta di voci al menù contestuale varia in base all'ambiente grafico e al file manager di utilizzo.
Gli script devono essere creati manualmente nelle seguenti cartelle:

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.

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

Lo script verrà avviato accedendo tramite clic destro al menù contestuale alla voce Script → [Nome Script]. Per fare ciò è possibile agire in diversi modi.

  • Selezione multipla: selezionando uno o più file contemporaneamente di vario tipo (PDF, testo, immagini, documenti di LibreOffice).

  • Spazio vuoto: cliccando in un'area vuota di una cartella, vengono stampati tutti i file supportati presenti.

  • Su una cartella: selezionando una cartella chiusa, vengono stampati tutti i file supportati in essa contenuti.

Lo script identifica automaticamente il tipo di file. Qualora venga selezionato un file non stampabile (ad esempio un file .mp3), viene generata una notifica di errore, mentre per i file compatibili vengono eseguiti i relativi comandi di stampa.

Script per stampante predefinita

  1. Accedere alla cartella degli script relativa al proprio file manager.

  2. Aprire un nuovo file script con un editor di testo e inserire le seguenti stringhe:

     #!/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
    • È fondamentale sostituire NAUTILUS con il nome corretto del file manager utilizzato (es: CAJA o NEMO) affinché lo script funzioni correttamente con le cartelle.

  3. Salvare il file con il nome Stampa. Chiudere il file e l'editor di testo.

  4. Rendere il file eseguibile.

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. 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
    • È fondamentale sostituire NAUTILUS con il nome corretto del file manager utilizzato (es: CAJA o NEMO) affinché lo script funzioni correttamente con le cartelle.

  5. Salvare e chiudere il file.

Altri script per stampante specifica

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

Script per gestione stampante

Accesso rapido impostazioni

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. 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 &
    Salvare e chiudere il file.

Eliminare coda di stampa

Questo ulteriore script è in grado di annullare tutti i lavori in attesa nella coda di stampa (per la stampante predefinita).

Oltre che essere inserito nella cartella degli script può essere creato un lanciatore sulla scrivania o sul pannello.

  1. 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:

     #!/bin/bash
     cancel -a
     exit 0
    Salvare e chiudere il file.

In alternativa:

  • Per cancellare la cronologia di stampa, oltre che annullare i lavori in attesa, inserire le seguenti stringhe nel suddetto script:

    cancel -a -x
    exit 0
  • Per annullare l'ultimo lavoro di stampa, inserire il comando:

     lprm

Stampare PDF fronte retro

Script - Pagine fronte retro

  • Pagine dispari
    1. Creare nella cartella opportuna lo script con il nome:

        Stampa_pag_dispari
    2. Rendere eseguibile il file appena creato.

    3. Inserire le seguenti stringhe nello script:

        #!/bin/bash
      
        echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file
            do
               lpr -o page-set=odd "$file"
        done
        exit 0
      Salvare e chiudere il file.
      • È fondamentale sostituire NAUTILUS con il nome corretto del file manager utilizzato (es: CAJA o NEMO) affinché lo script funzioni correttamente con le cartelle.

  • Pagine pari:
    1. Con la medesima procedura creare lo script con il nome:

        Stampa_pag_pari
    2. Inserire le seguenti stringhe nello script:

        #!/bin/bash
      
        echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file
           do
               lpr -o page-set=even -o outputorder=reverse "$file"
        done
        exit 0
      Salvare e chiudere il file.
      • È fondamentale sostituire NAUTILUS con il nome corretto del file manager utilizzato (es: CAJA o NEMO) affinché lo script funzioni correttamente con le cartelle.

Procedura di stampa

A questo punto è possibile procedere alla stampa fronte retro:

  1. Stampare prima le pagine dispari.
  2. Girare i fogli con la parte stampata a faccia in giù.
  3. Stampare le pagine pari.

Stampa fronte retro da terminale

In alternativa se non si desidera creare altre voci nel menù contestuale, per stampare un PDF fronte retro è possibile dare i seguenti comandi da terminale:

lpr -o page-set=odd 'percorso file da stampare'

Girare i fogli con la parte stampata a faccia in giù e quindi digitare

lpr -o page-set=even -o outputorder=reverse 'percorso file da stampare'

Ulteriori risorse


CategoryProduttivita CategoryGrafica