Initial commit: local_machine docs and scripts
This commit is contained in:
117
docs/printer/set-hp-duplex.sh
Executable file
117
docs/printer/set-hp-duplex.sh
Executable file
@@ -0,0 +1,117 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Скрипт для настройки двусторонней печати для HP принтера
|
||||
# Использование: ./set-hp-duplex.sh [on|off|long|short]
|
||||
|
||||
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 ""
|
||||
|
||||
# Проверить текущую настройку duplex
|
||||
CURRENT_DUPLEX=$(lpoptions -p "$HP_PRINTER" -l 2>/dev/null | grep "Duplex/" | grep -o '\*[^*]*' | sed 's/*//' || echo "None")
|
||||
echo "📄 Текущая настройка двусторонней печати: $CURRENT_DUPLEX"
|
||||
echo ""
|
||||
|
||||
# Определить целевую настройку из аргумента
|
||||
TARGET_DUPLEX=""
|
||||
DUPLEX_NAME=""
|
||||
if [ "$1" = "on" ] || [ "$1" = "long" ] || [ "$1" = "1" ]; then
|
||||
TARGET_DUPLEX="DuplexNoTumble"
|
||||
DUPLEX_NAME="Двусторонняя (длинная сторона - как книга)"
|
||||
elif [ "$1" = "short" ] || [ "$1" = "2" ]; then
|
||||
TARGET_DUPLEX="DuplexTumble"
|
||||
DUPLEX_NAME="Двусторонняя (короткая сторона - как блокнот)"
|
||||
elif [ "$1" = "off" ] || [ "$1" = "none" ] || [ "$1" = "0" ]; then
|
||||
TARGET_DUPLEX="None"
|
||||
DUPLEX_NAME="Односторонняя"
|
||||
else
|
||||
echo "❌ Неверный аргумент. Использование:"
|
||||
echo " $0 on - включить двустороннюю печать (длинная сторона)"
|
||||
echo " $0 long - включить двустороннюю печать (длинная сторона)"
|
||||
echo " $0 short - включить двустороннюю печать (короткая сторона)"
|
||||
echo " $0 off - отключить двустороннюю печать"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Если уже установлена нужная настройка
|
||||
if [ "$CURRENT_DUPLEX" = "$TARGET_DUPLEX" ]; then
|
||||
echo "✅ Двусторонняя печать уже установлена: $DUPLEX_NAME"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Установить новую настройку
|
||||
echo "🔄 Установка: $DUPLEX_NAME..."
|
||||
lpadmin -p "$HP_PRINTER" -o Duplex="$TARGET_DUPLEX" 2>&1
|
||||
|
||||
# Проверить результат
|
||||
sleep 1
|
||||
NEW_DUPLEX=$(lpoptions -p "$HP_PRINTER" -l 2>/dev/null | grep "Duplex/" | grep -o '\*[^*]*' | sed 's/*//' || echo "")
|
||||
|
||||
if [ "$NEW_DUPLEX" = "$TARGET_DUPLEX" ]; then
|
||||
echo "✅ Настройка успешно установлена: $DUPLEX_NAME"
|
||||
echo ""
|
||||
echo "📋 Текущие настройки:"
|
||||
lpoptions -p "$HP_PRINTER" -l | grep -E "Duplex|InputSlot"
|
||||
echo ""
|
||||
echo "⚠️ ВАЖНО для LibreOffice:"
|
||||
echo " LibreOffice может игнорировать эти настройки."
|
||||
echo " Используйте системный диалог печати:"
|
||||
echo " File → Print → Options → 'Use system dialog'"
|
||||
else
|
||||
echo "⚠️ Настройка может быть не изменена. Проверьте настройки:"
|
||||
lpoptions -p "$HP_PRINTER" -l | grep Duplex
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user