slitaz-doc-wiki-data annotate pages/en/guides/printer.txt @ rev 7

Add pages/en folder.
author Christopher Rogers <slaxemulator@gmail.com>
date Sat Feb 26 12:17:18 2011 +0000 (2011-02-26)
parents
children
rev   line source
slaxemulator@7 1 ====== Printing ======
slaxemulator@7 2
slaxemulator@7 3 The CUPS (Common Unix Printing System) software manages printers connected to the local computer or over a network. The local printers are attached via a loop-back connection (IP 127.0.0.1), a network connection pointing to the same system.
slaxemulator@7 4
slaxemulator@7 5 ===== Installing a Network Printer =====
slaxemulator@7 6
slaxemulator@7 7 Install CUPS and add the user(s) to the //lp// group to gain permissions to access the devices. This can be done as root in a terminal:
slaxemulator@7 8
slaxemulator@7 9 <code>
slaxemulator@7 10 # tazpkg get-install cups
slaxemulator@7 11 # addgroup tux lp
slaxemulator@7 12 </code>
slaxemulator@7 13
slaxemulator@7 14 Again as root, customise the default configuration in /etc/cupsd.conf:
slaxemulator@7 15
slaxemulator@7 16 <file>
slaxemulator@7 17 # Administrator user group...
slaxemulator@7 18 SystemGroup lp
slaxemulator@7 19
slaxemulator@7 20 # Restrict access to the admin pages...
slaxemulator@7 21
slaxemulator@7 22 Order allow,deny
slaxemulator@7 23 Allow 127.0.0.1
slaxemulator@7 24
slaxemulator@7 25
slaxemulator@7 26 # Restrict access to configuration files...
slaxemulator@7 27
slaxemulator@7 28 AuthType Default
slaxemulator@7 29 Require user @SYSTEM
slaxemulator@7 30 Order allow,deny
slaxemulator@7 31 Deny From None
slaxemulator@7 32 Allow From 127.0.0.1
slaxemulator@7 33 </file>
slaxemulator@7 34
slaxemulator@7 35 Set the administrative password for CUPS and add an administrative user:
slaxemulator@7 36
slaxemulator@7 37 <code>
slaxemulator@7 38 # lppasswd -g lp -a tux
slaxemulator@7 39 </code>
slaxemulator@7 40
slaxemulator@7 41 You should now be able to have access to the CUPS administration through your browser by entering the address ''<nowiki>http://localhost:631/</nowiki>''
slaxemulator@7 42
slaxemulator@7 43 Install the printer drivers with the following packages:
slaxemulator@7 44
slaxemulator@7 45 - hplip : for HP printers
slaxemulator@7 46 - gutenprint : for Canon, Epson, Lexmark, Sony, Olympus
slaxemulator@7 47 - foomatic-db, foomatic-db-engine, foomatic-db-nonfree and foomatic-filters : several free software printer drivers
slaxemulator@7 48 - ufr2: for Canon printers (extra drivers)
slaxemulator@7 49 - splix: for Samsung
slaxemulator@7 50 - cups-pdf: for "printing" to PDF files
slaxemulator@7 51
slaxemulator@7 52 For example, install the HP printer drivers with the following //root// command
slaxemulator@7 53 <code>
slaxemulator@7 54 # tazpkg get-install hplip
slaxemulator@7 55 </code>
slaxemulator@7 56
slaxemulator@7 57 Now you add a new printer in the browser interface and choose:
slaxemulator@7 58
slaxemulator@7 59 <nowiki>LPD/LPR Host or Printer (Unknown),
slaxemulator@7 60 and add the address socket//192.168.2.1:9100</nowiki>
slaxemulator@7 61
slaxemulator@7 62 If you get the error, "//Returning IPP client-error-document-format-not-supported for Print-Job in /var/log/cups/error.log//" then add two files to the /etc/cups directory. The easiest method is to start a text editor such as Leafpad from a root terminal; start the Terminal and switch to the root user.
slaxemulator@7 63
slaxemulator@7 64 * ''mime.convs'' (/etc/cups/mime.convs):
slaxemulator@7 65 <file>
slaxemulator@7 66 application/pdf application/postscript 33 pdftops
slaxemulator@7 67 application/postscript application/vnd.cups-postscript 66 pstops
slaxemulator@7 68 application/vnd.hp-HPGL application/postscript 66 hpgltops
slaxemulator@7 69 application/x-cshell application/postscript 33 texttops
slaxemulator@7 70 application/x-csource application/postscript 33 texttops
slaxemulator@7 71 application/x-perl application/postscript 33 texttops
slaxemulator@7 72 application/x-shell application/postscript 33 texttops
slaxemulator@7 73 text/plain application/postscript 33 texttops
slaxemulator@7 74 text/html application/postscript 33 texttops
slaxemulator@7 75 image/gif application/vnd.cups-postscript 66 imagetops
slaxemulator@7 76 image/png application/vnd.cups-postscript 66 imagetops
slaxemulator@7 77 image/jpeg application/vnd.cups-postscript 66 imagetops
slaxemulator@7 78 image/tiff application/vnd.cups-postscript 66 imagetops
slaxemulator@7 79 image/x-bitmap application/vnd.cups-postscript 66 imagetops
slaxemulator@7 80 image/x-photocd application/vnd.cups-postscript 66 imagetops
slaxemulator@7 81 image/x-portable-anymap application/vnd.cups-postscript 66 imagetops
slaxemulator@7 82 image/x-portable-bitmap application/vnd.cups-postscript 66 imagetops
slaxemulator@7 83 image/x-portable-graymap application/vnd.cups-postscript 66 imagetops
slaxemulator@7 84 image/x-portable-pixmap application/vnd.cups-postscript 66 imagetops
slaxemulator@7 85 image/x-sgi-rgb application/vnd.cups-postscript 66 imagetops
slaxemulator@7 86 image/x-xbitmap application/vnd.cups-postscript 66 imagetops
slaxemulator@7 87 image/x-xpixmap application/vnd.cups-postscript 66 imagetops
slaxemulator@7 88 image/x-sun-raster application/vnd.cups-postscript 66 imagetops
slaxemulator@7 89
slaxemulator@7 90
slaxemulator@7 91 image/gif application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 92 image/png application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 93 image/jpeg application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 94 image/tiff application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 95 image/x-bitmap application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 96 image/x-photocd application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 97 image/x-portable-anymap application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 98 image/x-portable-bitmap application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 99 image/x-portable-graymap application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 100 image/x-portable-pixmap application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 101 image/x-sgi-rgb application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 102 image/x-xbitmap application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 103 image/x-xpixmap application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 104 image/x-sun-raster application/vnd.cups-raster 100 imagetoraster
slaxemulator@7 105
slaxemulator@7 106 application/vnd.cups-postscript application/vnd.cups-raster 100 pstoraster
slaxemulator@7 107 </file>
slaxemulator@7 108
slaxemulator@7 109 * ''mime.types'' (/etc/cups/mime.types):
slaxemulator@7 110
slaxemulator@7 111 <file>
slaxemulator@7 112 application/pdf pdf string(0,%PDF)
slaxemulator@7 113 application/postscript ai eps ps string(0,%!) string(0,<04>%!) \
slaxemulator@7 114 contains(0,128,<1B>%-12345X) + \
slaxemulator@7 115 (contains(0,4096,"LANGUAGE=POSTSCRIPT") \
slaxemulator@7 116 contains(0,4096,"LANGUAGE = Postscript") \
slaxemulator@7 117 contains(0,4096,"LANGUAGE = PostScript") \
slaxemulator@7 118 contains(0,4096,"LANGUAGE = POSTSCRIPT") \
slaxemulator@7 119 (contains(0,4096,<0a>%!) + \
slaxemulator@7 120 !contains(0,4096,"ENTER LANGUAGE")))
slaxemulator@7 121 application/vnd.hp-HPGL hpgl \
slaxemulator@7 122 string(0,<1B>E<1B>%0B) \
slaxemulator@7 123 string(0,<1B>%-1B) string(0,<201B>)\
slaxemulator@7 124 string(0,BP;) string(0,IN;) string(0,DF;) \
slaxemulator@7 125 string(0,BPINPS;) \
slaxemulator@7 126 (contains(0,128,<1B>%-12345X) + \
slaxemulator@7 127 (contains(0,4096,"LANGUAGE=HPGL") \
slaxemulator@7 128 contains(0,4096,"LANGUAGE = HPGL")))
slaxemulator@7 129
slaxemulator@7 130 ########################################################################
slaxemulator@7 131 #
slaxemulator@7 132 # Image files...
slaxemulator@7 133 #
slaxemulator@7 134
slaxemulator@7 135 image/gif gif string(0,GIF87a) string(0,GIF89a)
slaxemulator@7 136 image/png png string(0,<89>PNG)
slaxemulator@7 137 image/jpeg jpeg jpg jpe string(0,) &&\
slaxemulator@7 138 (char(3,0xe0) char(3,0xe1) char(3,0xe2) char(3,0xe3)\
slaxemulator@7 139 char(3,0xe4) char(3,0xe5) char(3,0xe6) char(3,0xe7)\
slaxemulator@7 140 char(3,0xe8) char(3,0xe9) char(3,0xea) char(3,0xeb)\
slaxemulator@7 141 char(3,0xec) char(3,0xed) char(3,0xee) char(3,0xef))
slaxemulator@7 142 image/tiff tiff tif string(0,MM<002A>) string(0,II<2A00>)
slaxemulator@7 143 image/x-photocd pcd string(2048,PCD_IPI)
slaxemulator@7 144 image/x-portable-anymap pnm
slaxemulator@7 145 image/x-portable-bitmap pbm string(0,P1) string(0,P4)
slaxemulator@7 146 image/x-portable-graymap pgm string(0,P2) string(0,P5)
slaxemulator@7 147 image/x-portable-pixmap ppm string(0,P3) string(0,P6)
slaxemulator@7 148 image/x-sgi-rgb rgb sgi bw icon short(0,474)
slaxemulator@7 149 image/x-xbitmap xbm
slaxemulator@7 150 image/x-xpixmap xpm ascii(0,1024) + string(3,"XPM")
slaxemulator@7 151 #image/x-xwindowdump xwd string(4,<00000007>)
slaxemulator@7 152 image/x-sun-raster ras string(0,<59a66a95>)
slaxemulator@7 153
slaxemulator@7 154 #image/fpx fpx
slaxemulator@7 155 image/x-alias pix short(8,8) short(8,24)
slaxemulator@7 156 image/x-bitmap bmp string(0,BM) && !printable(2,14)
slaxemulator@7 157 image/x-icon ico
slaxemulator@7 158
slaxemulator@7 159 ########################################################################
slaxemulator@7 160 #
slaxemulator@7 161 # Text files...
slaxemulator@7 162 #
slaxemulator@7 163
slaxemulator@7 164 application/x-cshell csh printable(0,1024) + string(0,#!) +\
slaxemulator@7 165 (contains(2,80,/csh) contains(2,80,/tcsh))
slaxemulator@7 166 application/x-perl pl printable(0,1024) + string(0,#!) +\
slaxemulator@7 167 contains(2,80,/perl)
slaxemulator@7 168 application/x-shell sh printable(0,1024) + string(0,#!) +\
slaxemulator@7 169 (contains(2,80,/bash) contains(2,80,/ksh)\
slaxemulator@7 170 contains(2,80,/sh) contains(2,80,/zsh))
slaxemulator@7 171 application/x-csource c cxx cpp cc C h hpp \
slaxemulator@7 172 printable(0,1024) + \
slaxemulator@7 173 (string(0,/*) string(0,//)
slaxemulator@7 174 string(0,#include) contains(0,1024,<0a>#include) \
slaxemulator@7 175 string(0,#define) contains(0,1024,<0a>#define))
slaxemulator@7 176 text/html html htm printable(0,1024) +\
slaxemulator@7 177 (istring(0,"") istring(0,"))
slaxemulator@7 178 text/plain txt printable(0,1024)
slaxemulator@7 179 text/css css
slaxemulator@7 180
slaxemulator@7 181
slaxemulator@7 182 ########################################################################
slaxemulator@7 183 #
slaxemulator@7 184 # RSS feed type...
slaxemulator@7 185 #
slaxemulator@7 186
slaxemulator@7 187 application/rss+xml rss
slaxemulator@7 188
slaxemulator@7 189
slaxemulator@7 190 ########################################################################
slaxemulator@7 191 #
slaxemulator@7 192 # CUPS-specific types...
slaxemulator@7 193 #
slaxemulator@7 194
slaxemulator@7 195 application/vnd.cups-command string(0,'#CUPS-COMMAND')
slaxemulator@7 196 application/vnd.cups-form string(0,"")
slaxemulator@7 197 application/vnd.cups-pdf
slaxemulator@7 198 application/vnd.cups-postscript
slaxemulator@7 199 application/vnd.cups-ppd ppd string(0,"*PPD-Adobe:")
slaxemulator@7 200 application/vnd.cups-raster string(0,"RaSt") string(0,"tSaR")
slaxemulator@7 201 application/vnd.cups-raw (string(0,<1B>E) + !string(2,<1B>%0B)) \
slaxemulator@7 202 string(0,<1B>@) \
slaxemulator@7 203 (contains(0,128,<1B>%-12345X) + \
slaxemulator@7 204 (contains(0,4096,"LANGUAGE=PCL") \
slaxemulator@7 205 contains(0,4096,"LANGUAGE = PCL")))
slaxemulator@7 206
slaxemulator@7 207 ########################################################################
slaxemulator@7 208 #
slaxemulator@7 209 # Raw print file support...
slaxemulator@7 210 #
slaxemulator@7 211 # Comment the following type to prevent raw file printing.
slaxemulator@7 212 #
slaxemulator@7 213
slaxemulator@7 214 application/octet-stream
slaxemulator@7 215 </file>
slaxemulator@7 216
slaxemulator@7 217 <note tip>If at the end of the procedures the printer is not working, restarting the service or computer may help.</note>
slaxemulator@7 218
slaxemulator@7 219 ===== Installing an USB Brother HL 2030 Printer =====
slaxemulator@7 220
slaxemulator@7 221 To install cups, hal-cups-utils, usbutils. As root, type:
slaxemulator@7 222
slaxemulator@7 223 <code>
slaxemulator@7 224 root@slitaz:# tazpkg get-install cups
slaxemulator@7 225 root@slitaz:# tazpkg get-install hal-cups-utils
slaxemulator@7 226 root@slitaz:# tazpkg get-install usbutils
slaxemulator@7 227 </code>
slaxemulator@7 228
slaxemulator@7 229 Cups is used to manage the printer, hal-cups-utils allows cups to use HAL for printer connections and usbutils gives us the lsusb utility which lets us know how the printer is connected.
slaxemulator@7 230
slaxemulator@7 231 Now we can add tux to the lp (printer) group. As root, we do:
slaxemulator@7 232
slaxemulator@7 233 <code>
slaxemulator@7 234 root@slitaz:# addgroup tux lp
slaxemulator@7 235 </code>
slaxemulator@7 236
slaxemulator@7 237 For the web interface of cups to be properly activated, we still need to change a few things in the ///etc/cupsd.conf// file:
slaxemulator@7 238
slaxemulator@7 239 <code>
slaxemulator@7 240 root@slitaz:# leafpad /etc/cups/cupsd.conf
slaxemulator@7 241 </code>
slaxemulator@7 242
slaxemulator@7 243 <file>
slaxemulator@7 244 # Administrator user group...
slaxemulator@7 245 SystemGroup lp
slaxemulator@7 246
slaxemulator@7 247 # Restrict access to the admin pages...
slaxemulator@7 248
slaxemulator@7 249 Order allow,deny
slaxemulator@7 250 Allow 127.0.0.1
slaxemulator@7 251
slaxemulator@7 252
slaxemulator@7 253 # Restrict access to configuration files...
slaxemulator@7 254
slaxemulator@7 255 AuthType Default
slaxemulator@7 256 Require user @SYSTEM
slaxemulator@7 257 Order allow,deny
slaxemulator@7 258 Deny From None
slaxemulator@7 259 Allow From 127.0.0.1
slaxemulator@7 260 </file>
slaxemulator@7 261
slaxemulator@7 262 To modify permissions on the printer you need to know the details of the bus and device. For this, we do as root:
slaxemulator@7 263
slaxemulator@7 264 <code>
slaxemulator@7 265 root@slitaz:# lsusb
slaxemulator@7 266 </code>
slaxemulator@7 267
slaxemulator@7 268 And get the following output:
slaxemulator@7 269
slaxemulator@7 270 <code>
slaxemulator@7 271 Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
slaxemulator@7 272 Bus 001 Device 002: ID 04f9:0027 Brother Industries, Ltd HL-2030 Laser Printer
slaxemulator@7 273 </code>
slaxemulator@7 274
slaxemulator@7 275 You can now change the permissions on the associated file:
slaxemulator@7 276
slaxemulator@7 277 <code>
slaxemulator@7 278 root@slitaz:# chmod 666 /dev/bus/usb/001/002
slaxemulator@7 279 </code>
slaxemulator@7 280
slaxemulator@7 281 And then start cups:
slaxemulator@7 282
slaxemulator@7 283 <code>
slaxemulator@7 284 root@slitaz:# /etc/init.d/cupsd start
slaxemulator@7 285 </code>
slaxemulator@7 286
slaxemulator@7 287 We can now configure the printer and fetch the openprinting ppd file for that printer
slaxemulator@7 288 model: http://www.openprinting.org/printer/Brother/Brother-HL-2030 and also add the following
slaxemulator@7 289 packages: foomatic-filters foomatic-db foomatic-db-engine:
slaxemulator@7 290
slaxemulator@7 291 <code>
slaxemulator@7 292 root@slitaz:# tazpkg get-install foomatic-filters
slaxemulator@7 293 root@slitaz:# tazpkg get-install foomatic-db
slaxemulator@7 294 root@slitaz:# tazpkg get-install foomatic-db-engine
slaxemulator@7 295 </code>
slaxemulator@7 296
slaxemulator@7 297 Now we can restart cups and point midori to http://localhost:631
slaxemulator@7 298
slaxemulator@7 299 Cups then asks for:
slaxemulator@7 300
slaxemulator@7 301 - The login "root" (default tux)
slaxemulator@7 302
slaxemulator@7 303 - The corresponding password.
slaxemulator@7 304
slaxemulator@7 305 Then navigate to > Printers > Add Printer > click on the printer name that you recognize and do not forget to indicate the path in the connection box: ///dev/bus/usb/001/002// (in my case).
slaxemulator@7 306
slaxemulator@7 307 Then go to the web interface of cups ppd and install the new printer using the file Brother HL-2030-hl1250.ppd located in the user's account. Now you can automatically restart cupsd each time you start the system by using System Tools (in the menu) -> Control box -> Initialization and allow the cupsd daemon to run by adding it to the 'Run daemons' section:
slaxemulator@7 308
slaxemulator@7 309 <file>
slaxemulator@7 310 dbus hald firewall slim cupsd
slaxemulator@7 311 </file>
slaxemulator@7 312
slaxemulator@7 313 ===== Installing a HP Printer =====
slaxemulator@7 314
slaxemulator@7 315 <note>This is for a clean installation of SliTaz GNU/Linux cooking-20100314</note>
slaxemulator@7 316
slaxemulator@7 317 - With the printer plugged in and powered on, run <code>
slaxemulator@7 318 # su root
slaxemulator@7 319 # tazpkg recharge
slaxemulator@7 320 # tazhw setup printer</code>
slaxemulator@7 321 - Install only hplip and hal-cups-utils
slaxemulator@7 322 - The printer should show up in the list of printers displayed as part of this command. It will then attempt to open the CUPS admin pages in Midori (at http://localhost:631 )
slaxemulator@7 323 - On my system, the printer does not show up in the browser under 'Find printers' and I get a 'Forbidden' error when trying to add a printer via the browser
slaxemulator@7 324 - Instead, run <code># hp-setup</code> and follow the instructions. The test page should print correctly. The printer should also show up in the list of printers in applications (like the text editor) and will also appear in the list of printers on the CUPS browser pages, although in my case it is still not possible to make any changes to it
slaxemulator@7 325
slaxemulator@7 326 ===== Installing a HP All-In-One Printer/Scanner =====
slaxemulator@7 327
slaxemulator@7 328
slaxemulator@7 329 === Preparation & Packages ===
slaxemulator@7 330
slaxemulator@7 331 Power on the scanner before installing the following packages:
slaxemulator@7 332
slaxemulator@7 333 * xsane
slaxemulator@7 334 * sane-backends
slaxemulator@7 335 * libusb
slaxemulator@7 336 * libusb-compat
slaxemulator@7 337 * usbtools
slaxemulator@7 338 * usbutils
slaxemulator@7 339
slaxemulator@7 340 <note tip>You can automate the process with the following Bash command as //root// user:
slaxemulator@7 341 <code>for PKG in xsane sane-backends-libusb libusb-compat usbtools usbutils; do
slaxemulator@7 342 tazpkg get-install $PKG
slaxemulator@7 343 done</code>
slaxemulator@7 344 </note>
slaxemulator@7 345
slaxemulator@7 346 === Detection ===
slaxemulator@7 347
slaxemulator@7 348 With those packages installed, use the Hardware Detection Tool (Menu > System Tools > Hardware Detection And Drivers)
slaxemulator@7 349 Click on Scanner button
slaxemulator@7 350
slaxemulator@7 351 If your scanner does not show up immediately, enter for none in my set-up; now the scanner device should be listed in purple text, e.g.:
slaxemulator@7 352
slaxemulator@7 353 <file>/dev/bus/usb/004/002</file>
slaxemulator@7 354
slaxemulator@7 355 === Verify Permissions ===
slaxemulator@7 356
slaxemulator@7 357 Your scanner must be in scanner group with 666 permissions
slaxemulator@7 358
slaxemulator@7 359 <code>$ crw-rw-rw- 1 root scanner 189, 385 Jun 22 19:44 /dev/bus/usb/0 </code>
slaxemulator@7 360
slaxemulator@7 361 Reply y to start scanner
slaxemulator@7 362 Warning pops up about running scanner as root
slaxemulator@7 363 Click continue at your own risk button
slaxemulator@7 364 Agree to license
slaxemulator@7 365
slaxemulator@7 366 Xsane should open and be working!
slaxemulator@7 367
slaxemulator@7 368 The //tux// user is automatically added to scanner group, so tux may scan, but if you run under another user name that user can't scan until you add them to //scanner// group. Do this with the command (as //root//):
slaxemulator@7 369
slaxemulator@7 370 <code># addgroup //username// scanner</code>
slaxemulator@7 371
slaxemulator@7 372 ===== Links ====
slaxemulator@7 373
slaxemulator@7 374 * http://www.openprinting.org/printers
slaxemulator@7 375
slaxemulator@7 376 ===== TODO =====
slaxemulator@7 377
slaxemulator@7 378 * Parallel Printer
slaxemulator@7 379
slaxemulator@7 380 ----
slaxemulator@7 381 \\
slaxemulator@7 382 ^ Page Review Section ^^
slaxemulator@7 383 |Quality| Low |
slaxemulator@7 384 |Review| Major Updates FIXME |
slaxemulator@7 385 |Priority| Medium |
slaxemulator@7 386 |Problems| add a [[http://forum.slitaz.org|forum post link]]|
slaxemulator@7 387 |::: | OR add a [[http://labs.slitaz.org/issues |lab issue tracker link ]]|
slaxemulator@7 388 |How to Improve| Suggest briefly|
slaxemulator@7 389 |::: | |
slaxemulator@7 390
slaxemulator@7 391 \\
slaxemulator@7 392 ----