File user-huw-to.txt of Package rosagram-docker

🔧 Исправляем права для пользователя
Шаг 1: Передадим права пользователю
bash

# Узнаем своего пользователя (должен быть badwolf)
whoami
id

# Передаем права на директории
sudo chown -R badwolf:users /opt/rosagram
sudo chown -R badwolf:users /var/log/rosagram-docker
sudo chown -R badwolf:users /var/lib/rosagram-docker

# Проверяем права
ls -la /opt/rosagram
ls -la /var/log/rosagram-docker

Шаг 2: Исправляем wrapper для работы от пользователя
bash

sudo tee /usr/bin/rosagram << 'EOF'
#!/bin/bash
# Rosagram wrapper для пользователя

ROSAGRAM_DIR="/opt/rosagram"
LOG_DIR="/var/log/rosagram-docker"
LOG_FILE="$LOG_DIR/rosagram.log"

# Проверяем, что запущено не от root
if [ "$EUID" -eq 0 ]; then
    echo "❌ Не запускайте Rosagram от root!"
    echo "Запустите как обычный пользователь:"
    echo "  rosagram"
    exit 1
fi

# Создаем лог-файл с правами пользователя
mkdir -p "$LOG_DIR" 2>/dev/null
touch "$LOG_FILE" 2>/dev/null || sudo touch "$LOG_FILE" && sudo chown $USER:$USER "$LOG_FILE"

log() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}

# Проверяем наличие бинарника
if [ -f "$ROSAGRAM_DIR/rosagram" ]; then
    BIN="$ROSAGRAM_DIR/rosagram"
elif [ -f "$ROSAGRAM_DIR/Telegram/Telegram" ]; then
    BIN="$ROSAGRAM_DIR/Telegram/Telegram"
else
    log "❌ Бинарник не найден!"
    exit 1
fi

# Делаем бинарник исполняемым для пользователя
chmod +x "$BIN" 2>/dev/null || sudo chmod +x "$BIN"

# Настройки окружения
export QT_QPA_PLATFORM="wayland;xcb"
export XDG_CURRENT_DESKTOP="KDE"
export DISPLAY=${DISPLAY:-:0}

log "✅ Запуск Rosagram от пользователя $(whoami)"
exec "$BIN" "$@"
EOF

sudo chmod +x /usr/bin/rosagram

Шаг 3: Создаем пользовательский desktop файл
bash

mkdir -p ~/.local/share/applications

cat > ~/.local/share/applications/rosagram.desktop << EOF
[Desktop Entry]
Type=Application
Name=Rosagram
GenericName=Telegram Messenger
Exec=/usr/bin/rosagram %U
Icon=/opt/rosagram/rosagram.png
Terminal=false
StartupNotify=true
Categories=Network;Chat;InstantMessaging;
EOF

update-desktop-database ~/.local/share/applications/

Шаг 4: Теперь запускаем от пользователя
bash

# Выходим из root если ещё в нём
exit

# Запускаем как badwolf
rosagram

📋 Если всё ещё не работает
bash

# Проверим, что бинарник действительно исполняемый для пользователя
ls -la /opt/rosagram/Telegram/Telegram

# Попробуем запустить напрямую
/opt/rosagram/Telegram/Telegram

# Посмотрим ошибки
journalctl --user -xe | grep -i rosagram
openSUSE Build Service is sponsored by