mirror of
https://github.com/winapps-org/winapps.git
synced 2025-08-01 16:36:39 +02:00
Start fixing alot of stuff
This commit is contained in:
64
bin/winapps
64
bin/winapps
@@ -1,43 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ ! -f "${HOME}/.config/winapps/winapps.conf" ] && [ ! -f "${HOME}/.winapps" ]; then
|
||||
if [ ! -f "$HOME/.config/winapps/winapps.conf" ] && [ ! -f "$HOME/.winapps" ]; then
|
||||
echo "You need to create a ~/.config/winapps/winapps.conf configuration. Exiting..."
|
||||
exit
|
||||
fi
|
||||
DIR="$(dirname "$(readlink -f "$0")")"
|
||||
RUN="$(date)-${RANDOM}"
|
||||
RUN="$(date)-$RANDOM"
|
||||
|
||||
if [ ! -d "${HOME}/.local/share/winapps" ]; then
|
||||
mkdir -p "${HOME}/.local/share/winapps"
|
||||
if [ ! -d "$HOME/.local/share/winapps" ]; then
|
||||
mkdir -p "$HOME/.local/share/winapps"
|
||||
fi
|
||||
|
||||
RDP_SCALE=100
|
||||
|
||||
if [ -f "${HOME}/.config/winapps/winapps.conf" ]; then
|
||||
. "${HOME}/.config/winapps/winapps.conf"
|
||||
if [ -f "$HOME/.config/winapps/winapps.conf" ]; then
|
||||
# shellcheck source=/dev/null
|
||||
. "$HOME/.config/winapps/winapps.conf"
|
||||
else
|
||||
. "${HOME}/.winapps"
|
||||
# shellcheck source=/dev/null
|
||||
. "$HOME/.winapps"
|
||||
fi
|
||||
|
||||
function dprint() {
|
||||
if [ "${DEBUG}" = "true" ]; then
|
||||
echo "[${RUN}] ${1}" >>"${HOME}/.local/share/winapps/winapps.log"
|
||||
if [ "$DEBUG" = "true" ]; then
|
||||
echo "[$RUN] ${1}" >>"$HOME/.local/share/winapps/winapps.log"
|
||||
fi
|
||||
}
|
||||
|
||||
dprint "START"
|
||||
|
||||
if [ -f "${HOME}/.local/share/winapps/run" ]; then
|
||||
LAST_RAN=$(stat -t -c %Y "${HOME}/.local/share/winapps/run")
|
||||
if [ -f "$HOME/.local/share/winapps/run" ]; then
|
||||
LAST_RAN=$(stat -t -c %Y "$HOME/.local/share/winapps/run")
|
||||
dprint "LAST_RAN:${LAST_RAN}"
|
||||
touch "${HOME}/.local/share/winapps/run"
|
||||
THIS_RUN=$(stat -t -c %Y "${HOME}/.local/share/winapps/run")
|
||||
dprint "THIS_RUN:${THIS_RUN}"
|
||||
touch "$HOME/.local/share/winapps/run"
|
||||
THIS_RUN=$(stat -t -c %Y "$HOME/.local/share/winapps/run")
|
||||
dprint "THIS_RUN:$THIS_RUN"
|
||||
if ((THIS_RUN - LAST_RAN < 2)); then
|
||||
exit
|
||||
fi
|
||||
else
|
||||
touch "${HOME}/.local/share/winapps/run"
|
||||
touch "$HOME/.local/share/winapps/run"
|
||||
fi
|
||||
|
||||
if [ -z "${FREERDP_COMMAND}" ]; then
|
||||
@@ -48,15 +50,15 @@ if [ -z "${FREERDP_COMMAND}" ]; then
|
||||
then
|
||||
FREERDP_COMMAND="xfreerdp3"
|
||||
fi
|
||||
elif command -v $FREERDP_COMMAND &> /dev/null
|
||||
elif command -v "$FREERDP_COMMAND" &> /dev/null
|
||||
then
|
||||
dprint "Using custom freerdp command ${FREERDP_COMMAND}"
|
||||
dprint "Using custom freerdp command $FREERDP_COMMAND"
|
||||
else
|
||||
echo "You have supplied a custom FreeRDP command, but the command is not available."
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -z "${RDP_IP}" ]; then
|
||||
if [ -z "$RDP_IP" ]; then
|
||||
if [ ! "$(groups | grep -v libvirt)" ]; then
|
||||
echo "You are not a member of the libvirt group. Run the below then reboot."
|
||||
echo ' sudo usermod -a -G libvirt $(whoami)'
|
||||
@@ -74,7 +76,7 @@ if [ -z "${RDP_IP}" ]; then
|
||||
fi
|
||||
|
||||
dprint "1:${1}"
|
||||
dprint "2:${2}"
|
||||
dprint "2:$2"
|
||||
# this is just for debug logging anyways
|
||||
# shellcheck disable=SC2145
|
||||
dprint "@:${@}"
|
||||
@@ -85,23 +87,23 @@ if [ "${MULTIMON}" = "true" ]; then
|
||||
fi
|
||||
|
||||
if [ "${1}" = "windows" ]; then
|
||||
$FREERDP_COMMAND ${RDP_FLAGS} /d:"${RDP_DOMAIN}" /u:"${RDP_USER}" /p:"${RDP_PASS}" /scale:${RDP_SCALE} +dynamic-resolution +auto-reconnect +home-drive /wm-class:"Microsoft Windows" /v:${RDP_IP} 1>/dev/null 2>&1 &
|
||||
$FREERDP_COMMAND $RDP_FLAGS /d:"$RDP_DOMAIN" /u:"$RDP_USER" /p:"$RDP_PASS" /scale:$RDP_SCALE +dynamic-resolution +auto-reconnect +home-drive /wm-class:"Microsoft Windows" /v:$RDP_IP 1>/dev/null 2>&1 &
|
||||
elif [ "${1}" = "check" ]; then
|
||||
dprint "CHECK"
|
||||
$FREERDP_COMMAND ${RDP_FLAGS} /d:"${RDP_DOMAIN}" /u:"${RDP_USER}" /p:"${RDP_PASS}" /scale:${RDP_SCALE} +auto-reconnect +home-drive -wallpaper +dynamic-resolution ${MULTI_FLAG} /app:program:"explorer.exe" /v:${RDP_IP}
|
||||
$FREERDP_COMMAND $RDP_FLAGS /d:"$RDP_DOMAIN" /u:"$RDP_USER" /p:"$RDP_PASS" /scale:$RDP_SCALE +auto-reconnect +home-drive -wallpaper +dynamic-resolution $MULTI_FLAG /app:program:"explorer.exe" /v:$RDP_IP
|
||||
elif [ "${1}" = "manual" ]; then
|
||||
dprint "MANUAL:${2}"
|
||||
$FREERDP_COMMAND ${RDP_FLAGS} /d:"${RDP_DOMAIN}" /u:"${RDP_USER}" /p:"${RDP_PASS}" /scale:${RDP_SCALE} +auto-reconnect +home-drive +dynamic-resolution ${MULTI_FLAG} /app:program:"${2}" /v:"${RDP_IP}" 1>/dev/null 2>&1 &
|
||||
dprint "MANUAL:$2"
|
||||
$FREERDP_COMMAND $RDP_FLAGS /d:"$RDP_DOMAIN" /u:"$RDP_USER" /p:"$RDP_PASS" /scale:$RDP_SCALE +auto-reconnect +home-drive +dynamic-resolution $MULTI_FLAG /app:program:"$2" /v:"$RDP_IP" 1>/dev/null 2>&1 &
|
||||
elif [ "${1}" != "install" ]; then
|
||||
dprint "DIR:${DIR}"
|
||||
if [ -e "${DIR}/../apps/${1}/info" ]; then
|
||||
# shellcheck disable=SC1090
|
||||
. "${DIR}/../apps/${1}/info"
|
||||
ICON="${DIR}/../apps/${1}/icon.svg"
|
||||
elif [ -e "${HOME}/.local/share/winapps/apps/${1}/info" ]; then
|
||||
elif [ -e "$HOME/.local/share/winapps/apps/${1}/info" ]; then
|
||||
# shellcheck disable=SC1090
|
||||
. "${HOME}/.local/share/winapps/apps/${1}/info"
|
||||
ICON="${HOME}/.local/share/winapps/apps/${1}/icon.svg"
|
||||
. "$HOME/.local/share/winapps/apps/${1}/info"
|
||||
ICON="$HOME/.local/share/winapps/apps/${1}/icon.svg"
|
||||
elif [ -e "/usr/local/share/winapps/apps/${1}/info" ]; then
|
||||
# shellcheck disable=SC1090
|
||||
. "/usr/local/share/winapps/apps/${1}/info"
|
||||
@@ -110,13 +112,13 @@ elif [ "${1}" != "install" ]; then
|
||||
echo "You need to run 'installer.sh' first."
|
||||
exit 1
|
||||
fi
|
||||
if [ -n "${2}" ]; then
|
||||
dprint "HOME:${HOME}"
|
||||
FILE=$(echo "${2}" | sed 's|'"${HOME}"'|\\\\tsclient\\home|;s|/|\\|g;s|\\|\\\\|g')
|
||||
if [ -n "$2" ]; then
|
||||
dprint "HOME:$HOME"
|
||||
FILE=$(echo "$2" | sed 's|'"$HOME"'|\\\\tsclient\\home|;s|/|\\|g;s|\\|\\\\|g')
|
||||
dprint "FILE:${FILE}"
|
||||
$FREERDP_COMMAND ${RDP_FLAGS} /d:"${RDP_DOMAIN}" /u:"${RDP_USER}" /p:"${RDP_PASS}" /scale:${RDP_SCALE} +auto-reconnect +clipboard +home-drive -wallpaper +dynamic-resolution ${MULTI_FLAG} /wm-class:"${FULL_NAME}" /app:program:"${WIN_EXECUTABLE}",icon:"${ICON}",name:"${FULL_NAME}",cmd:"\"$FILE\"" /v:"${RDP_IP}" 1>/dev/null 2>&1 &
|
||||
$FREERDP_COMMAND $RDP_FLAGS /d:"$RDP_DOMAIN" /u:"$RDP_USER" /p:"$RDP_PASS" /scale:$RDP_SCALE +auto-reconnect +clipboard +home-drive -wallpaper +dynamic-resolution $MULTI_FLAG /wm-class:"$FULL_NAME" /app:program:"$WIN_EXECUTABLE",icon:"$ICON",name:"$FULL_NAME",cmd:"\"$FILE\"" /v:"$RDP_IP" 1>/dev/null 2>&1 &
|
||||
else
|
||||
$FREERDP_COMMAND ${RDP_FLAGS} /d:"${RDP_DOMAIN}" /u:"${RDP_USER}" /p:"${RDP_PASS}" /scale:${RDP_SCALE} +auto-reconnect +clipboard +home-drive -wallpaper +dynamic-resolution ${MULTI_FLAG} /wm-class:"${FULL_NAME}" /app:program:"${WIN_EXECUTABLE}",icon:"${ICON}",name:"${FULL_NAME}" /v:"${RDP_IP}" 1>/dev/null 2>&1 &
|
||||
$FREERDP_COMMAND $RDP_FLAGS /d:"$RDP_DOMAIN" /u:"$RDP_USER" /p:"$RDP_PASS" /scale:$RDP_SCALE +auto-reconnect +clipboard +home-drive -wallpaper +dynamic-resolution $MULTI_FLAG /wm-class:"$FULL_NAME" /app:program:"$WIN_EXECUTABLE",icon:"$ICON",name:"$FULL_NAME" /v:"$RDP_IP" 1>/dev/null 2>&1 &
|
||||
fi
|
||||
fi
|
||||
|
||||
|
Reference in New Issue
Block a user