- 論壇徽章:
- 1
|
如何在linux下使用連在windows98上的hp打印機(jī)
轉(zhuǎn)自:www.linuxaid.com.cn
by: ideal
http://www.linuxaid.com.cn/articles/5/3/533801959.shtml
Samba使用大全(二)-Samba客戶端
摘要
Samba使用大全(二)-Samba客戶端(2002-06-13 10:47:33)
--------------------------------------------------------------------------------
By ideal
使用Samba網(wǎng)絡(luò)打。
使用unix網(wǎng)絡(luò)打印以前的文章比較少涉及,最近試驗(yàn)了一下,效果還是不錯的,現(xiàn)在講講基本的實(shí)現(xiàn)方法:
比如你要建立一臺網(wǎng)絡(luò)打印機(jī)grind,而打印機(jī)對應(yīng)網(wǎng)絡(luò)上面的//glass/HPLaserj,所有需要配置的文件有下面幾個:
1./etc/printcap,內(nèi)容一般為:
grind:
:sh: #禁止提示的header
:ml=0: #打印的文件的長度下限,
:mx=0: #最大的打印文件大小,0為不限制
:sd=/var/spool/lpd/grind: #打印機(jī)的spool目錄
:lp=|/usr/bin/smbprint: #打印輸出需要的設(shè)備名或者管道名
:lpd_bounce=true: #強(qiáng)制lpd守護(hù)進(jìn)程過濾打印文件
:if=/usr/share/printconf/mf_wrapper: #過濾命令文件
2.smbprint這個一般在安裝完smb相關(guān)的rpm包以后就有了,主要內(nèi)容是:
eval acct_file=$$#
spool_dir=`dirname $acct_file`
config_file=$spool_dir/.config
eval `cat $config_file`
share=`echo $share | sed "s/[]///g"`
if [ "$user" != "" ]; then
usercmd="-U"
else
usercmd=""
fi
if [ "$workgroup" != "" ]; then
workgroupcmd="-W"
else
workgroupcmd=""
fi
if [ "$translate" = "yes" ]; then
command="translate ; print -"
else
command="print -"
fi
cat | /usr/bin/smbclient "$share" "$password" -E ${hostip:+-I}
$hostip -N -P $usercmd "$user" $workgroupcmd "$workgroup"
-c "$command" 2>;/dev/null
3.mf_wrapper是一個magic filter文件,是相關(guān)的一些過濾規(guī)則。內(nèi)容是:
MF_RULE_DIR='/usr/share/printconf/mf_rules'
MF_RULES=$MF_RULE_DIR/mf[[]][[]]-*
TMP_FILE=`mktemp /tmp/printconf.XXXXXX`' 'exit 1
cat ./mf.cfg $MF_RULES | m4 >; $TMP_FILE
if [ -n "$DEBUG" ]; then
case "$DEBUG" in
2)
DEBUGSTRING="--debug --debug"
;;
3)
DEBUGSTRING="--debug --debug --debug"
;; 4)
DEBUGSTRING="--debug --debug --debug --debug"
;;
5)
DEBUGSTRING="--debug --debug --debug --debug --debug"
;;
*)
DEBUGSTRING="--debug"
;;
esac
else
DEBUGSTRING=""
fi
# Run magic filter
/usr/bin/magicfilter-t $TMP_FILE $DEBUGSTRING $* < /dev/stdin
RETVAL=$?
if [ -f $TMP_FILE ]; then
rm -f $TMP_FILE;
fi
;;
esac
else
DEBUGSTRING=""
fi
# Run magic filter
/usr/bin/magicfilter-t $TMP_FILE $DEBUGSTRING $* < /dev/stdin
RETVAL=$?
if [ -f $TMP_FILE ]; then
rm -f $TMP_FILE;
fi
if [[ $RETVAL -eq 0 ]]; then
TERMINATION=`grep '^[[]]*#[[]]*TERMINATION=' ./mf.cfg | se
d 's/^[[]]*#[[]]*TERMINATION=//;'`
if [ -n $TERMINATION ]; then
echo -n -e $TERMINATION;
fi
fi
同時需要在/var/spool/lpd/grind下面有這么兩個文件:mf.cfg和script.cfg。
mf.cfg的內(nèi)容是:
define(TEXTfilter, text ""
14 )dnl
define(PSfilter, `filter /usr/share/printconf/util/mf_postscript_wrapper --mfomatic -d lj5gray-75168.foo')dnl
script.cfg的內(nèi)容是:
share="//glass/HPLaserj" #glass機(jī)器上面共享的打印機(jī)
hostip="192.168.1.123" #glass這臺機(jī)器的IP
user=""
password=""
workgroup=""
translate="no"
完成這個工作后,啟動lpd進(jìn)程,然后就能用lpr等命令使用網(wǎng)絡(luò)打印機(jī)打印了。
使用網(wǎng)絡(luò)共享文件資源:
列出網(wǎng)絡(luò)資源:
一般可以用smbclient來列出某臺機(jī)器相關(guān)的資源,smbclient的用法參考http://www.linuxaid.com.cn/training/tods/showtod.jsp?i=241。這里講比較有用的使用方法:
smbclient –L IP或者NETBIOS名稱,作用是顯示某臺提供samba服務(wù)的服務(wù)器上的共享資源。命令執(zhí)行效果如下:
smbclient –L glass
Sharename Type Comment
--------- ---- -------
IPC$ IPC 遠(yuǎn)程 IPC
HPLaserJ Printer HP LaserJet 6P
ADMIN$ Disk 遠(yuǎn)程管理
littlep Disk
C$ Disk 默認(rèn)共享
Server Comment
--------- -------
GLASS
GRIND
Workgroup Master
--------- -------
BLUESUN GLASS
WORKGROUP HEIHEI
第一段列舉了該機(jī)器(glass)上面的共享資源,第二段列舉了glass所在的工作組里面所有提供samba服務(wù)的機(jī)器,第三列舉了其他工作組提供browse服務(wù)的Master機(jī)器(關(guān)于Master和Browse服務(wù)可以參考我的前面一篇samba使用大全-samba服務(wù)器)。
使用網(wǎng)絡(luò)資源:
smbclient //IP或者NETBIOS名稱/共享資源名 [-U 用戶名]
命令執(zhí)行效果如下:
smbclient //glass/littlep
added interface ip=192.168.1.123 bcast=192.168.1.255 nmask=255.255.255.0
Got a positive name query response from 192.168.1.123 (192.168.1.123)
Password:
Domain=[BLUESUN] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
smb: >;
接下來的操作和ftp的時候命令一樣,用get下載文件而用put上傳文件,命令可以用help查看。
還有一種方法是用文件系統(tǒng)的方式(這種方式要確定你的內(nèi)核支持smbfs,如果沒有支持的話,編譯內(nèi)核的時候必須選中File systems--->;Network File Systems--->; SMB file system support (to mount Windows shares etc.) ):smbmount //IP或者NETBIOS名稱/共享資源名 /本地掛接點(diǎn) [-o option]
常用的的option有username=<用戶名>;,password=<密碼>;,guest(指定為用guest訪問,不用提供密碼,前面的即使用username=guest參數(shù)的話也會要求輸入密碼),ro(有時候?yàn)榱讼到y(tǒng)安全要指定為只讀模式),rw,同時多個option的話用逗號隔開。
或者可以用mount –t smbfs [–o option] //IP或者NETBIOS名稱/共享資源名 /本地掛接點(diǎn)來實(shí)現(xiàn)同樣的功能。
例子如下:
smbmount //glass/littlep /test -o guest或者mount –t smbfs –o guest //glass/littlep /test,然后就能通過訪問/test來使用網(wǎng)絡(luò)上的資源了。
如果不需要使用的時候,可以簡單地使用smbumount /test或者umount /test來解除這個掛接。
關(guān)于samba的功能(共享Linux磁盤給Win95/NT、共享Linux打印機(jī)給win95/NT、共享win95/NT打印機(jī)給Linux機(jī)器。、共享Win95/NT磁盤給Linux機(jī)器),前面兩個屬于samba服務(wù)器的內(nèi)容而后兩個屬于samba客戶段的內(nèi)容,在我的兩篇文章中都有介紹了他們的實(shí)現(xiàn)方法,但是samba實(shí)在是一個強(qiáng)大的工具,無法十分詳細(xì)地介紹它地全部功能,而且限于筆者的知識有限,有不到之處請各位指出,還望各位多多交流。 |
|