From ad53165be2648135c0797efeec99bde60182d667 Mon Sep 17 00:00:00 2001 From: Mathieu Broillet Date: Sun, 9 Jun 2024 11:31:24 +0200 Subject: [PATCH] improve install linux script --- .github/wiki/script-auto-config-linux.sh | 64 +++++++++++++++--------- 1 file changed, 41 insertions(+), 23 deletions(-) diff --git a/.github/wiki/script-auto-config-linux.sh b/.github/wiki/script-auto-config-linux.sh index de16f9f..c997604 100644 --- a/.github/wiki/script-auto-config-linux.sh +++ b/.github/wiki/script-auto-config-linux.sh @@ -1,51 +1,69 @@ #!/bin/bash +# Retrieve the username of the person who invoked sudo USER_BEHIND_SUDO=$(who am i | awk '{print $1}') +# Function to print colored text +print_colored() { + local color="$1" + local text="$2" + echo -e "${color}${text}\033[0m" +} + +# Define colors +COLOR_RED="\033[0;31m" +COLOR_GREEN="\033[0;32m" +COLOR_YELLOW="\033[1;33m" +COLOR_BLUE="\033[0;34m" + # Ask for HomeAssistant IP -echo "Please enter your HomeAssistant IP address:" +print_colored "$COLOR_BLUE" "Please enter your HomeAssistant local IP address (even if behind proxy, need LAN address):" read -r HOMEASSISTANT_IP # Enable SSH Server -echo "Enabling SSH Server..." +print_colored "$COLOR_BLUE" "Enabling SSH Server..." if command -v systemctl &> /dev/null; then sudo systemctl enable --now sshd + print_colored "$COLOR_GREEN" "SSH Server enabled successfully." else - echo "Systemctl not found. Please enable SSH manually." + print_colored "$COLOR_RED" "Systemctl not found. Please enable SSH manually." fi # Configure sudoers -echo "Configuring sudoers..." -echo -e "\n# Allow your user to execute specific commands without a password (for EasyComputerManager/HA)" | sudo tee -a /etc/sudoers -echo "$USER_BEHIND_SUDO ALL=(ALL) NOPASSWD: /sbin/shutdown, /sbin/init, /usr/bin/systemctl, /usr/sbin/pm-suspend, /usr/bin/awk, /usr/sbin/grub-reboot, /usr/sbin/grub2-reboot" | sudo tee -a /etc/sudoers +print_colored "$COLOR_BLUE" "Configuring sudoers..." +echo -e "\n# Allow your user to execute specific commands without a password (for EasyComputerManager/HA)" | sudo tee -a /etc/sudoers > /dev/null +echo "$USER_BEHIND_SUDO ALL=(ALL) NOPASSWD: /sbin/shutdown, /sbin/init, /usr/bin/systemctl, /usr/sbin/pm-suspend, /usr/bin/awk, /usr/sbin/grub-reboot, /usr/sbin/grub2-reboot" | sudo tee -a /etc/sudoers > /dev/null +print_colored "$COLOR_GREEN" "Sudoers file configured successfully." # Firewall Configuration -echo "Configuring firewall..." +print_colored "$COLOR_BLUE" "Configuring firewall..." if command -v ufw &> /dev/null; then sudo ufw allow 22 + print_colored "$COLOR_GREEN" "Firewall configured to allow SSH." else - echo "UFW not found. Please configure the firewall manually (if needed)." + print_colored "$COLOR_RED" "UFW not found. Please configure the firewall manually (if needed)." fi # Setup xhost for GUI apps -echo "Configuring persistent xhost for starting GUI apps (like Steam)..." +print_colored "$COLOR_BLUE" "Configuring persistent xhost for starting GUI apps (like Steam)..." COMMANDS="xhost +$HOMEASSISTANT_IP; xhost +localhost" DESKTOP_ENTRY_NAME="EasyComputerManager-AutoStart" DESKTOP_ENTRY_PATH="/home/$USER_BEHIND_SUDO/.config/autostart/$DESKTOP_ENTRY_NAME.desktop" # Create the desktop entry file for the Desktop Environment to autostart at login every reboot -cat > "$DESKTOP_ENTRY_PATH" < "$DESKTOP_ENTRY_PATH" <