НАВИГАЦИЯ - Ширина | Красный | Серый | Белый | Синенький | Антоха |
Начало | Конференция | Архив | Поиск в архиве | Трёп | Члены клуба | Автомобили | База знаний | Вступить!
ЗАЙДИТЕ В КЛУБ
Псевдоним (nick): Пароль:
Вы находитесь в режиме просмотра. Для участия в дискуссиях клуба вам необходимо зарегистрироваться (если вы этого не сделали) и войти в систему.
Начало | Поиск

Ёё... %-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$ Not so(
http://linuxforum.ru/index.php?showtopic=10651
Вся дискуссия на эту тему:
СТАТИСТИКА
Яндекс цитирования