#!/bin/bash set -e sudotool=gksu tmpScript=/tmp/easylampp.$RANDOM CpanelLauncher="$HOME/.local/share/applications/XAMPP Control Panel.desktop" HtdocsFolder="$HOME/.local/share/applications/XAMPP htdocs folder.desktop" XAMPPtarball=`zenity --file-selection --file-filter=*.tar.gz --title="Select XAMPP for Linux tarball"` #create new temporary script #so we can ask user for password just once touch $tmpScript (cat <<'EOF' #!/bin/bash set -e if [ -d /opt/lampp ]; then mv /opt/lampp /opt/lampp.bak.$RANDOM mkdir /opt/lampp && $sudotool file-roller $1 -e /opt chown -R $2 /opt/lampp/htdocs else file-roller $1 -e /opt chown -R $2 /opt/lampp/htdocs fi EOF ) > $tmpScript chmod +x $tmpScript #ask user for password #pass variable form parent script to temporay script with arguments $sudotool --description="Installing XAMPP" $tmpScript "$XAMPPtarball" $USER #create Htdocs & Control panel launcher touch "$CpanelLauncher" (cat <<'EOF' [Desktop Entry] Version=1.0 Type=Application Terminal=false Exec=gksu /opt/lampp/share/xampp-control-panel/xampp-control-panel Name=XAMPP Control Panel Icon=gnome-control-center EOF ) > "$CpanelLauncher" chmod +x "$CpanelLauncher" touch "$HtdocsFolder" (cat <<'EOF' [Desktop Entry] Version=1.0 Type=Application Terminal=false Exec=nautilus /opt/lampp/htdocs Name=XAMPP htdocs Icon=folder-remote EOF ) > "$HtdocsFolder" chmod +x "$HtdocsFolder" if zenity --question --text="Do you want to launch XAMPP now ?" --title="Installation Finished" == 0 then $sudotool /opt/lampp/share/xampp-control-panel/xampp-control-panel fi exit 0