免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 21290 | 回复: 2
打印 上一主题 下一主题

如何在linux下安装打印机 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-11 13:30 |只看该作者 |倒序浏览
我把公司的打印服务搞坏了,自己又从新安装的Red Hat Enterpeis linux 5的不知道应该如何设置安装打印机与共享它,请高人指教一下,小弟在这里十分感谢

论坛徽章:
0
2 [报告]
发表于 2007-04-16 18:52 |只看该作者
为什么没有人回复呢,难到问题太小儿科了吗?


那个高人帮助一下啊,要不会让人郁闷死的,

自己顶了

论坛徽章:
0
3 [报告]
发表于 2007-04-17 12:55 |只看该作者
用Linux做Windosw 9X/NT共享打印服务器 
    
  一、检查打印机硬件  
    
  1.1.并口打印机:连接好数据电缆,打开电源,确认打印机本身正常。  
  Linux系统的内核在启动过程中一般都能正确的探测到机器的并口和串口。并口的设备名一般为/dev/lp0或者/dev/lp1。  
  一般Linux发行套件的内核或者本身支持并口打印,或者把并口打印支持编译成可加栽的模块。前者当然不许我们做任何动作就已经支持,如果是后者,用户必须保证在/etc/rc.d/rc.modules文件中用/sbin/modprobe命令把并口打印模块加栽进内核。  
  2.0.X的内核如下:  
  /sbin/modprobe lp  
  2.2.X的内核大致如下:  
  /sbin/modprobe parport  
  /sbin/modprobe parport_pc io=0x378,0x278 irq=7,5  
  /sbin/modprobe lp  
  *注意,如果你有其他的设备(如声卡),IO地址和中断注意不要设成一样的。  
    
  如果在系统启动时,发现启动信息里面有lp0 at 0x378,(polling)的字样,表明系统已经检测到了并口;  
  如果启动的时候没有看清楚,可以tail /var/log/messages去阅读是否在最新的启动信息里面包含了类似的信息。  
    
  这个时候就可以测试一下,输入命令/usr/bin/lptest,打印机应该会出现输出如下的页面:  
    
  !"#$%&'()*+,-./0123456789:;<=>?@ABC  
  ......  
  1.2.IP网络打印机:设置好IP,子网掩码,基于安全的考虑,建议不要设置路由;保存设置;连接好通往集线器的网线。  
    
  如果能在Linux服务器上远程连接上打印机,出现命令提示符,就OK了。  
    
  二、打印配置  

  2.1.打印软件的选择  
  由于大多数的Linux发行套件都包含了BSD打印系统,加上其易用性,因此得到了广泛的应用。为了支持现代的打印机还必须要安装一些辅助的软件包。一般来说,至少系统上要有如下软件包:  
  Ghostscript,nenscript。大多数的Linux发行套件都包含了这些软件包和另外的一些排版和打印工具。即使出现最糟糕的情况,没有包含以上软件包。可以从Linux的FTP站点或者别的发行套件中获得。  
  Ghostscript ftp://ftp.cs.wisc.edu/ghost/  
  Nenscript ftp://sunsite.unc.edu/pub/Linux/system/printing  
  二者均可在ftp.cdrom.com等映像站点找到。  
    
  2.2.配置printcap文件  
  BSD打印系统的打印机配置文件是/etc/printcap。printcap文件中每条记录对应着设置好的一个打印机队列。我的printcap文件内容如下:  
    
  lp|HP5000|HP:\  
  :sd=/var/spool/lpd/lp:\  
  :mx#0:\  
  :sh:\  
  :rm=10.1.9.199:\  
  :rp=:\  
  :if=/var/spool/lpd/lp/filter:  
    
  如果是本地的并口打印机,可使用如下格式:  
    
  lp|HP6L|HP:\  
  :lp=/dev/lp0:\  
  :sd=/var/spool/lpd/lp:\  
  :mx#0:\  
  :mc#0:\  
  :lf=/var/log/printer-errors:\  
  :if=/var/spool/lpd/lp/filter:  
    
  printcap记录的格式约定如下:  
    
  a)注释行以"#"开始;  
  b)续行号是"\",注意"\"前不能有空格;  
  c)一行和它所有的续行定义一个打印机队列;  
  d)每行中每个域用冒号":"隔开,第一个域前没有":",最后一个域必须有":";  
  e)第一个域定义打印机队列名,每个打印机队列可以有多个名字,用“|”隔开;有“lp”的打印队列为默认的打印队列;  
  f)每个本地打印机队列都必须有一个“lp”域定义打印机连接的端口,如“:lp=/dev/lp0”。  
    
  printcap记录中各主要域的意义如下:  
    
  sd(spool directory):打印缓存目录。一般都默认/var/spool/lpd目录下面的子目录。要注意的一点是目录名必须和第一个打印机队列名一致。在上例中,子目录名称应该为lp,而不是HP5000或者HP。  
    
  lp(Local printer):本地打印设备。如/dev/lp0,/dev/lp1,/dev/ttyS0(串口)等等。不能和rp同时设定。如果设置为串口设备,必须用br(baud rate,串口速率)设定串口的传输速率。  
    
  lf(log file):储存错误信息的记录文件。  
    
  mx(maximum size):打印文件的最大大小。默认值mx#0,即不限制;其他值设置最大文件的块(block)数,在Linux上一个block就是1024字节。  
    
  if(input filter):输入过滤器。如果没有指定if或者of,默认值是/usr/bin/lpf。  
    
  of(output filter):输出过滤器。  
    
  br(baud rate):设定串口速率。  
    
  rp(remote printer):远程打印队列名。不能于串口打印机同时使用;必须用rm指定远程打印机;在使用远程打印机时,一般只需设定sd和if域。  
    
  rm(remote machine):控制远程打印的的远程系统。  
    
  sh(suppress header):不打印标题。一般应该设置这个域。  
    
  mc(maximum copies):最大的打印份数。默认值mc#0,即无限制。  
    
  gf(graph filter):图形过滤器。  
    
    
  2.3.打印过滤器  
  在printcap文件中if域是指定打印过滤器的。指定以后,所有要打印的文件都要先经过打印过滤器再送到打印机上。如果没有指定过滤器,系统会自动使用默认的/usr/bin/lpr作为过滤器使用。现在很多Linux的发行版本中的都包含了打印过滤器,如Redhat的printtool包。当然我们也可以自己编写利用已有软件的打印过滤器。以下就是一个HP LaserJet 4/5/6L可以使用的一个简单的过滤器:  
    
  #!/bin/bash  
  DEVICE=ljet4  
  RESOLUTION=600X600  
  PAPAERSIZE=a4  
  SENDOF=  
  nenscript -TUS -ZB -p- |  
  if 〔 "$DEVICE"="Postscript" 〕; then  
  cat -  
  else  
  gs -q -sDEVICE=$DEVICE \  
  -r$RESOLUTION \  
  -sPAPERSIZE=$PAPERSIZE \  
  -dNOPAUSE \  
  -dSAFER  
  -sOutputFile= - -  
  fi  
  if 〔 "$SENDOF"!=""〕;then  
  printf ""  
  fi  
  exit 0  

  2.4.打印机共享  
  在Linux上是通过samba和Windows网络进行文件和打印机共享的,所以要求要求Linux服务器上安装并启动了samba。同样,现在发行的绝大多数发行版本都包含了samba。可以到http://www.samba.org去了解和下载最新的版本。  
    
  我的/etc/smb.conf文件内容如下:  
    
  〔global〕  
  workgroup = AISAINFO #设置工作组  
  server string = Samba Server  
  hosts allow = 10. 127.  
  printcap name = /etc/printcap #指定printcap位置  
  load printers = yes #载入打印机  
  printing = bsd #打印系统类型  
  security = server #安全模式,我采用的是Windosw NT用户模式  
  password server = NTSERVER1 #Windows NT模式的口令服务器,使用主域/备份域控制器  
  password level = 8  
  username level = 8  
  domain controller = NTSERVER1  
  wins support = no  
  oplocks = False  
  preserve case = yes  
  short preserve case = yes  
  postscript = True #使用postscript  
  〔homes〕  
  comment = Home Directories  
  browseable = no  
  writable = yes  
    
  〔printers〕 #打印机设置区  
  comment = All Printers  
  path = /var/spool/samba  
  browseable = yes  
  guest ok = yes  
  writable = no  
  printable = yes  
  samba正常启动后,在网上邻居就可以看到共享的Linux设置的打印服务器了。然后在各客户端选择  
  开始菜单->设置->打印机->添加打印机->...->选择好打印机型号,好了,mission accomplished!  

  三、Redhat上的PrintTool简单说明  

  很幸运,现在Linux很多的发行版本提供图形界面的配置工具,刚开始的时候Redhat的PrintTool就是一种。  
    
  这样我们就可以,跳过2.2和2.3两个繁琐的部分,而仅仅需要在printtool里面简单的选择  
  add->choose printer type->...->lpc restart all就OK了。  
    
  我add的Remote Unix(lpd) Queue输入内容如下:  
    
  Names (name1|name2|...) lp  
  Spool Directory /var/spool/lpd/lp  
  File Limit in Kb (0=no limit) 0  
  Remote Host 10.1.9.199  
  Remote Queue  
  Input Filter Select *auto* - PostScript
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP