92 lines
4.3 KiB
Bash
Executable File
92 lines
4.3 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# Скрипт для проверки уровня тонера HP принтера на macOS
|
||
|
||
set -e
|
||
|
||
echo "🖨️ Проверка уровня тонера HP принтера"
|
||
echo ""
|
||
|
||
# Найти все HP принтеры
|
||
HP_PRINTERS=$(lpstat -p 2>/dev/null | grep -i "hp" | awk '{print $2}' || true)
|
||
|
||
if [ -z "$HP_PRINTERS" ]; then
|
||
echo "❌ HP принтеры не найдены в системе"
|
||
exit 1
|
||
fi
|
||
|
||
# Для каждого HP принтера
|
||
echo "$HP_PRINTERS" | while read printer; do
|
||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
echo "📋 Принтер: $printer"
|
||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
echo ""
|
||
|
||
# Базовая информация о принтере
|
||
echo "📊 Статус принтера:"
|
||
lpstat -p "$printer" -l 2>/dev/null | head -3 || true
|
||
echo ""
|
||
|
||
# Информация о цвете
|
||
echo "🎨 Режим печати:"
|
||
COLOR_MODE=$(lpoptions -p "$printer" -l 2>/dev/null | grep -i "ColorModel" | grep -o '\*[^*]*' | sed 's/*//' || echo "")
|
||
if [ -z "$COLOR_MODE" ]; then
|
||
COLOR_MODE=$(lpoptions -p "$printer" 2>/dev/null | grep -i "ColorModel" | awk -F'=' '{print $2}' | awk '{print $1}' || echo "")
|
||
fi
|
||
if echo "$COLOR_MODE" | grep -qi "gray\|mono\|black"; then
|
||
echo " ⚫ Монохромный (черно-белый)"
|
||
echo " ❌ Цветная печать НЕ поддерживается"
|
||
elif [ ! -z "$COLOR_MODE" ]; then
|
||
echo " 🎨 Цветной режим: $COLOR_MODE"
|
||
else
|
||
echo " ⚫ Монохромный (черно-белый) - по умолчанию для лазерных принтеров"
|
||
echo " ❌ Цветная печать НЕ поддерживается"
|
||
fi
|
||
echo ""
|
||
|
||
# Попытка получить информацию о тонере через CUPS
|
||
echo "🔋 Уровень тонера:"
|
||
echo " ⚠️ CUPS не предоставляет прямого доступа к уровню тонера"
|
||
echo ""
|
||
echo " 📝 Рекомендуемые способы проверки:"
|
||
echo ""
|
||
echo " 1️⃣ Панель управления принтера:"
|
||
echo " - Нажмите кнопку 'OK' на принтере"
|
||
echo " - Перейдите в меню 'Отчеты'"
|
||
echo " - Выберите 'Страница состояния расходных материалов'"
|
||
echo " - Принтер напечатает страницу с уровнем тонера"
|
||
echo ""
|
||
echo " 2️⃣ Приложение HP Smart (если установлено):"
|
||
echo " - Откройте приложение HP Smart"
|
||
echo " - Выберите ваш принтер"
|
||
echo " - Просмотрите уровень тонера"
|
||
echo ""
|
||
echo " 3️⃣ Дисплей принтера:"
|
||
echo " - Проверьте дисплей принтера"
|
||
echo " - Уровень тонера отображается на экране"
|
||
echo ""
|
||
|
||
# Проверка подключения
|
||
DEVICE=$(lpstat -v "$printer" 2>/dev/null | grep -i "device for" | awk -F'device for' '{print $2}' | awk '{print $1}' || echo "неизвестно")
|
||
echo "🔌 Подключение:"
|
||
echo " $DEVICE"
|
||
echo ""
|
||
|
||
# Информация о принтере
|
||
echo "ℹ️ Информация о модели:"
|
||
if echo "$printer" | grep -qi "m402"; then
|
||
echo " Модель: HP LaserJet Pro M402dn"
|
||
echo " Тип: Монохромный лазерный принтер"
|
||
echo " Цветная печать: ❌ НЕ поддерживается"
|
||
echo " Максимальное разрешение: 1200 x 1200 dpi"
|
||
fi
|
||
echo ""
|
||
done
|
||
|
||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
echo ""
|
||
echo "💡 Совет: Для точной проверки уровня тонера используйте"
|
||
echo " панель управления принтера или приложение HP Smart"
|
||
echo ""
|
||
|