Где я могу найти драйверы для принтера Unix? (Arch)

Если вас интересуют не только bash и zsh, вас может заинтересовать совершенно другой метод, который был представлен командным интерпретатором UNOS в 1980 году. Этот командный интерпретатор реализует постоянные псевдонимы, которые хранятся в файле $HOME/.globals

Этот метод теперь доступен в bsh и в последней версии Bourne Shell, которую вы можете получить из Schily-Tools.

Пожалуйста, взгляните на свежую man-страницу Bourne Shell по адресу:

http://schillix.sourceforge.net/man/man1/bosh.1.html

Причина, по которой я упоминаю этот метод, в том, что сложные алисы в синтаксисе Korn Shell трудно набирать с правильным цитированием, а Bourne Shell реализует (как дополнительный метод, помимо alias) так называемые хэш-команды, которые позволяют вводить алисы в raw режиме.

BTW: правильный способ сохранения псевдонимов для других оболочек, не поддерживающих постоянные псевдонимы:

alias -p > file

Если вы просто вызовете alias с помощью ksh93, вы получите вывод вроде этого:

autoload='typeset -fu' command='command' compound='typeset -C'

но когда вы вызываете alias -p, вы получаете:

alias autoload='typeset -fu' alias command='command' alias compound='typeset -C'

Как видите, вам нужен alias -p, потому что он возвращает что-то, что позже может быть использовано в качестве входных данных оболочки, снова вызвав:

. file

Edit: alias -p не является POSIX, но ни одна оболочка, кроме bash, не производит разборчивый вывод по умолчанию. Некоторые оболочки никогда не производят разборчивый вывод!

Оболочки, которым нужен -p для разборчивоговывода:

  • Bourne Shell
  • ksh93 (ksh88 не поддерживает ни разборчивый вывод, ни -p)

bash разрешает -p...

BTW: dash вообще не поддерживает ни разборчивый вывод, ни -p. zsh реализует эквивалент alias -pчерез alias -L.

0
06.03.2018, 12:38
1 ответ

Как описано в RFC6763 и Спецификация печати Bonjour , тип службы _printer._tcpявляется «флагманским именем» для печати. Идея, по-видимому, заключается в том, что вы можете найти все принтеры и службы печати любого типа, выполнив поиск _printer._tcpservice.

Более формально, тип службы _printer._tcpотносится к протоколу печати Unix LPD, который обычно можно найти в TCP-порту 515 на поддерживающих сетевых принтерах и серверах печати. Но если принтер не поддерживает LPD или у него отключена поддержка LPD, он все равно должен объявить _printer._tcp, но с номером порта 0.

Используйте avahi-discoverили avahi-browse -r _printer._tcp, чтобы найти IP-адрес и порт, связанные с этой службой. Вы можете обнаружить, что он исходит либо от самого принтера, либо от вашего CUPS, если он настроен на совместное использование любых настроенных принтеров.

Поскольку Brother HL -L2340DW явно поддерживает AirPrint, вероятным источником является сам принтер. Если автоматическое обнаружение -приводит к неработоспособному принтеру -в приложениях, вы можете настроить CUPS, чтобы он не обнаруживал принтеры автоматически -. В моей версии CUPS (Debian 9 )это можно было сделать, остановив cups-browsed, отредактировав /etc/cups/cups-browsed.conf, установив для BrowseRemoteProtocolsзначение none, и перезапустив cups-browsed.

Кроме того, вы можете использовать BrowseDeny <printer's IP address>в том же файле, чтобы явно скрыть автоматически обнаруженную запись -для этого конкретного принтера,при сохранении функции автоматического обнаружения принтера -в целом.

1
28.01.2020, 02:43

Теги

Похожие вопросы