Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Печать из Linux по сети. 
V
    Опции темы
mihanik
Дата 18.1.2011, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 13
Всего: 109



Дано:
1. Компьютер №1 – fedora linux
2. Компьютер №2 – Windows 7 с принтером
3. Драйверов под Linux к принтеру нет и не предвидится
4. Локальная сеть между этими компьютерами имеется

Надо:
Печатать из Linux на принтере, подключенном к Windows.

Решение:

Общая идея. Из линуксовой машины всю печать направлять в папку на виндовой машине в PDF-файлы. Виндовая машина следит за содержимым папки, куда будут скидываться файлы с линукса, и, как только в папке появляется файл, винда его сначала распечатывает, а потом удаляет.

Подробное решение.

Сначала настраиваем виндовую машину.

Шаг №1. На виндовой машине заводим пользователя с паролем от имени которого будем впоследствии запускать необходимый скрипт (подробности далее).
Шаг №2. Устанавливаем на виндовую машину Foxit Reader (берём с официального сайта – http://www.foxitsoftware.com/pdf/reader/ )
Эта программа нам нужна только по одной причине, – Foxit Reader умеет распечатывать PDF-файлы на «принтере по умолчанию» из командной строки.
Шаг №3. На виндовой машине создаём папку и делаем её доступной на запись по сети («общая шара»). Допустим, что эта папка называется C:\pdfprint (имя папки фигурирует в скрипте ниже)
Шаг №4. На виндовой машине создаём файл pdfprint.vbs следующего содержания

    
Код

Set objWMIService = GetObject(«winmgmts:» _
    & «{impersonationLevel=impersonate}!\\.\root\cimv2″)
    Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
    («SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE » _
    & «Targetinstance ISA ‘CIM_DirectoryContainsFile’ and » _
    & «TargetInstance.GroupComponent= » _
    & «‘Win32_Directory.Name=»"c:\\\\pdfprint»"‘»)
    Set objFSO = CreateObject(«Scripting.FileSystemObject»)
    Do
    Set objLatestEvent = colMonitoredEvents.NextEvent
    MyFile = objLatestEvent.TargetInstance.PartComponent
    Set objLatestEvent = Nothing

    MyFile = UCase (MyFile)
    MyFile = Replace(MyFile, «\\», «\»)
    MyFile = Mid (MyFile,InStr(MyFile,»"»")+1, Len(MyFile)-InStr(MyFile,»"»")-1)

    If (InStr ( MyFile, «.PDF»)) = (Len (MyFile)-3) Then
    Set WSHShell = WScript.CreateObject(«WScript.Shell»)
    WshShell.Run «»"C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe»" -p » & «»"» & MyFile & «»"», 1, True
    Set WSHShell = Nothing
    End If

    Set objFSO = CreateObject(«Scripting.FileSystemObject»)
    objFSO.DeleteFile(MyFile)
    Set objFSO = Nothing

    Loop


Шаг №5. На виндовой машине создаём назначенное задание начинающее выполняться при включении компьютера. В качестве выполняемой команды указываем скрипт pdfprint.vbs. Т.е. как только виндовый компьютер включиться, сразу начинает работать наш скрипт.

Ну… На этом настройка виндовой машины закончилась.

Начинаем настраивать линуксовую машину.

Шаг №6. Монтируем при помощи cifs виндовую шару в какую-нибудь папку (например в /media/pdf ) в фаловой системе Linux (если что, подробности тут – http://oss-it.ru/157 )

Шаг №7. Устанавливаем  PDF-принтер.

    yum -y install cups-pdf

Шаг №8. Немного изменяем файл /etc/cups/cups-pdf.conf. В нём изменяем один-единственный параметр Out ${DESKTOP} изменяем на Out /media/pdf

Всё!!!

Перезагружаем обе машины и проверяем, что всё работает. Если что-то не работает, пытаемся понять почему.

Чем этот способ мне нравится?

1. Тем, что линуксовой машине наплевать на то, какой принтер установлен на виндовой машине. Linux даже и не догадывается, что документы печатаются.

2. Без особых плясок с бубном всё работает довольно стабильно.

Прошу высказывать замечания, пожелания и т.п.




--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Фантом
Дата 18.1.2011, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 10
Всего: 49



А зачем? Расшариваем принтер под Windows, прописываем на Linux-машине в CUPS его как сетевой под SAMBA... и, собственно, все.
PM   Вверх
mihanik
Дата 18.1.2011, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 13
Всего: 109



Цитата(Фантом @  18.1.2011,  01:17 Найти цитируемый пост)
Расшариваем принтер под Windows, прописываем на Linux-машине в CUPS его как сетевой под SAMBA... и, собственно, все. 


Цитата(mihanik @  18.1.2011,  00:11 Найти цитируемый пост)
3. Драйверов под Linux к принтеру нет и не предвидится




--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Фантом
Дата 18.1.2011, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 10
Всего: 49



Цитата(mihanik @  18.1.2011,  08:08 Найти цитируемый пост)
3. Драйверов под Linux к принтеру нет и не предвидится

Да, прозевал. Правда, тогда проще купить другой принтер.  smile 
PM   Вверх
mihanik
Дата 19.1.2011, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 13
Всего: 109



Цитата(Фантом @  18.1.2011,  14:29 Найти цитируемый пост)
Правда, тогда проще купить другой принтер.  smile  


Не всем этот вариант подходит... smile



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
kapbepucm
Дата 20.1.2011, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 1
Всего: 12



mihanik, а скриптик VBS много кушает ресурсов? Как насчёт, если комп. не торопливый?


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
mihanik
Дата 20.1.2011, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 13
Всего: 109



Цитата(kapbepucm @  20.1.2011,  10:50 Найти цитируемый пост)
mihanik, а скриптик VBS много кушает ресурсов? Как насчёт, если комп. не торопливый? 


Нет.
Пользователь, который сидит за виндовой машиной даже ни о чём и не догадывается. smile
Там процента 2-3 от проца занято...



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.