Files
CourseWork/install.sh

84 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
set -e
echo "=========================================="
echo "Установка Stego App"
echo "=========================================="
PROJECT_DIR="$(pwd)"
USER_BIN="$HOME/.local/bin"
# 1. Установка pipx (если не установлен)
if ! command -v pipx &> /dev/null; then
echo "Установка pipx..."
sudo apt update
sudo apt install pipx -y
pipx ensurepath
source ~/.bashrc
fi
echo "✓ pipx установлен"
# 2. Установка Tkinter
if ! python3 -c "import tkinter" &> /dev/null; then
echo "Установка Tkinter..."
sudo apt install python3-tk -y
fi
echo "✓ Tkinter установлен"
# 3. Установка зависимостей через pipx (без создания команд)
echo "Установка зависимостей..."
pipx install numpy pillow scipy --include-deps 2>/dev/null || true
# 4. Создание правильных запускаторов вручную
echo "Создание запускаторов..."
mkdir -p "$USER_BIN"
cat > "$USER_BIN/stego-gui" << EOF
#!/bin/bash
cd "$PROJECT_DIR"
source .venv/bin/activate
python main.py --gui
EOF
cat > "$USER_BIN/stego" << EOF
#!/bin/bash
cd "$PROJECT_DIR"
source .venv/bin/activate
python main.py "\$@"
EOF
chmod +x "$USER_BIN/stego-gui"
chmod +x "$USER_BIN/stego"
echo "✓ Запускаторы созданы"
# 5. Установка иконки
echo "Установка иконки..."
sudo mkdir -p /usr/local/share/stego/icons
sudo cp icons/stego.png /usr/local/share/stego/icons/
# 6. Установка .desktop файла
echo "Установка ярлыка в меню..."
mkdir -p ~/.local/share/applications
cat > ~/.local/share/applications/stego.desktop << DESKTOP
[Desktop Entry]
Type=Application
Name=Stego App
Comment=Сокрытие данных в изображениях
Exec=$USER_BIN/stego-gui
Icon=/usr/local/share/stego/icons/stego.png
Terminal=false
Categories=Graphics;Utility;
DESKTOP
echo "=========================================="
echo "Установка завершена!"
echo ""
echo "Запуск: stego-gui"
echo "Или: stego --help"
echo ""
echo "Ярлык появится в меню приложений"
echo "=========================================="