⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0610hardware.htm

📁 鸟哥的linux私房菜
💻 HTM
📖 第 1 页 / 共 5 页
字号:
		最后,当你要离开印表机的设定时,他会显示是否要储存的动作,当然选择『Yes』啊!
		不然设定可不会被记录下来的喔!<br><br>
		<center><img src="0610hardware/setup_printer_8.jpg" border=1
			title="Setup 的 Printer 选择部分"
			alt="Setup 的 Printer 选择部分"><br>
			图、Setup 的 Printer 选择部分</center><br>

		其实印表机在 Linux 上面设定是挺麻烦的,尤其是您必须要清楚的了解到印表机使用的模组为何?
		所以,基本上,使用这个项目来设定好你的印表机,实在是一个不错的方法。
		而刚刚的动作做完后,其实会有几个资料被更动,分别是∶<ul><span class=text_import2>
		<li>/etc/cups/printers.conf∶主要是印表机的相关设定项目;
		<li>/etc/cups/cupsd.conf∶使用 printer 权限的设定项目;
		<li>/etc/cups/ppd/hp2300.ppd∶就是刚刚我们选择的印表机型号的模组。</span></ul>

		更多与印表机有相关的资料,我们在底下的 CUPS 章节再来讨论棉~<br><br>
	</div>

	<hr><li><span class=text_import1>System services</span></li>
	<div class=block2>
		基本上,这个就是 ntsysv 啦~这个我们已经在 <a href="0560daemons.php#ntsysv">认识系统服务</a>
		当中提过了,所以就不再浪费章节啦!<br><br>
	</div>

	<hr><li><span class=text_import1>Timezone configuration</span></li>
	<div class=block2>
		时区的设定,其实就是找出与 /etc/sysconfig/clock 有关的设定项目而已。
		实际上,下面图示出现的咚咚,就是在 /usr/share/zoneinfo/ 有关而已。<br><br>
		<center><img src="0610hardware/setup_time.jpg" border=1
			title="Setup 的时区选择部分"
			alt="Setup 的时区选择部分"><br>
			图、Setup 的时区选择部分</center><br>



	</div>

	<hr><li><span class=text_import1>X configuration</span></li>
	<div class=block2>
		说穿了,其实就是直接设定 X Server 的设定档,在 Xorg 就是 /etc/X11/xorg.conf 啦!
		至于整个结果有没有成功,还得要观察 <span class=text_import2>/var/log/Xorg.setup.log</span>
		这个档案的输出结果才能了解喔!<br><br>
	</div>

	鸟哥个人认为,这个 setup 的工具是很好用的~只是,如果能够完全清楚整个系统架构的话,
	再来玩这个小程式会比较好啦! ^_^。当然棉,印表机的工具实在很不错~
	可以提供给您参考参考!<br><br>
</div>


<hr><a NAME="cups"></a><img src="images/penguin-m.gif" alt="大标题的图示" height="34" width="25" align="middle" /><span class="text_h1">利用 CUPS 架构您的印表机∶</span><br>
<div class=block1>
	印表机对于日常生活来说,很重要吧!呵呵~没错啊!尤其我们的 Linux 主机如果未来还要作为
	Printer server 的话,那么自然就得要先建立好印表机的连线啦!刚刚前一个小节我们仅是简单的利用
	setup 来建立一部不存在的印表机而已~基本上,你必须要了解到整个 Linux 针对列印的动作是如何,
	才能够清楚的了解到我们要如何管理印表机啊! ^_^<br><br>

	<hr><li><span class=text_import1>BIOS 当中,针对印表机的设定项目∶</span></li>
	<div class=block2>
		在印表机的设定当中,鸟哥曾经发生过一件相当糗的事情,我拼了老命的设定 
		LPRng 以及 CUPS 就是无法设定好 Printer ,虽然已经连上印表机了,但是就是印出来都是乱码,
		很伤脑筋~等到我花了一整天去恶搞之后,最后竟然发现,错误的地方在于『BIOS 的平行埠设定』唉!
		伤脑筋的很~还记得每次开机的时候系统都会去读取 BIOS 的设定吗?一般来说,按下 DEL 
		按键后,会进入 BIOS 的设定画面,在该画面当中,选择相关的设定参数,与 Parallel 
		有关的项目,将『模组』改成 EPP/SPP 吧!这样就可以支援您的印表机了!天呐!
		就因为这个设定值,让鸟哥花了一两天的时间,还差一点将主机砸掉....<br><br>
	</div>

	<hr><li><span class=text_import1>Linux printer 的列印工作之进行∶</span></li>
	<div class=block2>
		在 Linux 环境下,如何开始一个列印工作呢?基本上,列印工作当然是由程式所产生的啦~
		不论是 Open Office  之类的办公软体,或者是直接以 lpr 来进行列印的工作,反正,总是需要有列印的指令后,
		产生一些资讯,交给印表机来处理就是了。在进入印表机的实际列印之前,
		Linux 会先将该项列印工作放置到伫列 (queue) 当中,而每一项工作都会被分为两个档案,
		分别是实际要列印的资料,以及该列印工作的权限啊!。
		最后由 Linux 所支援的列印模式 (LPRng 或 CUPS) 来将该资料转成印表机认识的格式后,
		就可以由印表机输出了。等到列印完毕,该工作就会被 queue  所移除。<br><br>

		就是因为如此,因此,我们虽然建立了一个不存在,或者是印表机暂时无法使用的情况下,
		依旧是可以使用列印软体来列印资料的,只是该列印工作会被暂时存放在 queue 当中就是了。
		另外,那个列印模式是很重要的一个概念喔!
		印表机通常仅认识自己的资料格式,所以,我们必须要让 Linux 将资料处理成印表机能够读取的资料格式啊!
		一般来说,Linux  里面有个很通用的列印资讯,亦即是 Postscript 列印格式,
		但是您的印表机可不见得会支援这种格式。果真如此时,就得要使用所谓的滤镜 (filter)
		来处理资料成为印表机认识的格式了。<br><br>

		由于 postscript 的列印比较好,因此,实在很建议您,
		直接购买支援 postscript 列印格式的印表机就好了。那么如何得知您的印表机是否支援该格式?
		建议您可以前往这里查阅一下棉∶
		<ul><li><a href="http://www.linuxprinting.org/"
			target="_blank">http://www.linuxprinting.org/</a></ul>
		举例来说,我们研究室使用的是 HP Laserjet 2300 的机型,所以鸟哥选择了上面网页当中的 
		Printer list,亦即是∶<a href="http://www.linuxprinting.org/printer_list.cgi"
		target="_blank">http://www.linuxprinting.org/printer_list.cgi</a> ,然后选择
		『HP』与『LaserJet 2300』后,出现如下网页的连结∶
		<a href="http://www.linuxprinting.org/show_printer.cgi?recnum=HP-LaserJet_2300"
		target="_blank">http://www.linuxprinting.org/show_printer.cgi?recnum=HP-LaserJet_2300</a> ,
		在该网页当中,他有提到 Postscript 的格式在这部印表机上面可是工作的很完美喔!
		呵呵!这样就对啦! ^_^<br><br>
	</div>

	<hr><li><span class=text_import1>Linux Printer 的 daemon</span></li>
	<div class=block2>
		Linux 管理印表机的 daemon 主要分为两种,一种是 LPRng ,一种则是较新的 CUPS
		( Common Unix Printing System )。我们这里仅就 CUPS 来进行说明棉。<br><br>

		刚刚提到,我们的列印工作是由程式达成的,例如 lpr 等指令。
		而列印工作被建立后,则被放置到伫列当中等待 Linux print daemon 的分析与转换。
		这个 CUPS 的 daemon 就是在进行这个资料转换的工作啦!<br><br>

		CUPS 除了可以利用 /etc/cups/mime.types 辨识待转换列印资料的格式之外,
		他还可以使用不同的滤镜 (filter) 来转换格式,相关的滤镜都放置到 /usr/lib/cups/filter/ 目录下。
		当然啦,我们提到有个 postscript 列印格式吧,是否为 postscript 格式有不同的转换方法喔∶
		<ul>
		<li><span class=text_import2>Postscript 格式</span><br>
		由于 Linux 对于印表机格式最熟悉的就是 postscript 了,因此,如果是 postscript 
		的印表机,那么列印资料将会被 /etc/cups/mime.conves 及 /usr/lib/cups/filter/pstops
		转换与分析页数,然后直接交给印表机将资料输出!</li><br>

		<li><span class=text_import2>非 postscript 格式</span><br>
		当您的印表机对 postscript 格式并不支援时,那么该资料便会以其他的滤镜进行资料格式的转换。
		转换的资料可能是 Ghostscript 格式,或者是直接以印表机的格式来直接列印。
		无论如何,您还是得要了解一下印表机的列印格式才行啊!
		</ul>

		为了要让资料变成 postscript ,好让印表机能够顺利的列印,因此,
		我们的 cups 会去参照所谓的 Postscript Printer Discription (PPD),
		亦即是 postscript 的印表机描述定义资料,并且依据该定义来将资料转换成为 
		postscript 的格式啊!<br><br>

		事实上, CUPS 已经帮我们建立了很多 PPD 定义档了,透过这些 PPD 档案的描述,
		我们的 CUPS 可以自行取得适用的滤镜,不再需要像以前的 LPRng ,还得要自行测试滤镜是否工作成功说!
		这些适用的 PPD 都被放置到底下的目录当中了∶
		<ul><span class=text_import2><li>/usr/share/cups/model</span></li></ul>

		但是,由于这些定义资料都可能一直在更新,因此,我们的 FC4 使用的是利用 foomatic 
		这个套件来辅助进行线上驱动程式的下载呢!所以啊,如果您的 Linux 
		没有连接上 Internet 的话,那么可能就无法取得最正确的印表机描述定义档 (PPD) 了。
		另外,在鸟哥看过的 Distributions 当中, SuSE server 9 就直接将整个印表机的 PPD 由
		<a href="http://www.linuxprinting.org/download/PPD/"
		target="_blank">http://www.linuxprinting.org/download/PPD/</a> 捉下来,
		呵呵!也是可以啦!所以说,如果您想要自行下载最新的列印格式定义档案,
		那就自行到 http://www.linuxprinting.org/ 去搜寻属于您的印表机 ppd 档案,
		然后将他放置到 /usr/share/cups/model/ 当中即可!<br><br>
	</div>

	<hr><li><span class=text_import1>CUPS 支援的连线模式</span></li>
	<div class=block2>
		在一般内部区域网路当中,较常见的印表机连结方式与分享方式有底下这几种∶<ul>

		<li><span class=text_import2>socket</span><br>
			资料透过 internet socket(埠口)来传送,一般为 port 9100 或 35。
			如果想要进行资料的传输与列印,可以透过在浏览器上面输入∶
			socket://host-printer:9100/ 来进行。不过,这种模式不常用就是了。</li><br>
		<li><span class=text_import2>LPD (Line Pritner Daemon)</span><br>
			就是我们之前提到的 LPRng 所支援的主要 daemon 啦~他是较早的列印协定啊,
			主要是利用序列埠来达成列印的需求,印表机名称就是 LPT1/LPT2... 等等。
			目前还是可以在比较早期的 Linux distributions 看到这种列印方式。</li><br>
		<li><span class=text_import2>IPP (Internet Printing Protocol)</span><br>
			这是目前比较流行的印表机列印协定,我们的 CUPS 预设也是支援这种协定啊!
			当启动 IPP 时,印表机会启动 port 631 ,列印的资料就是透过这个
			port 来进行传送的。另外,如果您的印表机或者 Linux 主机启动了 ipp 之后,
			嘿嘿!你可以直接使用浏览器,输入∶ ipp://printer_IP/printername
			就能够直接线上处理印表机的设定了!方便的很啊!</li><br>
		<li><span class=text_import2>SMB (Standard Message Block)</span><br>
			也有称为 Server Message Block 的,那是什么啊?说穿了,不就是网路上的芳邻吗?
			没错啦!就是利用网芳提供的印表机来进行列印的意思!
			协定使用的是∶ smb://user:password@host/printer 。</ul>

		我们 FC4 预设的 CUPS 使用的就是 IPP 这个协定说~也就是说,我们的 Linux 如果能够顺利的接上 printer 的话,
		那么他就是一部网路印表机了啦!就这么简单啊~那么我们的 CUPS 预设可以支援哪些连接介面呢?
		有底下这些啦∶<ul>
		<li>parallel ∶平行序列埠啊,就是 25 针那种玩意儿!他是连接到 /dev/lp[0-2] 等装置。
			在 CUPS 里面的装置使用格式为∶ <span class=text_import2>parallel:/dev/lp0</span>;
		<li>Network Printer ∶网路印表机,例如 HP LaserJet 2300 就内建有网路卡,
			也就是说,这个印表机是具有 IP 的,那么在 CUPS 内的使用格式为∶
			<span class=text_import2>ipp://hostname_or_ip/printername</span>;
		<li>USB ∶一般越来越常见的 USB 印表机啊! CUPS 使用的格式为∶ 
			<span class=text_import2>usb:/dev/usb/lp0</span> 。</ul>
	</div>

	<hr><li><span class=text_import1>在 FC4 下启动 Printer </span></li>
	<div class=block2>
		在 FC4 底下要启动印表机的话,相当的简单啊!其实只要照著刚刚我们上面提到的
		<a href="#fc_setup">setup</a> 指令内的 printer configuration 
		的步骤,一步一步的给他设定下去,就 OK 了啦~但如果你的系统并不是 FC4 的话,
		怎么办啊?没关系~我们可以手动来建立 CUPS 所需要的所有资料啊~
		更多的详细资讯可以参考 cups 套件提供的 documents 或者是 man page 说~
		( rpm -ql cups ) 。<br><br>

		在底下,鸟哥以我们研究室的 HP LaserJet 2300 这一部印表机作为介绍,
		这部印表机本身具有网路卡,他的 IP 假定为 192.168.10.119 ,
		接下来,就开始来设定吧!
		<ol>
		<hr><li><span class=text_import1>下载适合的 ppd 定义档∶</span><br><br>
			前往 <a href="http://www.linuxprinting.org/printer_list.cgi"
			target="_blank">http://www.linuxprinting.org/printer_list.cgi</a> 输入印表机的型号,
			然后在出现的画面当中,选择『Recommended driver: Postscript (Home page, custom PPD)』
			里面的那个『custom PPD』,给他点下去,将那个档案捉到 /usr/share/cups/model 里面去就对了!
			以鸟哥的情况来看,刚刚利用我查到的网页连结资料,可以这样做∶<br>

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>cd /usr/share/cup

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -