#!/bin/bash # Проверка root-прав if [ "$(id -u)" != "0" ]; then echo "This script requires root privileges. Run it with sudo or as root." exit 1 fi # Шаг 1: Сделать файловую систему доступной для записи echo "Making the file system writable..." mount -o remount,rw / # Шаг 2: Установка KDE Connect echo "Installing KDE Connect..." apt update apt install kdeconnect -y if ! dpkg -l | grep -q kdeconnect; then echo "Error: KDE Connect is not installed. Check your internet connection or repositories." exit 1 fi # Шаг 3: Установка и настройка avahi-daemon echo "Installing and configuring avahi-daemon..." apt install avahi-daemon -y systemctl start avahi-daemon systemctl enable avahi-daemon if ! systemctl is-active --quiet avahi-daemon; then echo "Error: avahi-daemon did not start. Check the logs: journalctl -u -daemon" exit 1 fi # Шаг 4: Проверка UID пользователя phablet echo "Verifying user UID phablet..." PHABLET_UID=$(id -u phablet 2>/dev/null) if [ -z "$PHABLET_UID" ]; then echo "Error: User phablet not found." exit 1 fi echo "UID phablet: $PHABLET_UID" # Шаг 5: Создание systemd-сервиса для kdeconnectd echo "Configuring the systemd service for kdeconnectd..." KDECONNECTD_PATH=$(find / -name kdeconnectd 2>/dev/null | grep -m 1 kdeconnectd) if [ -z "$KDECONNECTD_PATH" ]; then echo "Error: kdeconnectd not found. Please check your KDE Connect installation." exit 1 fi cat > /etc/systemd/system/kdeconnectd.service << EOF [Unit] Description=KDE Connect Daemon After=dbus.service Requires=dbus.service Wants=network-online.target [Service] ExecStart=$KDECONNECTD_PATH Restart=always RestartSec=5 User=phablet Environment="DISPLAY=:0" Environment="XDG_RUNTIME_DIR=/run/user/$PHABLET_UID" Environment="DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$PHABLET_UID/bus" [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable kdeconnectd.service systemctl start kdeconnectd.service if ! systemctl is-active --quiet kdeconnectd.service; then echo "Error: kdeconnectd.service did not start. Check the logs: journalctl -u kdeconnectd.service" exit 1 fi # Шаг 6: Скрытие ненужных .desktop-файлов echo "Hiding unnecessary KDE Connect icons..." for file in kcm_kdeconnect.desktop org.kde.kdeconnect.daemon.desktop org.kde.kdeconnect.handler.desktop org.kde.kdeconnect.nonplasma.desktop org.kde.kdeconnect-settings.desktop org.kde.kdeconnect.sms.desktop; do if [ -f "/usr/share/applications/$file" ]; then echo "NoDisplay=true" >> /usr/share/applications/$file fi done # Проверка основного ярлыка if [ -f "/usr/share/applications/org.kde.kdeconnect.app.desktop" ]; then sed -i '/NoDisplay=true/d' /usr/share/applications/org.kde.kdeconnect.app.desktop echo "NoDisplay=false" >> /usr/share/applications/org.kde.kdeconnect.app.desktop else echo "Warning: org.kde.kdeconnect.app.desktop not found." fi # Обновление кэша приложений echo "Updating application cache..." update-desktop-database /usr/share/applications update-desktop-database ~/.local/share/applications # Шаг 7: Проверка результата echo "Checking KDE Connect..." kdeconnect-cli --list-devices echo "If the device (e.g., DESKTOP-M1TSM4O) is not visible, perform pairing:" echo "kdeconnect-cli --pair --host IP" echo "Installation complete! Restart your device: sudo reboot" echo "Note from the author: FINALLY, NOTIFICATIONS FROM WAYDROID WILL WORK! GODDAMNN! *Went to drink beer to celebrate achieving a life goal*"