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