Я использовал бы pgrep|wc -l
или что-то как этот в простом сценарии оболочки. Ожидайте одна секунда (или меньше на Linux, если Вам нравится к) между каждым, сверяются sleep
.
В основном, наличие lp
(выполняемый ssh
на удаленной машине) чтение от STDIN, который обеспечивается вне ssh
- звоните как это, должен работать:
cat file-to-print | ssh user@remotehost "lp -"
Для большего комфорта взгляните на сценарий этого парня, который дает CUPS a sshlpr://
- бэкенд.
В зависимости от которого печать системы работает на сервере, Вы можете выполнять то же lp
непосредственно на Вашей клиентской машине и использовании SSH для передачи его соединения с сервером.
Например, CUPS, который является системой печати OSX и наиболее распространенного на Linux в наше время, слушает на порте 631 (это - стандартный порт IPP). LPD, традиционный протокол печати Unix, слушает на порте 515.
Таким образом, если системой печати является CUPS, установите клиент CUPS на своей локальной машине и попытку
ssh -L 631:localhost:631 server.example.com sleep 999999999 &
Затем выполненный lpq
или lpstat
и посмотрите, можно ли достигнуть принтеров.
Если Вы находите рабочую конфигурацию, помещаете команду SSH выше в сценарий запуска сессии или определяете псевдоним хоста с соответствующим LocalForward
директива в ~/.ssh/config
.