Есть несколько ПК под Линуксом (Fedora Core 3). Они включены в сеть,
где есть домен Винды и поднят терминал сервер. Из-под Линукса
осуществляется вход в виндовый терминал и юзвери работают там
в 1С (по другому пока не получается скрестить 1С-ку с пингвином).
Так как к этим ПК подключены принтеры (лазерники HP1200, 1300, 1320)
и на них нужно печатать из под виндового терминала, то в Линуксе эти
принтеры расшарены посредством Самбы и пашут под сервером Cups.
Эти принтеры подключены под администраторским аккаунтом в терминал
сервере и таким образом доступны всем пользователям терминала. Правда
почему-то в строке статуса указывает "Access denied, unable to connect"
и иногда не выдается меню свойств, но при этом печатает исправно.Однако периодически (почти каждый день, а иногда и чаще) принтер
перестает печатать отправленные на него документы. Когда в Линуксе
открываешь Центр управления, то на значке принтера есть пометочка
красным крестиком - означает, что принтер остановлен. Если щелкнуть
на принтере (под рутом) правой кнопой мыши и дать команду "запустить
принтер" то он продолжает нормально печатать дальше. Но через
некоторое время снова останавливается. Эта ситуация проявляется на
трех машинах в трех отделах, где экспериментально поднят Линукс.Вопрос №1: В чем могут быть грабли и конечно же что делать?
Вопрос №2: Как через SSH послать команду "запустить принтер",
чтобы не бегать по отделам как угорелый, а централизованно
запускать любой из трех принтеров?
>Вопрос №1: В чем могут быть грабли и конечно же что делать?Первым делом смотреть логи
>Вопрос №2: Как через SSH послать команду "запустить принтер",
>чтобы не бегать по отделам как угорелый, а централизованно
>запускать любой из трех принтеров?передернуть cupsd
>Первым делом смотреть логи
К сожаленью я не настолько силен в настройке Линукса, чтобы понимать
все, что задокументировано в логах, но вот что удалось найти:D [16/Aug/2005:10:00:25 +0300] AcceptClient: 7 from localhost:631.
D [16/Aug/2005:10:00:25 +0300] ReadClient: 7 POST /printers/Gorod-HP1300 HTTP/1.1
D [16/Aug/2005:10:00:25 +0300] print_job: request file type is application/vnd.cups-raw.
D [16/Aug/2005:10:00:25 +0300] check_quotas: requesting-user-name = 'nobody'
D [16/Aug/2005:10:00:25 +0300] print_job: requesting-user-name = 'nobody'
D [16/Aug/2005:10:00:25 +0300] Adding default job-sheets values "none,none"...
I [16/Aug/2005:10:00:25 +0300] Adding start banner page "none" to job 7026.
I [16/Aug/2005:10:00:25 +0300] Adding end banner page "none" to job 7026.
I [16/Aug/2005:10:00:25 +0300] Job 7026 queued on 'Gorod-HP1300' by 'nobody'.
D [16/Aug/2005:10:00:25 +0300] Job 7026 hold_until = 0
D [16/Aug/2005:10:00:25 +0300] StartJob(7026, 0xf72b4488)
D [16/Aug/2005:10:00:25 +0300] StartJob() id = 7026, file = 0/1
D [16/Aug/2005:10:00:25 +0300] job-sheets=none,none
D [16/Aug/2005:10:00:25 +0300] banner_page = 0
D [16/Aug/2005:10:00:25 +0300] StartJob: argv = "Gorod-HP1300","7026","nobody","smbprn.00005459 ¦Э¦-¦¦¦¬¦-¦+¦-¦- ","1","","/var/spool/cups/d07026-001"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[0]="PATH=/usr/lib/cups/filter:/bin:/usr/bin"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[1]="SOFTWARE=CUPS/1.1"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[2]="USER=root"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[3]="CHARSET=utf-8"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[4]="LANG=ru_RU"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[5]="PPD=/etc/cups/ppd/Gorod-HP1300.ppd"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[6]="CUPS_SERVERROOT=/etc/cups"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[7]="RIP_MAX_CACHE=8m"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[8]="TMPDIR=/var/spool/cups/tmp"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[9]="CONTENT_TYPE=application/vnd.cups-raw"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[10]="DEVICE_URI=usb://HP/LaserJet 1300"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[11]="PRINTER=Gorod-HP1300"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[12]="CUPS_DATADIR=/usr/share/cups"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[13]="CUPS_FONTPATH=/usr/share/cups/fonts"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[14]="CUPS_SERVER=localhost"
D [16/Aug/2005:10:00:25 +0300] StartJob: envp[15]="IPP_PORT=631"
D [16/Aug/2005:10:00:25 +0300] StartJob: statusfds = [ 8 9 ]
D [16/Aug/2005:10:00:25 +0300] StartJob: filterfds[1] = [ 10 -1 ]
D [16/Aug/2005:10:00:25 +0300] StartJob: backend = "/usr/lib/cups/backend/usb"
D [16/Aug/2005:10:00:25 +0300] StartJob: filterfds[0] = [ -1 11 ]
D [16/Aug/2005:10:00:25 +0300] start_process("/usr/lib/cups/backend/usb", 0xfee20a00, 0xfee1fd70, 10, 11, 9)
I [16/Aug/2005:10:00:25 +0300] Started backend /usr/lib/cups/backend/usb (PID 3841) for job 7026.
D [16/Aug/2005:10:00:25 +0300] ProcessIPPRequest: 7 status_code=0
D [16/Aug/2005:10:00:25 +0300] CloseClient: 7Это насколько я понял нормальный процес постановки задания на печать.
До этого в логе неоднократно таким же образом нормально ставились на
печать задания job 6978, 6979, ... 7025. Следующая строка при нормальной
работе должна была бы выглядеть таким образом:D [16/Aug/2005:10:00:25 +0300] [Job 7026] LPGETSTATUS returned a port status of 18...
Однако где-то кто-то наступил на грабли и в логе значится:
E [16/Aug/2005:10:00:25 +0300] PID 3841 stopped with status 0!
"Е" в начале строки я так понимаю должно означать "еррор", но что за
ошибка и с чем она связана - неясно. Потом в логе описана запись состояния службы:
D [16/Aug/2005:10:00:25 +0300] UpdateJob: job 7026, file 0 is complete.
D [16/Aug/2005:10:00:25 +0300] StopJob: id = 7026, force = 0
I [16/Aug/2005:10:00:25 +0300] Saving printers.conf...А дальше видимо отображено состояние принтера "остановлен":
D [16/Aug/2005:10:00:25 +0300] StopJob: printer state is 5
Ранее в нормальном режиме после печати статус принтера был другим:
"printer state is 3"
После этого принтер принимает задания, ставит их в очередь но не
печатает до момента ручного запуска:
"I [16/Aug/2005:10:07:04 +0300] Printer 'Gorod-HP1300' started by 'root'"Вот собственно все, что удалось раскопать в логах. Я анализировал только
один день, если нужно что-то уточнить могу выслать более полный лог за
несколько дней сразу.
>передернуть cupsdЕсли имеется в виду команда "./cupsd restart" то этот вариант я однажды
пробовал (но проверю еще раз) - он не влияет на состояние принтера.
>Вопрос №2: Как через SSH послать команду "запустить принтер",
>чтобы не бегать по отделам как угорелый, а централизованно
>запускать любой из трех принтеров?
По адресу http://localhost:631/sam.html#4_3_4 написано:Starting and Stopping Printers
The enable and disable commands start and stop printer queues, respectively:
/usr/bin/enable printer ENTER
/usr/bin/disable printer ENTER
>По адресу http://localhost:631/sam.html#4_3_4 написано:
>Starting and Stopping Printers
>The enable and disable commands start and stop printer queues, respectively:
>/usr/bin/enable printer ENTER
>/usr/bin/disable printer ENTERСпасибо, очень помогло. Заодно изучил документик sam.html, но не нашел там еще одной нужной команды. Как очистить очередь печати?
>Есть несколько ПК под Линуксом (Fedora Core 3). Они включены в сеть,
>
>где есть домен Винды и поднят терминал сервер. Из-под Линукса
>осуществляется вход в виндовый терминал и юзвери работают там
>в 1С (по другому пока не получается скрестить 1С-ку с пингвином).
>Так как к этим ПК подключены принтеры (лазерники HP1200, 1300, 1320)
>и на них нужно печатать из под виндового терминала, то в Линуксе
>эти
>принтеры расшарены посредством Самбы и пашут под сервером Cups.Если стоит TS зачем тогда на клиентах самба только ради принтеров???
CUPS + Win2k все работает напрямую.
>Если стоит TS зачем тогда на клиентах самба только ради принтеров???
>CUPS + Win2k все работает напрямую.Нет, самба нужна также для раздачи локальных шар. Периодически
операторы работают в локальном опен офисе - надо же иметь доступ
и к этим документам. Кроме того мне для администрирования иногда
шары очень удобны - переписывать готовые настройки на 3-5 машин,
а не настраивать на каждом ПК отдельно.Ну а через самбу я выделил принтеры в доступ потому что это был
самый простой способ организовать печать в связке Win-Lin.Попробую связать CUPS + Win2k напрямую, но мне кажется что в таком
случае (CUPS -> Samba -> Win2k) все тоже должно работать (так в
обзорах и советовали подключать). Ведь печать идет нормально, но
почему-то проскакивают ошибки принтеров - хочется разобраться в чем
же дело.
>>Если стоит TS зачем тогда на клиентах самба только ради принтеров???
>>CUPS + Win2k все работает напрямую.
>
>Нет, самба нужна также для раздачи локальных шар. Периодически
>операторы работают в локальном опен офисе - надо же иметь доступ
>и к этим документам. Кроме того мне для администрирования иногда
>шары очень удобны - переписывать готовые настройки на 3-5 машин,
>а не настраивать на каждом ПК отдельно.
>
используй последний rdesktop он шарит любые устройства