mirror of
https://github.com/winapps-org/winapps.git
synced 2025-06-06 15:17:19 +02:00
Add user vs system mode
This commit is contained in:
parent
184fb1167f
commit
0ac0a448af
130
install.sh
130
install.sh
@ -1,29 +1,36 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
sudo ls > /dev/null
|
|
||||||
|
|
||||||
echo "Installing..."
|
|
||||||
|
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
. "${DIR}/bin/winapps" install
|
|
||||||
|
|
||||||
# Check for installed apps
|
|
||||||
echo -n " Checking for installed apps in RDP machine..."
|
function waUsage() {
|
||||||
rm -f ${HOME}/.local/share/winapps/installed.bat
|
echo 'Usage:
|
||||||
rm -f ${HOME}/.local/share/winapps/installed
|
./install.sh --user # Install everything in ${HOME}
|
||||||
for F in $(ls "${DIR}/apps"); do
|
./install.sh --system # Install everything in /usr'
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
function waInstall() {
|
||||||
|
. "${DIR}/bin/winapps" install
|
||||||
|
}
|
||||||
|
|
||||||
|
function waFindInstalled() {
|
||||||
|
echo -n " Checking for installed apps in RDP machine..."
|
||||||
|
rm -f ${HOME}/.local/share/winapps/installed.bat
|
||||||
|
rm -f ${HOME}/.local/share/winapps/installed
|
||||||
|
for F in $(ls "${DIR}/apps"); do
|
||||||
. "${DIR}/apps/${F}/info"
|
. "${DIR}/apps/${F}/info"
|
||||||
echo "IF EXIST \"${WIN_EXECUTABLE}\" ECHO ${F} >> \\\\tsclient\\home\\.local\\share\\winapps\\installed" >> ${HOME}/.local/share/winapps/installed.bat
|
echo "IF EXIST \"${WIN_EXECUTABLE}\" ECHO ${F} >> \\\\tsclient\\home\\.local\\share\\winapps\\installed" >> ${HOME}/.local/share/winapps/installed.bat
|
||||||
done;
|
done;
|
||||||
echo "ECHO DONE >> \\\\tsclient\\home\\.local\\share\\winapps\\installed" >> ${HOME}/.local/share/winapps/installed.bat
|
echo "ECHO DONE >> \\\\tsclient\\home\\.local\\share\\winapps\\installed" >> ${HOME}/.local/share/winapps/installed.bat
|
||||||
touch ${HOME}/.local/share/winapps/installed
|
touch ${HOME}/.local/share/winapps/installed
|
||||||
LAST_RAN=$(stat -t -c %Y ${HOME}/.local/share/winapps/installed)
|
LAST_RAN=$(stat -t -c %Y ${HOME}/.local/share/winapps/installed)
|
||||||
sleep 6
|
sleep 6
|
||||||
xfreerdp /d:"${RDP_DOMAIN}" /u:"${RDP_USER}" /p:"${RDP_PASS}" /v:${RDP_IP} +auto-reconnect +home-drive -wallpaper /span /wm-class:"RDPInstaller" /app:"C:\Windows\System32\cmd.exe" /app-icon:"${DIR}/../icons/windows.svg" /app-cmd:"/C \\\\tsclient\\home\\.local\\share\\winapps\\installed.bat" 1> /dev/null 2>&1 &
|
xfreerdp /d:"${RDP_DOMAIN}" /u:"${RDP_USER}" /p:"${RDP_PASS}" /v:${RDP_IP} +auto-reconnect +home-drive -wallpaper /span /wm-class:"RDPInstaller" /app:"C:\Windows\System32\cmd.exe" /app-icon:"${DIR}/../icons/windows.svg" /app-cmd:"/C \\\\tsclient\\home\\.local\\share\\winapps\\installed.bat" 1> /dev/null 2>&1 &
|
||||||
sleep 6
|
sleep 6
|
||||||
COUNT=0
|
COUNT=0
|
||||||
THIS_RUN=$(stat -t -c %Y ${HOME}/.local/share/winapps/installed)
|
THIS_RUN=$(stat -t -c %Y ${HOME}/.local/share/winapps/installed)
|
||||||
while (( $THIS_RUN - $LAST_RAN < 5 )); do
|
while (( $THIS_RUN - $LAST_RAN < 5 )); do
|
||||||
sleep 5
|
sleep 5
|
||||||
THIS_RUN=$(stat -t -c %Y ${HOME}/.local/share/winapps/installed)
|
THIS_RUN=$(stat -t -c %Y ${HOME}/.local/share/winapps/installed)
|
||||||
COUNT=$((COUNT + 1))
|
COUNT=$((COUNT + 1))
|
||||||
@ -32,17 +39,18 @@ while (( $THIS_RUN - $LAST_RAN < 5 )); do
|
|||||||
echo "The RDP connection failed to connect or run."
|
echo "The RDP connection failed to connect or run."
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo " Finished."
|
echo " Finished."
|
||||||
|
}
|
||||||
|
|
||||||
# Install apps
|
function waConfigureApps() {
|
||||||
COUNT=0
|
COUNT=0
|
||||||
for F in $(cat "${HOME}/.local/share/winapps/installed" |sed 's/\r/\n/g'); do
|
for F in $(cat "${HOME}/.local/share/winapps/installed" |sed 's/\r/\n/g'); do
|
||||||
if [ "${F}" != "DONE" ]; then
|
if [ "${F}" != "DONE" ]; then
|
||||||
COUNT=$((COUNT + 1))
|
COUNT=$((COUNT + 1))
|
||||||
. "${DIR}/apps/${F}/info"
|
. "${DIR}/apps/${F}/info"
|
||||||
echo -n " Configuring ${NAME}..."
|
echo -n " Configuring ${NAME}..."
|
||||||
sudo rm -f "/usr/share/applications/${F}.desktop"
|
${SUDO} rm -f "${APP_PATH}/${F}.desktop"
|
||||||
echo "[Desktop Entry]
|
echo "[Desktop Entry]
|
||||||
Name=${NAME}
|
Name=${NAME}
|
||||||
Exec=${DIR}/bin/winapps ${F} %F
|
Exec=${DIR}/bin/winapps ${F} %F
|
||||||
@ -53,26 +61,26 @@ StartupWMClass=${FULL_NAME}
|
|||||||
Comment=${FULL_NAME}
|
Comment=${FULL_NAME}
|
||||||
Categories=${CATEGORIES}
|
Categories=${CATEGORIES}
|
||||||
MimeType=${MIME_TYPES}
|
MimeType=${MIME_TYPES}
|
||||||
" |sudo tee "/usr/share/applications/${F}.desktop" > /dev/null
|
" |${SUDO} tee "${APP_PATH}/${F}.desktop" > /dev/null
|
||||||
sudo rm -f "/usr/local/bin/${F}"
|
${SUDO} rm -f "${BIN_PATH}/${F}"
|
||||||
echo "#!/usr/bin/env bash
|
echo "#!/usr/bin/env bash
|
||||||
${DIR}/bin/winapps ${F} $@
|
${DIR}/bin/winapps ${F} $@
|
||||||
" |sudo tee "/usr/local/bin/${F}" > /dev/null
|
" |${SUDO} tee "/usr/local/bin/${F}" > /dev/null
|
||||||
sudo chmod a+x "/usr/local/bin/${F}"
|
${SUDO} chmod a+x "${BIN_PATH}/${F}"
|
||||||
echo " Finished."
|
echo " Finished."
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
rm -f "${HOME}/.local/share/winapps/installed"
|
rm -f "${HOME}/.local/share/winapps/installed"
|
||||||
rm -f "${HOME}/.local/share/winapps/installed.bat"
|
rm -f "${HOME}/.local/share/winapps/installed.bat"
|
||||||
if (( $COUNT == 0 )); then
|
if (( $COUNT == 0 )); then
|
||||||
echo " No configured applications were found."
|
echo " No configured applications were found."
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function waConfigureWindows() {
|
||||||
# Install windows
|
echo -n " Configuring Windows..."
|
||||||
echo -n " Configuring Windows..."
|
${SUDO} rm -f "${APP_PATH}/windows.desktop"
|
||||||
sudo rm -f "/usr/share/applications/windows.desktop"
|
echo "[Desktop Entry]
|
||||||
echo "[Desktop Entry]
|
|
||||||
Name=Windows
|
Name=Windows
|
||||||
Exec=${DIR}/bin/winapps windows %F
|
Exec=${DIR}/bin/winapps windows %F
|
||||||
Terminal=false
|
Terminal=false
|
||||||
@ -81,12 +89,42 @@ Icon=${DIR}/icons/windows.svg
|
|||||||
StartupWMClass=Micorosoft Windows
|
StartupWMClass=Micorosoft Windows
|
||||||
Comment=Micorosoft Windows
|
Comment=Micorosoft Windows
|
||||||
Categories=Windows
|
Categories=Windows
|
||||||
" |sudo tee "/usr/share/applications/windows.desktop" > /dev/null
|
" |${SUDO} tee "${APP_PATH}/windows.desktop" > /dev/null
|
||||||
sudo rm -f "/usr/local/bin/windows"
|
${SUDO} rm -f "${BIN_PATH}/windows"
|
||||||
echo "#!/usr/bin/env bash
|
echo "#!/usr/bin/env bash
|
||||||
${DIR}/bin/winapps windows
|
${DIR}/bin/winapps windows
|
||||||
" |sudo tee "/usr/local/bin/windows" > /dev/null
|
" |${SUDO} tee "/${BIN_PATH}/windows" > /dev/null
|
||||||
sudo chmod a+x "/usr/local/bin/windows"
|
${SUDO} chmod a+x "${BIN_PATH}/windows"
|
||||||
echo " Finished."
|
echo " Finished."
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -z "${1}" ]; then
|
||||||
|
waUsage
|
||||||
|
elif [ "${1}" = '--user' ]; then
|
||||||
|
SUDO=""
|
||||||
|
BIN_PATH="${HOME}/.local/bin"
|
||||||
|
APP_PATH="${HOME}/.local/share/applications"
|
||||||
|
elif [ "${1}" = '--system' ]; then
|
||||||
|
SUDO="sudo"
|
||||||
|
sudo ls > /dev/null
|
||||||
|
BIN_PATH="/usr/local/bin"
|
||||||
|
APP_PATH="/usr/share/applications"
|
||||||
|
else
|
||||||
|
waUsage
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Installing..."
|
||||||
|
|
||||||
|
# Inititialize
|
||||||
|
waInstall
|
||||||
|
|
||||||
|
# Check for installed apps
|
||||||
|
waFindInstalled
|
||||||
|
|
||||||
|
# Configure apps
|
||||||
|
waConfigureApps
|
||||||
|
|
||||||
|
# Install windows
|
||||||
|
waConfigureWindows
|
||||||
|
|
||||||
echo "Installation complete."
|
echo "Installation complete."
|
Loading…
x
Reference in New Issue
Block a user