8 Commits

Author SHA1 Message Date
Oskar Manhart
a317ba41f4 Merge branch 'main' into feat-optimize-flags 2025-06-10 16:11:41 +02:00
Oskar Manhart
a7e465c704 Merge pull request #538 from winapps-org/chore/nix_update_actions
Packages: update
2025-06-08 19:31:08 +02:00
github-actions[bot]
c3affa75a8 winapps: 0-unstable-2025-05-26 -> 0-unstable-2025-06-05
Diff: 885d02079a...2b2f4cea69
2025-06-08 10:04:07 +00:00
Oskar Manhart
2b2f4cea69 Merge pull request #524 from JoAllg/increase-timelimits
fix(setup.sh): increase timeout durations for RDP port check and process completion
2025-06-05 11:22:03 +02:00
pre-commit-ci[bot]
026325d2bf [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-06-05 08:32:07 +00:00
Joshua Allgeier
e7dfd56515 feat: add configurable timeout settings for RDP operations in README and setup.sh 2025-06-05 10:31:03 +02:00
pre-commit-ci[bot]
b300444e15 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-06-04 20:44:52 +00:00
Joshua Allgeier
46de8a8caa fix(setup.sh): increase timeout durations for RDP port check and process completion 2025-06-04 22:37:57 +02:00
3 changed files with 40 additions and 8 deletions

View File

@@ -443,6 +443,31 @@ AUTOPAUSE_TIME="300"
# DEFAULT VALUE: '' (BLANK)
# VALID VALUES: The command required to run FreeRDPv3 on your system (e.g., 'xfreerdp', 'xfreerdp3', etc.).
FREERDP_COMMAND=""
# [TIMEOUTS]
# NOTES:
# - These settings control various timeout durations within the WinApps setup.
# - Increasing the timeouts is only necessary if the corresponding errors occur.
# - Ensure you have followed all the Troubleshooting Tips in the error message first.
# PORT CHECK
# - The maximum time (in seconds) to wait when checking if the RDP port on Windows is open.
# - Corresponding error: "NETWORK CONFIGURATION ERROR" (exit status 13).
# DEFAULT VALUE: '5'
PORT_TIMEOUT="5"
# RDP CONNECTION TEST
# - The maximum time (in seconds) to wait when testing the initial RDP connection to Windows.
# - Corresponding error: "REMOTE DESKTOP PROTOCOL FAILURE" (exit status 14).
# DEFAULT VALUE: '30'
RDP_TIMEOUT="30"
# APPLICATION SCAN
# - The maximum time (in seconds) to wait for the script that scans for installed applications on Windows to complete.
# - Corresponding error: "APPLICATION QUERY FAILURE" (exit status 15).
# DEFAULT VALUE: '60'
APP_SCAN_TIMEOUT="60"
```
> [!IMPORTANT]

View File

@@ -11,12 +11,12 @@
...
}:
let
rev = "885d02079a36aa9696de46440c5b29b95278f904";
hash = "sha256-hkD1siuwlRNOnXpDETZEQlIb/j91hkCspAUl/m5BB6g=";
rev = "2b2f4cea698096829fbd1c3c15970034a6f53261";
hash = "sha256-km8q3IL5sETbFsscNy4dDxYTytuKPJQJY81p7tSk63A=";
in
stdenv.mkDerivation rec {
pname = "winapps";
version = "0-unstable-2025-05-26";
version = "0-unstable-2025-06-05";
src = fetchFromGitHub {
owner = "winapps-org";

View File

@@ -95,6 +95,10 @@ RDP_FLAGS="" # Imported variable.
DEBUG="true" # Imported variable.
FREERDP_COMMAND="" # Imported variable.
PORT_TIMEOUT=5 # Default port check timeout.
RDP_TIMEOUT=30 # Default RDP connection test timeout.
APP_SCAN_TIMEOUT=60 # Default application scan timeout.
# PERMISSIONS AND DIRECTORIES
SUDO="" # Set to "sudo" if the user specifies '--system', or "" if the user specifies '--user'.
BIN_PATH="" # Set to $SYS_BIN_PATH if the user specifies '--system', or $USER_BIN_PATH if the user specifies '--user'.
@@ -986,7 +990,7 @@ function waCheckPortOpen() {
fi
# Check for an open RDP port.
if ! timeout 5 nc -z "$RDP_IP" "$RDP_PORT" &>/dev/null; then
if ! timeout "$PORT_TIMEOUT" nc -z "$RDP_IP" "$RDP_PORT" &>/dev/null; then
# Complete the previous line.
echo -e "${FAIL_TEXT}Failed!${CLEAR_TEXT}\n"
@@ -999,6 +1003,7 @@ function waCheckPortOpen() {
# Display the suggested action(s).
echo "--------------------------------------------------------------------------------"
echo "Please ensure Remote Desktop is configured on Windows as per the WinApps README."
echo -e "Then you can try increasing the ${COMMAND_TEXT}PORT_TIMEOUT${CLEAR_TEXT} in ${COMMAND_TEXT}${CONFIG_PATH}${CLEAR_TEXT}."
echo "--------------------------------------------------------------------------------"
# Terminate the script.
@@ -1050,8 +1055,8 @@ function waCheckRDPAccess() {
# Initialise the time counter.
ELAPSED_TIME=0
# Wait a maximum of 30 seconds for the background process to complete.
while [ "$ELAPSED_TIME" -lt 30 ]; do
# Wait a maximum of $RDP_TIMEOUT seconds for the background process to complete.
while [ "$ELAPSED_TIME" -lt "$RDP_TIMEOUT" ]; do
# Check if the FreeRDP process is complete or if the test file exists.
if ! ps -p "$FREERDP_PROC" &>/dev/null || [ -f "$TEST_PATH" ]; then
break
@@ -1086,6 +1091,7 @@ function waCheckRDPAccess() {
echo " - Ensure the user is logged out of Windows prior to initiating the WinApps installation."
echo " - Ensure the credentials within the WinApps configuration file are correct."
echo -e " - Utilise a new certificate by removing relevant certificate(s) in ${COMMAND_TEXT}${HOME}/.config/freerdp/server${CLEAR_TEXT}."
echo -e " - Try increasing the ${COMMAND_TEXT}RDP_TIMEOUT${CLEAR_TEXT} in ${COMMAND_TEXT}${CONFIG_PATH}${CLEAR_TEXT}."
echo " - If using 'libvirt', ensure the Windows VM is correctly named as specified within the README."
echo " - If using 'libvirt', ensure 'Remote Desktop' is enabled within the Windows VM."
echo " - If using 'libvirt', ensure you have merged 'RDPApps.reg' into the Windows VM's registry."
@@ -1176,8 +1182,8 @@ function waFindInstalled() {
# Initialise the time counter.
ELAPSED_TIME=0
# Wait a maximum of 60 seconds for the batch script to finish running.
while [ $ELAPSED_TIME -lt 60 ]; do
# Wait a maximum of $APP_SCAN_TIMEOUT seconds for the batch script to finish running.
while [ $ELAPSED_TIME -lt "$APP_SCAN_TIMEOUT" ]; do
# Check if the FreeRDP process is complete or if the 'installed' file exists.
if ! ps -p "$FREERDP_PROC" &>/dev/null || [ -f "$INST_FILE_PATH" ]; then
break
@@ -1208,6 +1214,7 @@ function waFindInstalled() {
# Display the suggested action(s).
echo "--------------------------------------------------------------------------------"
echo -e "Please view the log at ${COMMAND_TEXT}${FREERDP_LOG}${CLEAR_TEXT}."
echo -e "You can try increasing the ${COMMAND_TEXT}APP_SCAN_TIMEOUT${CLEAR_TEXT} in ${COMMAND_TEXT}${CONFIG_PATH}${CLEAR_TEXT}."
echo "--------------------------------------------------------------------------------"
# Terminate the script.