|
Вы находитесь в режиме просмотра. Для участия в дискуссиях клуба вам необходимо зарегистрироваться (если вы этого не сделали) и войти в систему.
|
|
Ёё... %-O(+)
Отправлено: Peter 22.11.2007 в 19:33
|
"Утилита cupsaddsmb
Теперь нужно правильно запихнуть Windows-драйверы в специально подготовленную для этого директорию. Для этого существует специальная(так и хочется еще приписать: ”маленькая и злобная”) утилита cupsaddsmb. Эта утилита интересна тем, что срабатывает не всегда, но, будем надеятся на лучшее.
Код
# cupsaddsmb -H PrintServer -U root -h SambaServer -v HPDeskJet840C
// ключ -а означает ”экспортировать все принтеры”, ключ -v – работу
// в ”многословном” режиме
# cupsaddsmb -H PrintServer -U root -h SambaServer -a -v
Если при выполнении команда выдала ошибку, сделайте следующее:
1. ошибка Warning: No PPD file for printer "CUPS_PRINTER_NAME" – skipping!:попробуйте заменить имена ваших print- и samba-серверов на localhost:
cupsaddsmb -H localhost -U root -h localhost -a -v
2. ошибка NT_STATUS_UNSUCCESSFUL: попробуйте установить security = user в файле smb.conf
3. ошибка NT_STSUS_ACCES_DENIED (или что-то еще DENIED): убедитесь, что вы запускаете эту команду как root. Если вы все-таки root, то вспомните, делали ли вы cupsaddsmb -a root. Если вы и это делали, то приступайте к танцам. С бубном.
Если все вдруг завершилось без ошибок (и так бывает), то выполните
ls /etc/samba/drivers. Если вы увидите директорию со страшным именем W32X86 – то все ОК, самое страшное позади. Если не увидели – не расстраивайтесь. Доставайте бубен.
Танцы с буном вокруг cupsaddsmb
Перед началом этой шаманской дискотеки, давайте разберемся, что делает cupsaddsmb. Оно:
1.Вызывает CUPS-сервер через IPP и передает ему драйверы и PPD-файл для указанного принтера.
2.Кладет (А может вставляет? Кто ее знает...) эти файлы в TEMPDIR, указанную в cupsd.conf
3.Подключается через smbclient к [print$] shares Samba-сервера и кладет файлы в [print$_path]/WIN40 (для Windows 9x/Me) и/или [print$]_path/W32X86 (для Windows NT/200x/XP)
4.Подключается через к Samba-серверу и выполняет команду adddriver с требуемыми параметрами
5.Подключается через к Samba-серверу и выполняет команду setdriver с требуемыми параметрами
Вам предстоит все это сделать вручную. Приступим(Сестра, скальпел...молоток...зубило...отвертку...спирт...огурец...спирт...спирт...спирт.
..).
1.Создайте папку /etc/samba/drivers/W32X86: mkdir /etc/samba/drivers/W32X863, и положите в нее следующие файлы (я просто скопировал):
Код
# cp /usr/share/cups/drivers/* /etc/samba/drivers/W32X86/
# cp /etc/cups/ppd/your_printer.ppd /etc/samba/drivers/W32X86/your_printer.PPD
обратите внимание на регистр расширений PPD-файла.
2.Объясните Samba, что это – драйверы принтера
Код
# rpcclient -Uroot%xxxx -c adddriver"Windows NT x86"
"your_printer_name:cupsdrvr.dll:your_printer.PPD:
cupsui.dll:cups.hlp:NULL:RAW:NULL" 11
localhost
Printer Driver your_printer_name successfully installed.
3.Проверьте, где теперь лежат драйверы
Код
root# ls -l /etc/samba/drivers/W32X86/
total 1
drwxr-sr-x 2 root ntadmin 532 May 25 23:22 2
root# ls -l /etc/samba/drivers/W32X86/2
-rwxr--r-- 1 root ntadmin 14234 May 25 23:21 cups.hlp
-rwxr--r-- 1 root ntadmin 278380 May 13 13:53 cupsdrvr.dll
-rwxr--r-- 1 root ntadmin 215848 May 13 13:53 cupsui.dll
-rwxr--r-- 1 root ntadmin 169458 May 25 23:21 mysmbtstprn.PPD
4.Объясните Samba, какие драйверы какому принтеру соответствуют
Код
root# rpcclient -Uroot%xxxx -c setdriver your_printer_name your_driver_name
localhost
Successfully set mysmbtstprn to driver mydrivername"
Я упёрся в то, что самба не может найти сервайс print$ ( |
http://linuxforum.ru/index.php?showtopic=10651 |
|
|
|