2015-03-10 3 views
0

ОК, короче говоря, я пытаюсь вернуть список принтеров из своей системы, чтобы определить, присутствует ли конкретный принтер и, если нет, автоматически настроить этот принтер. Использование lpstat команды, а именно:Имя очереди очереди печати (описание) с использованием lpstat - OS X

lpstat -a | awk '{print $1}' 

я могу получить список возвращаемого но имена принтеров не совпадают мои имена очереди, которая является то, что мне действительно нужно. мой вопрос заключается в том, есть ли способ вернуть имена очередей, а не фактическое имя принтера? Я бегу это как сценарий оболочки в AppleScript на OS X.

Когда я запускаю команду, я получаю имя принтера возвращается как «EPSON_TM_T88V», а не мое имя принтера очереди «Printer 1»

ответ

2

В прошлый раз, когда я изучил это, Apple использовала систему принтеров Cups, которая должна быть установлена ​​в вашей системе.

Сначала вы должны выполнить cupsctl WebInterface=yes в окне терминала (вам будет предложено ввести пароль администратора.

Тогда вы можете попробовать посетить адрес (http://localhost:631/printers/?) Это страница, которую вы должны быть в состоянии curl продукции из, так что вы можете извлечь имя принтера из имени очереди.

и это работает для меня, визуально, может быть, вы создали printersharing и тому подобное, а также.

Второе решение я знаю, что может помочь, это то, что Стефан Клием написал стихи которое прослушивает Bonjour Events с именем (Bonjour Events), которое вы можете загрузить, и когда у вас есть, вы должны отбросить приложение в окне библиотеки AppleScript Editor, чтобы увидеть словарь. Однако я думаю, что для работы Bonjour Events ваш принтер должен работать и работать, тогда как подход «Кубки» работает, когда принтер находится в автономном режиме.

То, что я, к сожалению, не помню, - это то, что я сам настраивал чашки или настраивал себя, взаимодействуя с настройками принтера на панели «Системные настройки».

Однако, надеюсь, это поможет.

+1

Спасибо за ответ, который по-прежнему вызывает только фактическое имя принтера, а не имя очереди принтера, но я не знал об этом параметре веб-интерфейса. Я действительно смог получить имена очереди принтеров, написав поиск в каталоге/Library/Printers, где хранятся фактические очереди. Спасибо за ответ. –

+0

Ну, может быть, я создал свои собственные очереди, но я рад, что вы нашли решение. Я также загляну в каталог/Library/Printers. Выключите веб-интерфейс чашек снова, если вы его не используете, это дыра в безопасности! :) – McUsr

Смежные вопросы