#!/bin/bash # Variables RUSTDESK_URL="https://github.com/rustdesk/rustdesk/releases/download/1.2.3/rustdesk-1.2.3-x86_64.deb" RUSTDESK_DEB="rustdesk-1.2.3-x86_64.deb" ID_SERVER="192.168.1.242" # Check for curl if ! command -v curl &> /dev/null; then echo "Error: curl is not installed. Please install curl and try again." exit 1 fi echo "Downloading RustDesk..." # Download the RustDesk .deb package if curl -L "$RUSTDESK_URL" -o "$RUSTDESK_DEB"; then echo "Download successful." else echo "Download failed. Please check the URL and try again." exit 1 fi # Check if the file was actually downloaded if [ ! -f "$RUSTDESK_DEB" ]; then echo "Error: The RustDesk .deb file was not downloaded. Exiting." exit 1 fi echo "Installing RustDesk..." # Attempt to install the RustDesk package if sudo dpkg -i "$RUSTDESK_DEB"; then echo "RustDesk installed successfully." else echo "Error: dpkg encountered an issue installing RustDesk. Attempting to fix..." if ! sudo apt-get install -f; then echo "Error: Failed to resolve dependencies. Exiting." exit 1 else echo "Dependencies resolved. Please try installing RustDesk again." fi fi echo "Configuring RustDesk..." # Assuming RustDesk configuration file path; adjust as necessary CONFIG_PATH="$HOME/.config/rustdesk/hbb.conf" # Create config directory if it doesn't exist mkdir -p "$(dirname "$CONFIG_PATH")" # Set the ID server address echo "id_server = \"$ID_SERVER\"" > "$CONFIG_PATH" echo "Configuration updated." echo "Starting RustDesk..." # Assuming the RustDesk binary name; adjust path as necessary # Note: The exact path may vary depending on the installation method and version if pgrep rustdesk; then echo "RustDesk is already running." else if command -v rustdesk &> /dev/null; then rustdesk & echo "RustDesk client started." else echo "Error: RustDesk client could not be found. Please check the installation." exit 1 fi fi echo "Cleaning up..." rm -f "$RUSTDESK_DEB" echo "Installation complete."