实现UNIX网络打印

数码时尚

  UNIX操作系统作为各类服务器的主流操作系统,本身只提供本地打印,而没提供网络打印功能,给用户使用共享打印机带来了不便。为此笔者利用UNIX的sh编程、网络文件拷贝rcp及远程执行命令等功能,轻松地实现了网络打印,具体步骤如下:

  1.组建TCP/IP网络

  将几台UNIX主机安装网卡及TCP/IP协议软件,组成TCP/IP网络,配置好IP地址,保证相互间能ping通。

  2.设置网络打印服务器

  选定接有打印机的UNIX主机作为实现网络打印的服务器(如:主机名为lpserv,IP地址8.11.72.88),并建立LP假脱机打印系统。

  在/tmp目录下,建立网络打印的文件存放目录prntmp。

  修改/etc/hosts文件,将其他主机(以下称客户机)的IP地址,主机名(如:机名Ipguesta,IP地址8.11.72.12)设置在里面,/etc/hosts应有以下内容:

  8.11.72.88 lpserv ip88

  8.11.72.12 Ipguest ip12

  再修改(如没有则增加)/.rhosts文件,将客户机的主机名存放在其中,主机名用回车隔开。

  3.设置客户机

  修改客户机上的/etc/hosts,增加一行,内容如下:

  8.11.72.88 lpserv ip88

  在/usr/bin下增加一文件lanlp(sh程序),执行chmod a+x lanlp命令使之具有可执行功能。lanlp内容如下:

  tar cvf prnzcc $* #将要打印的文件打包在prnzcc文件中

  rcp prnzcc lpserv:/tmp/prntmp #将prnzcc文件拷贝到网络打印服务器中

  rcmd lpserv -l root cd /tmp/prntmp \;tar xvf prnzcc \; lp $* #调用网络打印服务器上的tar解包,再调用IP进行打印

  4.使用

  在客户机上“#”的提示符下,运行lanlp文件就可进行网络打印了。