Anleitung fuer: SLP100/410, SLP200/420, SLP240/430, SLP440, SLP450
Hallo!
Die Frage, wie man denn diesen Drucker unter Ubuntu-Linux installiert, wurde beim Strippenstrolch gestellt: http://www.strippenstrolch.de/board/thema.php?board=1&thema=178
http://www.strippenstrolch.de/board/imguploads/SeikoSLPLinuxDriver.zip
Menü: Anwendungen -> Zubehör -> Terminal
Im Terminal gibst du diesen Befehl ein:
sudo su -
Danach wirst du nach deinem Passwort gefragt. Dass du zum Superuser geworden bist, siehst du am Prompt. Der beginnt jetzt mit "root@" und endet mit "#".
Wenn du dir sicher gehen möchtest, dann kannst du im Terminal auch den Befehl whoami
eingeben.
aptitude install build-essential
C/C++-Programme brauchen oft so genannte Header-Dateien von den Programmbibliotheken, die beim Programmieren des Programmes eingebunden werden.
Oft sind solche Pakete bereits in der Paketverwaltung der Linux-Distribution zu finden. Diese sind meist mit den Endungen "-dev" oder "-development" versehen.
Die Bibliotheken, Header-Dateien, usw. von denen der Treiber abhängt, installiert man so:
aptitude install libcups2-dev
aptitude install libcupsys2-dev
aptitude install libcupsimage2-dev
aptitude install libjpeg-dev
aptitude install zlib1g-dev # Hinweis: das ist eine Eins im Namen
Das könnte man auch alles mit einem Befehl installieren:
aptitude install build-essential libcups2-dev libcupsys2-dev libcupsimage2-dev libjpeg-dev zlib1g-dev
Zuerst entpackt man das Zip-Archiv. Mit einem Doppelklick... Einfach in den Desktop-Ordner.
Dann muss man im Terminal in den entpackten Ordner wechseln.
cd /home/<eigener Benutzername>/Desktop/SeikoSLPLinuxDriver
Mal kurz kontrollieren:
ls -al
Das Ergebnis sieht bei mir so aus:
root@gerold-ubuntu:/home/gerold/Desktop/SeikoSLPLinuxDriver# ls -al
insgesamt 216
drwx------ 2 gerold gerold 4096 2009-10-13 19:06 .
drwxr-xr-x 3 gerold gerold 4096 2009-10-13 19:20 ..
-rw-r--r-- 1 gerold gerold 3690 2007-04-25 10:52 DriverUtils.cxx
-rw-r--r-- 1 gerold gerold 1670 2007-04-25 10:52 DriverUtils.h
-rwx------ 1 gerold gerold 82 2007-04-24 12:39 ._.DS_Store
-rwx------ 1 gerold gerold 15364 2007-04-24 12:39 .DS_Store
-rw-r--r-- 1 gerold gerold 82 2007-04-15 23:12 ._LICENSE.txt
-rw-r--r-- 1 gerold gerold 15962 2007-04-15 23:12 LICENSE.txt
-rwx------ 1 gerold gerold 3832 2007-05-07 14:48 makefile
-rwx------ 1 gerold gerold 82 2007-05-07 14:48 ._makefile
-rw-r--r-- 1 gerold gerold 14670 2007-04-25 10:52 RasterToSIISLP.cxx
-rw-r--r-- 1 gerold gerold 1841 2007-04-25 10:52 RasterToSIISLP.h
-rw-r--r-- 1 gerold gerold 82 2007-05-07 12:26 ._README.txt
-rw-r--r-- 1 gerold gerold 5163 2007-05-07 12:26 README.txt
-rw-r--r-- 1 gerold gerold 1211 2007-04-25 10:52 SeikoInstrumentsVendorID.h
-rw-r--r-- 1 gerold gerold 1386 2007-04-25 10:52 SeikoSLPCommands.h
-rwx------ 1 gerold gerold 6362 2007-05-07 14:48 siislp100.ppd
-rwx------ 1 gerold gerold 12343 2007-05-07 14:48 siislp200.ppd
-rwx------ 1 gerold gerold 12343 2007-05-07 14:48 siislp240.ppd
-rwx------ 1 gerold gerold 12328 2007-05-07 14:48 siislp440.ppd
-rwx------ 1 gerold gerold 12328 2007-05-07 14:48 siislp450.ppd
-rw-r--r-- 1 gerold gerold 13875 2007-04-25 10:52 SIISLPProcessBitmap.cxx
-rw-r--r-- 1 gerold gerold 3444 2007-04-25 10:52 SIISLPProcessBitmap.h
-rwx------ 1 gerold gerold 2931 2006-10-21 12:50 SLP2RL-203-outline.png
-rwx------ 1 gerold gerold 1850 2006-10-21 12:50 SLP2RL-203-solid.png
-rwx------ 1 gerold gerold 5716 2006-10-21 12:50 SLP2RL-300-outline.png
-rwx------ 1 gerold gerold 3835 2006-10-21 12:50 SLP2RL-300-solid.png
Jetzt kann man die Kompilation des Treibers starten:
make
Das Ergebnis sieht bei mir so aus:
root@gerold-ubuntu:/home/gerold/Desktop/SeikoSLPLinuxDriver# make
make clean
make[1]: Betrete Verzeichnis '/home/gerold/Desktop/SeikoSLPLinuxDriver'
rm -f seikoslp.rastertolabel *.o *~
rm -f *.gz
rm -rf "/usr/share/cups/model/seiko"
rm -rf "/home/gerold/Desktop/SeikoSLPLinuxDriver/pretty"
make[1]: Verlasse Verzeichnis '/home/gerold/Desktop/SeikoSLPLinuxDriver'
g++ -o seikoslp.rastertolabel *.cxx -lcupsimage -lcups -ltiff -ljpeg -lpng -lgssapi_krb5 -lgnutls -lz -lpthread -lm -lcrypt
RasterToSIISLP.cxx: In function »void DumpArgs(int, char**)«:
RasterToSIISLP.cxx:351: Warnung: format »%0x« erwartet Typ »unsigned int«, aber Argument 3 hat Typ »long int«
RasterToSIISLP.cxx: In function »void OutputStringToCUPS(SInt32, SInt32, SInt32)«:
RasterToSIISLP.cxx:383: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
RasterToSIISLP.cxx:392: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
# set up the filter directory in the ppd correctly.
perl -p -i -e 's(^.cupsFilter.*\Z) <*cupsFilter: "application/vnd.cups-raster 0 /usr/lib/cups/filter/seikoslp.rastertolabel">g' siislp100.ppd
perl -p -i -e 's(^.cupsFilter.*\Z) <*cupsFilter: "application/vnd.cups-raster 0 /usr/lib/cups/filter/seikoslp.rastertolabel">g' siislp200.ppd
perl -p -i -e 's(^.cupsFilter.*\Z) <*cupsFilter: "application/vnd.cups-raster 0 /usr/lib/cups/filter/seikoslp.rastertolabel">g' siislp240.ppd
perl -p -i -e 's(^.cupsFilter.*\Z) <*cupsFilter: "application/vnd.cups-raster 0 /usr/lib/cups/filter/seikoslp.rastertolabel">g' siislp440.ppd
perl -p -i -e 's(^.cupsFilter.*\Z) <*cupsFilter: "application/vnd.cups-raster 0 /usr/lib/cups/filter/seikoslp.rastertolabel">g' siislp450.ppd
# set up the icon directory in the ppd correctly.
perl -p -i -e "s#\(^.APPrinterIconPath.*\)\n##g" siislp100.ppd
perl -p -i -e "s#\(^.APPrinterIconPath.*\)\n##g" siislp200.ppd
perl -p -i -e "s#\(^.APPrinterIconPath.*\)\n##g" siislp240.ppd
perl -p -i -e "s#\(^.APPrinterIconPath.*\)\n##g" siislp440.ppd
perl -p -i -e "s#\(^.APPrinterIconPath.*\)\n##g" siislp450.ppd
root@gerold-ubuntu:/home/gerold/Desktop/SeikoSLPLinuxDriver#
Jetzt braucht man noch einen Ordner, in den die Dateien gelegt werden können. Warum auch immer. Der Installationsprozess schlägt fehl, wenn man diesen Ordner nicht erstellt:
mkdir /usr/share/cups/model
Danach kann man die Installation starten:
make install
Das Ergebnis sieht bei mir so aus:
root@gerold-ubuntu:/home/gerold/Desktop/SeikoSLPLinuxDriver# make install
make build
make[1]: Betrete Verzeichnis '/home/gerold/Desktop/SeikoSLPLinuxDriver'
make clean
make[2]: Betrete Verzeichnis '/home/gerold/Desktop/SeikoSLPLinuxDriver'
rm -f seikoslp.rastertolabel *.o *~
rm -f *.gz
rm -rf "/usr/share/cups/model/seiko"
rm -rf "/home/gerold/Desktop/SeikoSLPLinuxDriver/pretty"
make[2]: Verlasse Verzeichnis '/home/gerold/Desktop/SeikoSLPLinuxDriver'
g++ -o seikoslp.rastertolabel *.cxx -lcupsimage -lcups -ltiff -ljpeg -lpng -lgssapi_krb5 -lgnutls -lz -lpthread -lm -lcrypt
RasterToSIISLP.cxx: In function »void DumpArgs(int, char**)«:
RasterToSIISLP.cxx:351: Warnung: format »%0x« erwartet Typ »unsigned int«, aber Argument 3 hat Typ »long int«
RasterToSIISLP.cxx: In function »void OutputStringToCUPS(SInt32, SInt32, SInt32)«:
RasterToSIISLP.cxx:383: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
RasterToSIISLP.cxx:392: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
# set up the filter directory in the ppd correctly.
perl -p -i -e 's(^.cupsFilter.*\Z) <*cupsFilter: "application/vnd.cups-raster 0 /usr/lib/cups/filter/seikoslp.rastertolabel">g' siislp100.ppd
perl -p -i -e 's(^.cupsFilter.*\Z) <*cupsFilter: "application/vnd.cups-raster 0 /usr/lib/cups/filter/seikoslp.rastertolabel">g' siislp200.ppd
perl -p -i -e 's(^.cupsFilter.*\Z) <*cupsFilter: "application/vnd.cups-raster 0 /usr/lib/cups/filter/seikoslp.rastertolabel">g' siislp240.ppd
perl -p -i -e 's(^.cupsFilter.*\Z) <*cupsFilter: "application/vnd.cups-raster 0 /usr/lib/cups/filter/seikoslp.rastertolabel">g' siislp440.ppd
perl -p -i -e 's(^.cupsFilter.*\Z) <*cupsFilter: "application/vnd.cups-raster 0 /usr/lib/cups/filter/seikoslp.rastertolabel">g' siislp450.ppd
# set up the icon directory in the ppd correctly.
perl -p -i -e "s#\(^.APPrinterIconPath.*\)\n##g" siislp100.ppd
perl -p -i -e "s#\(^.APPrinterIconPath.*\)\n##g" siislp200.ppd
perl -p -i -e "s#\(^.APPrinterIconPath.*\)\n##g" siislp240.ppd
perl -p -i -e "s#\(^.APPrinterIconPath.*\)\n##g" siislp440.ppd
perl -p -i -e "s#\(^.APPrinterIconPath.*\)\n##g" siislp450.ppd
make[1]: Verlasse Verzeichnis '/home/gerold/Desktop/SeikoSLPLinuxDriver'
mv seikoslp.rastertolabel "/usr/lib/cups/filter/"
mkdir "/usr/share/cups/model/seiko"
gzip -c siislp100.ppd >> siislp100.ppd.gz
gzip -c siislp200.ppd >> siislp200.ppd.gz
gzip -c siislp240.ppd >> siislp240.ppd.gz
gzip -c siislp440.ppd >> siislp440.ppd.gz
gzip -c siislp450.ppd >> siislp450.ppd.gz
mv *.ppd.gz "/usr/share/cups/model/seiko"
root@gerold-ubuntu:/home/gerold/Desktop/SeikoSLPLinuxDriver#
Nach einem Neustart des Computers, könnte es evt. sein, dass der Drucker automatisch erkannt wird, wenn er angeschlossen wird.
Ich habe in einer virtuellen Maschine (Sun VirtualBox) eine Ubuntu 9.4 Live DVD gestartet. Ganz ohne Festplatte. Es handelt sich also um ein komplett reines Ubuntu 9.4.
Zum Glück hatte ich genug RAM, um in der virtuellen Maschine auch Wink installieren zu können. So konnte ich den Installationsversuch aufzeichnen.
Der erste Teil war nur ein Test, ob brauchbare Bilder raus kommen.
Ich habe mich genau an die Anleitung gehalten. Nur statt dem beschriebenen Neustart, habe ich
/etc/init.d/cups restart
ausgeführt. Denn ein Neustart wäre mit der Live-DVD nicht möglich gewesen. ;-) Aber es funktioniert auch, wenn man nur Cups neu startet.
lg
Gerold
:-)
Ich programmiere Progressive Web Applications, Mobile Apps, Desktop-Programme und noch vieles mehr. Falls es dich interessiert, findest du mehr Informationen darüber auf meiner Business-Website.