mirror of
https://github.com/winapps-org/winapps.git
synced 2025-08-14 14:29:14 +02:00
Compare commits
7 Commits
doc-arch-p
...
a7e465c704
Author | SHA1 | Date | |
---|---|---|---|
![]() |
a7e465c704 | ||
![]() |
c3affa75a8 | ||
![]() |
2b2f4cea69 | ||
![]() |
026325d2bf | ||
![]() |
e7dfd56515 | ||
![]() |
b300444e15 | ||
![]() |
46de8a8caa |
27
README.md
27
README.md
@@ -311,7 +311,7 @@ Install the required dependencies.
|
|||||||
```
|
```
|
||||||
- Arch Linux:
|
- Arch Linux:
|
||||||
```bash
|
```bash
|
||||||
sudo pacman -Syu --needed -y curl dialog freerdp git iproute2 libnotify openbsd-netcat
|
sudo pacman -Syu --needed -y curl dialog freerdp git iproute2 libnotify gnu-netcat
|
||||||
```
|
```
|
||||||
- OpenSUSE:
|
- OpenSUSE:
|
||||||
```bash
|
```bash
|
||||||
@@ -452,6 +452,31 @@ AUTOPAUSE_TIME="300"
|
|||||||
# DEFAULT VALUE: '' (BLANK)
|
# DEFAULT VALUE: '' (BLANK)
|
||||||
# VALID VALUES: The command required to run FreeRDPv3 on your system (e.g., 'xfreerdp', 'xfreerdp3', etc.).
|
# VALID VALUES: The command required to run FreeRDPv3 on your system (e.g., 'xfreerdp', 'xfreerdp3', etc.).
|
||||||
FREERDP_COMMAND=""
|
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]
|
> [!IMPORTANT]
|
||||||
|
@@ -11,12 +11,12 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
rev = "885d02079a36aa9696de46440c5b29b95278f904";
|
rev = "2b2f4cea698096829fbd1c3c15970034a6f53261";
|
||||||
hash = "sha256-hkD1siuwlRNOnXpDETZEQlIb/j91hkCspAUl/m5BB6g=";
|
hash = "sha256-km8q3IL5sETbFsscNy4dDxYTytuKPJQJY81p7tSk63A=";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "winapps";
|
pname = "winapps";
|
||||||
version = "0-unstable-2025-05-26";
|
version = "0-unstable-2025-06-05";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "winapps-org";
|
owner = "winapps-org";
|
||||||
|
16
setup.sh
16
setup.sh
@@ -96,6 +96,9 @@ MULTIMON="false" # Imported variable.
|
|||||||
DEBUG="true" # Imported variable.
|
DEBUG="true" # Imported variable.
|
||||||
FREERDP_COMMAND="" # Imported variable.
|
FREERDP_COMMAND="" # Imported variable.
|
||||||
MULTI_FLAG="" # Set based on value of $MULTIMON.
|
MULTI_FLAG="" # Set based on value of $MULTIMON.
|
||||||
|
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
|
# PERMISSIONS AND DIRECTORIES
|
||||||
SUDO="" # Set to "sudo" if the user specifies '--system', or "" if the user specifies '--user'.
|
SUDO="" # Set to "sudo" if the user specifies '--system', or "" if the user specifies '--user'.
|
||||||
@@ -988,7 +991,7 @@ function waCheckPortOpen() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for an open RDP port.
|
# 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.
|
# Complete the previous line.
|
||||||
echo -e "${FAIL_TEXT}Failed!${CLEAR_TEXT}\n"
|
echo -e "${FAIL_TEXT}Failed!${CLEAR_TEXT}\n"
|
||||||
|
|
||||||
@@ -1001,6 +1004,7 @@ function waCheckPortOpen() {
|
|||||||
# Display the suggested action(s).
|
# Display the suggested action(s).
|
||||||
echo "--------------------------------------------------------------------------------"
|
echo "--------------------------------------------------------------------------------"
|
||||||
echo "Please ensure Remote Desktop is configured on Windows as per the WinApps README."
|
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 "--------------------------------------------------------------------------------"
|
echo "--------------------------------------------------------------------------------"
|
||||||
|
|
||||||
# Terminate the script.
|
# Terminate the script.
|
||||||
@@ -1055,8 +1059,8 @@ function waCheckRDPAccess() {
|
|||||||
# Initialise the time counter.
|
# Initialise the time counter.
|
||||||
ELAPSED_TIME=0
|
ELAPSED_TIME=0
|
||||||
|
|
||||||
# Wait a maximum of 30 seconds for the background process to complete.
|
# Wait a maximum of $RDP_TIMEOUT seconds for the background process to complete.
|
||||||
while [ "$ELAPSED_TIME" -lt 30 ]; do
|
while [ "$ELAPSED_TIME" -lt "$RDP_TIMEOUT" ]; do
|
||||||
# Check if the FreeRDP process is complete or if the test file exists.
|
# Check if the FreeRDP process is complete or if the test file exists.
|
||||||
if ! ps -p "$FREERDP_PROC" &>/dev/null || [ -f "$TEST_PATH" ]; then
|
if ! ps -p "$FREERDP_PROC" &>/dev/null || [ -f "$TEST_PATH" ]; then
|
||||||
break
|
break
|
||||||
@@ -1091,6 +1095,7 @@ function waCheckRDPAccess() {
|
|||||||
echo " - Ensure the user is logged out of Windows prior to initiating the WinApps installation."
|
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 " - 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 " - 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 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 'Remote Desktop' is enabled within the Windows VM."
|
||||||
echo " - If using 'libvirt', ensure you have merged 'RDPApps.reg' into the Windows VM's registry."
|
echo " - If using 'libvirt', ensure you have merged 'RDPApps.reg' into the Windows VM's registry."
|
||||||
@@ -1184,8 +1189,8 @@ function waFindInstalled() {
|
|||||||
# Initialise the time counter.
|
# Initialise the time counter.
|
||||||
ELAPSED_TIME=0
|
ELAPSED_TIME=0
|
||||||
|
|
||||||
# Wait a maximum of 60 seconds for the batch script to finish running.
|
# Wait a maximum of $APP_SCAN_TIMEOUT seconds for the batch script to finish running.
|
||||||
while [ $ELAPSED_TIME -lt 60 ]; do
|
while [ $ELAPSED_TIME -lt "$APP_SCAN_TIMEOUT" ]; do
|
||||||
# Check if the FreeRDP process is complete or if the 'installed' file exists.
|
# 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
|
if ! ps -p "$FREERDP_PROC" &>/dev/null || [ -f "$INST_FILE_PATH" ]; then
|
||||||
break
|
break
|
||||||
@@ -1216,6 +1221,7 @@ function waFindInstalled() {
|
|||||||
# Display the suggested action(s).
|
# Display the suggested action(s).
|
||||||
echo "--------------------------------------------------------------------------------"
|
echo "--------------------------------------------------------------------------------"
|
||||||
echo -e "Please view the log at ${COMMAND_TEXT}${FREERDP_LOG}${CLEAR_TEXT}."
|
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 "--------------------------------------------------------------------------------"
|
echo "--------------------------------------------------------------------------------"
|
||||||
|
|
||||||
# Terminate the script.
|
# Terminate the script.
|
||||||
|
Reference in New Issue
Block a user