How to restart the rport client safely when connected via tunnel
Problem
You want to restart the rport client, but you are connected via a tunnel (RDP, VNC or SSH). If you just execute a restart command, you will kill the current connection and the restart is also killed halfway. The client will not reconnect.
Solution
You must restart the client with a small delay from a background process. This is done best from the rport script interface.
On Linux
On Linux, execute the following script:
if [ "$(id -u)" -ne 0 ];then
echo "Not root. Please enable sudo";
exit 1
fi
if which at >/dev/null 2>&1; then
echo "$RESTART_CMD" | at now +1 minute
echo "Restart of rport scheduled via atd."
else
nohup sh -c "sleep 10;$RESTART_CMD" >/dev/null 2>&1 &
echo "Restart of rport scheduled via nohup+sleep."
fi
Make sure, you enable sudo.
On Windows
On Windows, a few more lines of PowerShell are required to execute a task in the background. Execute the following script to safely restart rport.