**chmod +x setup_weeder.sh && sudo ./setup_weeder.sh** #!/bin/bash set -euo pipefail # ====== CONFIG ====== USER="pi" HOME_DIR="/home/$USER" APP_DIR="$HOME_DIR/Desktop/WEEDER_PREMIUM_MULTI" SERVICE_NAME="weeder.service" echo "=== Install & enable NetworkManager ===" sudo apt update || true sudo apt install -y network-manager openssh-server sudo systemctl enable --now NetworkManager sudo systemctl enable --now ssh echo "=== Netplan: NetworkManager renderer + static eth0 (link-local) ===" sudo bash -c "cat <<'EOF' > /etc/netplan/99-nm.yaml network: version: 2 renderer: NetworkManager ethernets: eth0: dhcp4: no addresses: - 169.254.1.244/24 EOF" sudo netplan apply echo "=== Create systemd service: $SERVICE_NAME ===" sudo bash -c "cat < /etc/systemd/system/$SERVICE_NAME [Unit] Description=Weeder Premium Multi 2 startup script Wants=network-online.target After=network-online.target [Service] Type=simple User=$USER WorkingDirectory=$APP_DIR ExecStart=/usr/bin/python3 $APP_DIR/server.py Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Restart=always RestartSec=5 StandardOutput=append:$APP_DIR/startup.log StandardError=append:$APP_DIR/startup_error.log [Install] WantedBy=multi-user.target EOF" echo "=== Enable and start service ===" sudo systemctl daemon-reload sudo systemctl enable "$SERVICE_NAME" sudo systemctl restart "$SERVICE_NAME" echo "=== Desktop shortcut (optional) ===" mkdir -p "$HOME_DIR/Desktop" cat < "$HOME_DIR/Desktop/weeder.desktop" [Desktop Entry] Version=1.0 Name=weeder Comment=Run WEEDER server Exec=/usr/bin/python3 $APP_DIR/server.py Terminal=true Type=Application Categories=Utility; EOF gio set "$HOME_DIR/Desktop/weeder.desktop" metadata::trusted true || true chmod +x "$HOME_DIR/Desktop/weeder.desktop" chown "$USER:$USER" "$HOME_DIR/Desktop/weeder.desktop" || true echo "=== Sudoers (safe) ===" sudo bash -c "cat < /etc/sudoers.d/weeder $USER ALL=(ALL) NOPASSWD: /sbin/shutdown, /sbin/iwlist, /usr/bin/nmcli, /bin/dmesg EOF" sudo chmod 0440 /etc/sudoers.d/weeder echo "=== Setup complete. Rebooting in 5 seconds... ===" sleep 5 sudo reboot