Mtinkd


Az mtinkd egy kis szerver, ami engedi használni az mtink vagy ttink állapotmonitort, amikor nyomtatás folyik.
Az mtinkd csak olyan EPSON nyomtatókkal működik, amelyek támogatják az EPSON-D4 protokollt. Az első készülék, amelyik támogatta ezt a protokollt, talán a Stylus Color 740 és a Stylus Scan 2000/2500.

Tartalom:

Syntax
Nyomtatás mtinkd-vel
Az indító szkript konfigurációja
ttink hívása
mtink hívása
mtinkd indítása rendszerindításkor
Műveletelmélet
Hibák
Lásd még

Syntax:

mtink [start|stop|status] -dev <device file>  [-nodaemon] [-model <model name>] [-name <modelname] [-usbbase <path and device file base>] 

Speciális opciók a SYS V start / stop szkripthez

start


A szerver indulni fog. Az indítást ki lehet hagyni.

stop


Egy működő szerver leáll.

status


Ez engedi a lekérdezést, ha a szerver működik.

 



Normál opciók

-dev

eszköz fájl

Ez az opció kötelező és megfelelően használva megadja az állapotot, vagy leállít egy futó szervert.
Az eszközfájl az eszköz jellegének megfelelően, amelyiken a nyomtató csatlakoztatva van (/dev/lp0, /dev/usb/lp0, /dev/ecpp0, ...)

-nodaemon


Ezt az opciót teszteléshez terveztem, enélkül az mtink a háttérben indul.

-model

modell neve

Ha a nyomtató nem ad vissza azonosítót, bejelölheti, milyen nyomtatót csatlakoztatott. A név a hivatalos névből van nyerve, a szóköz karakter helyett "_ " karakter van alkalmazva. Így lesz a Stylus Scan 2500 esetében (modell név Scan_2500).
Ez az opció szintén hasznos lehet az olyan többfunkciós eszközhöz, mint a Stylus Photo 895 Linux alatt. Ha a nyomtató ki van kapcsolva, majd utána be, az usb kernel nem fogja detektálni helyesen a nyomtatót, és az mtinkd-t legalább leállítani és újraindítani kell.

-name

név

A nevezett cső nevét fogja beállítani ennek a névnek megfelelően. Ha a -model opció nincs megadva, az mtinkd le fog állni, ha az azonosítás visszatérve nem egyezik az engedélyezett névvel.

-usbbase

elérési útvonal és eszköz fájl bázis

CSAK LINUXHOZ Ez az opció egy speciális rendszerhívást igényel, amit csak az újabb kernelek tudnak végrehajtani.
A -type <név> opció követelmény !
Elérési útvonal és fájlbázis lehet az /usr/usblp vagy /usr/usl/lp. Minden eszközfájl egyezése az engedélyezett névvel kutatva lesz a keresett nyomtatóhoz, az eszköz fájlt később fogja használni.
Ha a kernel nem támogatja a speciális hívást, hibát fog keresni és ha a -dev <device file> opció adott, a megadott eszköz fájl nevet fogja azután használni.

Nyomtatás mtinkd-vel

Az usb vagy párhuzamos portot nem tudja egyidejűleg egynél több folyamatra használni. Az mtink ezért tartalmaz egy csövet, és újra konfigurálhatja a nyomtatási szolgáltatást ennek megfelelően.

A nevezett cső a /var/lib/mtink könyvtár alatt van telepítve. A fájl neve az eszköz fájl névből és elérési útvonalból van eredeztetve.

Például a fájl neve

Eszközfájl

Named pipe name

Remark

/dev/lp0

/var/lib/mtink/lp0


/dev/usb/lp0

/var/lib/mtink/usb_lp0

The "/" is replaced by a "_"

/dev/printer/0

/var/lib/mtink/printer_0





Név hozzáadása -type-pal



Photo 890

/var/lib/mtink/Photo_890

The " " are replaced by "_" characters


Ha a saját nyomtatási rendszerét konfigurálja, válassza a /var/lib/mtink/xxx fájlt.
Ha nem használ cups-ot, győződjék meg róla, hogy a nyomtatási rendszert ne írja át egyidejűleg a nevezett csövön!

A ttink hívása

Rendes körülmények között a ttink-et például a -d /dev/lp0 opcióval hívhatja. Ha az mtinkd szervert használja, a ttink-et a -d /var/lib/mtink/lp0 opcióval kell indítani.

Az mtink hívása

Az mtink-et a szokásos módon hívhatja. Ha a kiválasztott eszköz zárolt, az mtink engedi a /var/lib/mtink/* fájlok kiválasztását..

Műveletelmélet

Mtinkd és mtink / ttink osztott memórián át kommunikálnak. Az osztott  memória létrejön a szerver folyamatnál és ennek a memóriának van egy kulcsa, ami a /var/lib/mtink/<name> fájlból van kalkulálva. A nyomtatási munkák a /var/lib/mtink/<name> fájlhoz vannak küldve. Ha az adatokat felismeri az mtinkd ebben a fájlban, ezek az adatok a D4 protokollba vannak csomagolva és a nyomtatóhoz egy adatcsatornán át küldi. A lekérdezések vagy parancsok az mtink / ttink-ből az osztott memóriába iródnak és a D4 vezérlőcsatornán át vannak küldve. Mindkét adatvezérlő csatorna egymástól független, így tud információt szerezni, amikor egy nyomtatási munka fut.

A problémák megelőzése érdekében, csak egy felhasználói felületet (mtink vagy ttink) tud az mtinkd szerverhez kapcsolni.


Linux sajátosság:

A nyomtató ki/be kapcsolását rendes körülmények között az mtinkd végzi, azonban az usb meghajtó azonosítási problémák okozója lehet, a csatlakoztatott eszköz egynél több eszközt tart vissza, mint nyomtatót és tárolót. Ebben az esetben állítsa le a démont és indítsa újra azt. Ha ez nem segít, törölje a nyomtató modult és illessze be ismét.

Az mtinkd indítása bootolásnál

A démon integrálását különböző rendszerekbe a start, status és stop opciók mtinkd démonhoz adásával teheti lehetővé könnyedén . Ezt engedi meg a start script drámai leegyszerűsítése. Egy példa szkriptet tartalmaz a forrás etc alkönyvtár:


# define the device file, adapt this
#DEV_FILE=/dev/usb/lp0
# Special options, adapt this
SPEC="-name $NAME -usbbase /dev/usb/lp"
# where the program is located
PROG=/usr/local/sbin/mtinkd
case $1 in
    start|stop|status)
        names=""
        if [ -f /etc/mtinkd.conf ]
        then
           while read opt1 name opt2 dev; do
              if [ $opt1 = -name ]
              then
                  echo -n "$1 `basename $0` for $name " 
                  if $PROG $1 $opt1 $name $opt2 $dev
                  then
                     echo RUN
                  else
                     echo STOP
                 fi
              fi
           done < /etc/mtinkd.conf
        else
           for f in /dev/usb/lp* /dev/lp; do
               name=`askPrinter $f | grep '[:,]D4[,;]' | sed -n '/Stylus/s/.*:EPSON Stylus \(.*\);/\1/pg' | tr ' ' '_'`
               if [ ! -z $name ]; then
                   echo -n "$1 `basename $0` for $name "
                   if echo $f | grep usb > /dev/null; then
                      $PROG $1 -name $name -usbbase /dev/usb/lp
                   else
                      $PROG $1 -name $name -dev $f
                   fi
                   if [ $? -eq 0 ]
                   then
                      echo RUN
                   else
                      echo STOP
                   fi
               fi
           done
        fi
        RETVAL=$?;;
   restart)
        $0 stop
        sleep 2
        $0 start
        RETVAL=$?;;
   *)
        echo "Syntax `basename $0` start|stop|status|restart"
        RETVAL=1;;
esac


Kérem, vegye figyelembe, hogy szükséges lesz egy szerver minden EPSON nyomtatóhoz, ha olyan szerencséje van, hogy több ilyen készüléke van.
Ebben az esetben gondoskodjon a  start/stop szkriptekről különböző nevekkel, például mtink.lp0 mtink.usblp0 és javítsa ki a DEV_FILE=/dev/usb/lp0 sort a szkriptben.

Figyelmeztetés

A szerver nem engedi más gyártóktól származó nyomtatók detektálását, és a szerver használata egy nem támogatott nyomtatóval meghibásodást okozhat.

Az indító szkript konfigurációja:

Linux alatt a szkript /usr/sbin/mtink-installInitScript generál minden szükséges linket a /etc/rc.d/* könyvtárakban és az /etc/mtinkd.conf konfigurációs fájlt. A nyomtatónak a számítógépre csatlakoztatva és bekapcsolva kell lennie az mtink-installInitScript indításakor.

Hibák

Valószínűleg sok.

Lásd még

mtink
mtinkc
ttink
gimp-installInitScript

Szerző:

Jean-Jacques Sarton
jj.sarton@t-online.de
http://xwtools.automatix.de