Bug 4196

Summary: Не обновляется список принтеров во время работы windows-приложения
Product: WINE@Etersoft Reporter: Александр Ерещенко <ave>
Component: Печать ; Диалог печатиAssignee: Илья Шпигорь <shpigor>
Status: CLOSED DUPLICATE QA Contact: Денис Баранов <baraka>
Severity: critical    
Priority: P2 CC: kondratyuk, lav
Version: 1.0.11   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 4285    
Bug Blocks: 3932    

Description Александр Ерещенко 2009-08-06 13:33:36 MSD
Система: AltLinux Desktop 4.1 branch
WINE@Etersoft 1.0 Network 1.0.11-eter7/3 (на предыдущих релизах тоже воспроизводилось)

Запускаем windows-приложение (в частности 1С 7.7). Во время работы в нем в локальной сети появляется новый cups-принтер (включили компьютер с принтером). В списке принтеров в диалоге печати у windows-приложения этот принтер не появляется, соответственно невозможно напечатать (в линуксе в списке cups-принтеров принтер появляется и печать на него идет). Необходимо закрыть приложение и запустить заново, чтобы принтер увиделся и можно было на него печатать.

PS. В терминальном режиме (административная установка wine) данная ситуация действует на каждого пользователя независимо. Т.е. если User1 запустил 1С раньше, чем появился принтер, а User2 - позже, то у User2 этот принтер будет доступен для печати из 1С, а для User1 - только после закрыть/открыть_заново 1С.
Comment 1 Александр Ерещенко 2009-08-07 13:36:21 MSD
Обнаружилась еще дополнительная подробность необнаружения принтера.
Подробности:
  Административная установка wine на терминал-сервере (freenx-server). 1С 7.7
  Сервер работает круглосуточно.
  Рабочая машина с cups-принтером, на который идет печать с терминал-сервера, включается утром.
  Ночью на терминал-сервере запускается скрипт от пользователя, входящего в wineadmin (если это важно), который производит тестирование-исправление базы и архивирование настройки (сценарий 1С-конфигуратора). Принтер в этот момент недоступен. 
В скрипте вначале убиваются все процессы wine:
======
sudo killall 1cv7.exe
sleep 2
sudo killall winedevice.exe
sleep 2
sudo killall services.exe
sleep 2
sudo killall wineserver
sleep 2
======
потом запускается 1С-конфигуратор,....
и в конце (на всякий случай, для чистоты экперимента) еще раз убиваются все wine-процессы.

  Утром первым включают компьютер с принтером (специально дал указания для пользователей), а только потом запускают 1С.
При этом возникает следущая ситуация: принтер в списке принтеров для печати в 1С присутствует, но нельзя ни напечатать на него, ни вызвать его свойства (при нажатии мышкой на кнопку никакой видимой реакции не происходит) - ситуация аналогичная багу #3894.
Но! Если параллельно запустить 1С от имени пользователя, входящего в wineadmin, то принтер становится доступным и для этого пользователя (первое действие в 1С - проверить свойства принтера), и для остальных, уже работающих в данный момент в 1С (т.е. завершать процесс и запускать заново не требуется).

В сети есть еще один принтер, подключенный к круглосуточно работающему компьютеру (находится в другом помещении) - он нормально доступен всегда для любого пользователя 1С.

Пробовал отключать ночной скрипт. Ситуация принципиально не менялась - но иногда с утра все принтера в 1С нормально работали...

Вобщем, ситуация сложная... Сделать отдельный стенд для экперимента из двух машин пока не позволяют ресурсы и время... :(
Comment 2 Александр Ерещенко 2009-08-13 11:11:01 MSD
В догонку...
Перевел на терминал-сервере wine из административной установки в отдельные для каждого пользователя (простым копированием общего "диска C" каждому пользователю с соответствующими изменениями прав доступа). Вторые сутки - полет нормальный.
Видимо проблема в том, что при административной установке обычному пользователю (не в группе wineadmin) не хватает прав изменить список доступных принтеров.
Comment 3 Денис Баранов 2009-10-02 15:18:54 MSD

*** This bug has been marked as a duplicate of bug 3894 ***
Comment 4 Vitaly Lipatov 2010-01-09 19:43:07 MSK
Да, проблема была вызвана невозможностью записи в win.ini пользователями.