Configuration de Kprinter avec cups

Un article de Mille-Xterm.

Jump to: navigation, search

Sommaire

Configuration de Kprinter sur Mandrake 10.2

Afin d'utiliser cups avec des filtres d'impression, il est possible d'utiliser un script qui génère les imprimantes à utilisé à l'aide du fichier lst.conf. Pour que cela fonctionne, il est nécessaire que le configurateur possède les modifications nécessaires à la base de données. Voir : Modifications apporté à la base de données

Installation du script mille-printing.sh

Si vous avec un poste qui a déjà ce script d'insallé, il est possible de le copier avec la commande :

  • scp /usr/sbin/mille-printing.sh root@mxt-appX:/usr/sbin

Sinon, il est possible de le créer avec la procédure suivante :

Configuration de kdeprintrc

La configuration de kdeprintrc peu être configurer globalement ou dans le profil de l'utilisateur :

  • Configuration Globale  : /etc/kde/kdeprintrc
  • Configuration Personnel : /home/user/.kde/share/config/kdeprintrc

Note : Il est souvent plus avantageux d'utiliser la configuration globale afin de minimiser la gestion de la configuration

Dans le fichier kdeprintrc attribuer les valeurs suivantes :

[CUPS][$i]
Host=ADDRSSE_DU_SERVEUR
Port=631
Login[$ie]=$(id -un)

[Filter][$i]
Printers[$ie]=$(/usr/sbin/mille-printing.sh filter)

Note : Si vous avec un poste qui a déjà ce script, il est possible de le copier à partir de la commande :

  • scp /etc/kde/kdeprintrc root@mxt-appX:/etc/kde/

Configuration de kdeglobals

La configuration de kdeprintrc être configurer globalement ou dans le profil de l'utilisateur :

  • Configuration Globale  : /etc/kde/kdeglobals
  • Configuration Personnel : /home/user/.kde/share/config/kdeglobals

Note : Il est souvent plus avantageux d'utiliser la configuration globale afin de minimiser la gestion de la configuration

Dans le fichier kdeglobals attribuer les valeurs suivantes :

[KDE Action Restrictions]
lock_screen=false
shell_access=false
show_hidden=false
action/menuedit[$i]=false
warn_unwritable_config=false
print/options[$ie]=$(/usr/sbin/mille-printing.sh action_restriction)
print/properties[$ie]=$(/usr/sbin/mille-printing.sh action_restriction)

[KPrinter Settings]
DialogReduced=true
FilterEnabled[$ie]=$(/usr/sbin/mille-printing.sh filter_enabled)
Printer[$ie]=$(/usr/sbin/mille-printing.sh default)

Note : Si vous avec un poste qui a déjà ce script, il est possible de le copier à partir de la commande :

  • scp /etc/kde/kdeglobals root@mxt-appX:/etc/kde/

Configuration de kprinterrc

La configuration de kdeprintrc être configurer globalement ou dans le profil de l'utilisateur :

  • Configuration Globale  : /etc/kde/kprinterrc
  • Configuration Personnel : /home/user/.kde/share/config/kprinterrc

Note : Il est souvent plus avantageux d'utiliser la configuration globale afin de minimiser la gestion de la configuration

Dans le fichier kprinterrc attribuer les valeurs suivantes :

Note : Il est possible que ce fichier existe pas. Si vous avez à le créer, assurez-vous d'avoir les bon droits avec la commande :
chmod 644 /etc/kde/kprinterrc

[KPrinter Settings]
DialogReduced=true
FilterEnabled[$ie]=$(mille-printing.sh filter_enabled)
Printer[$ie]=$(mille-printing.sh default)
 
[KDE Action Restrictions]
print/options[$ie]=$(/usr/sbin/mille-printing.sh/mille-printing.sh action_restriction)
print/properties[$ie]=$(/usr/sbin/mille-printing.sh/mille-printing.sh action_restriction)

Si vous avez un autre poste qui a déjà ce script d'installé, il est possible de le copier à partir de la commande :

  • scp /etc/kde/kprinterrc root@mxt-appX:/etc/kde/

Définir Kprinter comme méthode d'impression par défaut

En général, le système d'impression utilisé par défaut est lpr. Il est possible de forger les application à utiliser kprinter en redirigant lpr sur lpr-cups. Pour faire pointer lpr sur Kprinter, il faut :

  • Exécuter : update-alternatives --config lpr
  • Choisir : lpr-kprinter

Si lpr-kprinter n'est pas présent :

  • Exécuter : update-alternatives --install /usr/bin/lpr lpr /usr/bin/lpr-kprinter 7

Code source de Script mille-printing.sh

Créer un fichier sous /usr/sbin/mille-printing.sh avec les droits 755 qui contient les lignes suivantes :

#!/bin/bash
# The script purpose is to return ltsp printing attributes for the current terminal
# It can be called from kprinter configuration files
# To be copied in /usr/sbin
#
# Copyright 2005 , Commission scolaire de Laval
# Stephane Bond, sbond@cslaval.qc.ca
# Patrice Gauvin, pgauvin@cslaval.qc.ca
#
# This file is part of the MILLE-XTERM distribution.
# See the MILLE-XTERM (english) and the MILLE (french) project
#
#       http://www.revolutionlinux.com/mille-xterm/
#       http://www.mille.ca/
#
# The MILLE-XTERM framework is covered by the GNU General Public License.  See
# the COPYING file in the top-level MILLE-XTERM directory.  Software packages
# that are included in the MILLE-XTERM distribution have their own licenses.
#
# ------------------------------------------------------------------------- 

CMD=${1:-"default"}
ACTION_RESTRICTION="true"
FILTER_ENABLED="true" 

MYXTERM_IP=`echo $DISPLAY | cut -f1 -d":"`
if [ -r /tmp/lts.conf.$MYXTERM_IP ] ; then
        eval `getltscfg -a -c /tmp/lts.conf.$MYXTERM_IP`
        # We get PRINTER_LIST and DEFAULT_PRINTER
        if [ ! $PRINTER_LIST ] ; then
                ACTION_RESTRICTION="false"
                FILTER_ENABLED="false"
        fi
fi

# Execute command
if [ "$CMD" = "default" ] ; then
        # Print the default printer
        echo "$DEFAULT_PRINTER" 

elif [ "$CMD" = "filter_enabled" ] ; then
        # Print if the filter is enabled
        echo "$FILTER_ENABLED"

elif [ "$CMD" = "filter" ] ; then
        # Print the filter
        echo "$PRINTER_LIST"

elif [ "$CMD" = "action_restriction" ] ; then
        # Print if actionrestriction is enabled
        echo "$ACTION_RESTRICTION"
fi
exit 0

Références

Developer.kde.org
Cups.org
exemple