#!/bin/bash # Скрипт для изменения лотка по умолчанию для HP принтера # Использование: ./set-hp-tray.sh [tray1|tray2] set -e # Найти HP принтер HP_PRINTER=$(lpstat -p 2>/dev/null | grep -i "hp.*m402" | awk '{print $2}' | head -1) if [ -z "$HP_PRINTER" ]; then echo "❌ HP принтер не найден в системе" exit 1 fi echo "🖨️ Найден принтер: $HP_PRINTER" echo "" # Проверить текущий лоток CURRENT_TRAY=$(lpoptions -p "$HP_PRINTER" -l 2>/dev/null | grep "InputSlot" | grep -o '\*[^*]*' | sed 's/*//' || echo "Upper") echo "📄 Текущий лоток по умолчанию: $CURRENT_TRAY" echo "" # Определить целевой лоток из аргумента TARGET_TRAY="" if [ "$1" = "tray1" ] || [ "$1" = "1" ] || [ "$1" = "upper" ]; then TARGET_TRAY="Upper" TRAY_NAME="Tray 1 (Upper)" elif [ "$1" = "tray2" ] || [ "$1" = "2" ] || [ "$1" = "lower" ]; then TARGET_TRAY="Lower" TRAY_NAME="Tray 2 (Lower)" else echo "❌ Неверный аргумент. Использование:" echo " $0 tray1 - установить Tray 1 (Upper)" echo " $0 tray2 - установить Tray 2 (Lower)" exit 1 fi # Если уже установлен нужный лоток if [ "$CURRENT_TRAY" = "$TARGET_TRAY" ]; then echo "✅ Лоток уже установлен на $TRAY_NAME" exit 0 fi # Установить новый лоток echo "🔄 Установка лотка на $TRAY_NAME..." lpadmin -p "$HP_PRINTER" -o InputSlot="$TARGET_TRAY" 2>&1 # Проверить результат sleep 1 NEW_TRAY=$(lpoptions -p "$HP_PRINTER" -l 2>/dev/null | grep "InputSlot" | grep -o '\*[^*]*' | sed 's/*//' || echo "") if [ "$NEW_TRAY" = "$TARGET_TRAY" ]; then echo "✅ Лоток успешно установлен на $TRAY_NAME" echo "" echo "📋 Текущие настройки:" lpoptions -p "$HP_PRINTER" -l | grep InputSlot else echo "⚠️ Лоток может быть не изменен. Проверьте настройки:" lpoptions -p "$HP_PRINTER" -l | grep InputSlot echo "" echo "💡 Если Lower не поддерживается, попробуйте:" echo " 1. Установить официальный драйвер HP" echo " 2. Изменить настройку в LibreOffice для каждого документа" exit 1 fi