111 lines
2.5 KiB
Bash
Executable File
111 lines
2.5 KiB
Bash
Executable File
#!/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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|