Files
local_machine/docs/printer/check-hp-toner.sh
2026-03-14 20:03:57 +03:00

92 lines
4.3 KiB
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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 ""