在Linux下打印最常见的问题是如何使用Windows的打印机。很多Windows打印机,使用不同的机制打印,并且不提供任何Linux驱动和文档。有人可能想到通过Samba访问共享的Windows打印机。当用户在Windows下安装一个基于网络共享的打印机的时候,Windows会根据对方打印机的类型安装相应的驱动。但因为Windows并没有一种基于网络、独立于设备的打印机数据传输协议,所以一般的Linux打印配置程序到了这一步都会提示用户选择打印机型号。
在Windows机器上装PostScript模拟器,就可以解决这个问题把用户的Windows打印机虚拟成一台标准的PostScript打印机,然后共享它。这样只要Windows打印机能打印,用户就可以在Linux中使用它。
实现过程
下面介绍一下具体的实现过程,以Windows 98下共享打印机为例。
1.在Windows下设置好打印机
2.下载下列相关软件
软 件 名:Ghostscript for Win9x
下载地址:
http://www.cs.wisc.edu/~ghost/doc/AFPL/get811.htm软 件 名:GSView for Win9x
下载地址:
http://www.cs.wisc.edu/~ghost/gsview/index.htm软 件 名:RedMon for Win9x
下载地址:
http://www.cs.wisc.edu/~ghost/redmon/ 3.安装软件
软件下载完成后,依次安装GhostScript、GSView和RedMon。
在安装Ghostscipt时,用户记住安装路径就可以。
安装完GSView,需要对GSPrint进行配置。在GSView的目录下找到gsprint.exe这个程序,然后在它的同级目录下编译gsprint.cfg配置文件,内容如下:
-noquery
-color /*单色打印机不要这一行*/
-printer
My Windows Printer
-ghostscript
“c:\gs\gs8.11\bin\gswin32c.exe”/
*注意这个地方换成用户的GhostScript对应文件所在路径*/
写完配置文件后可以试着打印一个ps文件。ps文件在GhostScript的安装目录里的examples目录下有很多。
安装RedMod很简单,运行setup即可。
4.安装虚拟PostScript打印机
在Windows 98的控制面板中,双击“打印机”图标,在弹出的选项页中用鼠标右键单击“添加打印机”按钮,在打印机类型中选择任何一个PostScript打印机都可以,建议选择Apple LaserWriter Ⅱ NT。
在选择打印机端口的时候,可以先选择FILE。安装结束后在“控制面板”—“打印机”里面查看新装的打印机的属性。在该属性页面中点击“详细信息”选项卡,再点击其中的“添加端口”,选择Redirected Port。添加完后,点击“端口设置”,在Redirect this port to the program后面填上用户的gsprint.exe的完整路径,紧接下一行填一个“-”。用户在这一页可以设定log file,在以后打印出问题的时候可以根据这个来检查。全部完成后选择“OK”保存退出,回到打印机属性页。最后在“详细信息”的选项页下,点击“后台打印设定”,然后选择“禁用该打印机的双向支持”。
到这里虚拟打印机就配置完成了。如果一切正常,回到端口设置页,把Run的值从Normal改为Hidden。这样就不会每次打印都跳出一个对话框来了。
5.安装Samba打印机
虚拟PS打印机顺利安装后,把它共享。假设共享名是Apple,在Linux下可以用“smbclient -L //主机名”来查看输出的共享名里面有没有打印机。如果一切正确,在浏览器地址栏里输入
http://localhost:631,使用向导添加新的Samba打印机即可。 小结
Windows下的打印机标准类型为GDI打印机,而Linux默认支持的是PostScript打印机。这就导致了Windows的打印机不一定能在Linux下使用。本文提供了一个解决方法,希望能对大家有所帮助!