#!/bin/sh # Creates an "Install Debian" icon on the live session tested with: # Xfce, LXDE, LXqt, Gnome, KDE, Mate, Cinnamon # We query xdg-user-dir because the Desktop directory has different # names for different languages DESKTOP=$(xdg-user-dir DESKTOP) # Create ~/Desktop just in case this runs before the xdg folder # creation script. mkdir -p $DESKTOP # Among the Debian desktop environments, LXDE is the only one # that behaves completely different. if [ -f /usr/bin/lxsession ]; then echo "[Desktop Entry]" > $DESKTOP/calamares-install-debian.desktop echo "Type=Link" >> $DESKTOP/calamares-install-debian.desktop echo "Name=Install Debian" >> $DESKTOP/calamares-install-debian.desktop echo "Icon=install-debian" >> $DESKTOP/calamares-install-debian.desktop echo "URL=/usr/share/applications/calamares-install-debian.desktop" \ >> $DESKTOP/calamares-install-debian.desktop else cp /usr/share/applications/calamares-install-debian.desktop $DESKTOP # Xfce needs this executable otherwise it complains, everything # else doesn't seem to care either way. chmod +x $DESKTOP/calamares-install-debian.desktop fi # Set desktop launcher as trusted under Xfce (See: #1037299) if [ "$XDG_CURRENT_DESKTOP" = "XFCE" ]; then gio set --type=string ~/Desktop/calamares-install-debian.desktop \ metadata::trusted true gio set --type=string ~/Desktop/calamares-install-debian.desktop \ metadata::xfce-exe-checksum \ "$(sha256sum ~/Desktop/calamares-install-debian.desktop | cut -f1 -d' ')" touch ~/Desktop/calamares-install-debian.desktop fi # Preload calamares binaries and libraries using idle disk cycles # so that it launches faster ionice -C Idle cat /usr/bin/calamares > /dev/null for file in $(ldd /usr/bin/calamares | awk '{print $3}'): do ionice -C Idle cat $file > /dev/null done