Hi,

Unfortunately xpra is not so stable for me :-( - in two ways:
1.) Sometimes something on the client goes wrong and manually doing "xpra 
upgrade" helps
2.) Often xpra on the server crashes but leaving the X-server intact s "xpra 
upgrade" is possible.

My plan is to create a script that I run within screen and does the following:
1.) Starting xpra with a certain child. If the session already exists, upgrade
2.) Only if the child exits, the script should exit
3.) Otherwise (e.g., xpra crashes), xpra upgrade should run in a loop.

Would xpra provide "xpra upgrade-or-start :1111" this would be cheesy :-)

Other than that I am asking myself what is the best way to achieve it 
otherwise. My current idea is:

xpra start :1111 --no-daemon --session-name=MATLAB --no-mdns 
--start-child="/opt/matlab/bin/matlab -desktop" --exit-with-children
if [ $? -eq 0 ]
then
        echo "xpra exited with status 0. Exiting ..."
        exit 0
fi


while true
do
        echo xpra died, doing upgrade ...

        xpra upgrade :1111 --no-daemon --session-name=MATLAB --no-mdns 
--start-child="/opt/matlab/bin/matlab -desktop" --exit-with-children
        if [ $? -eq 0 ]
        then
                echo "xpra exited with status 0. Exiting ..."
                exit 0
        fi

        echo "xpra exited with nonzero status, re-running the loop ..."
        sleep 3
done


Can I be sure that xpra returns 0 only if the child exited and nonzero 
otherwise (=crash, unexpected exit, ...)?
Is it better/more stable to query a session with something like "xpra list | 
grep :1111" and the do either start or upgrade?
How do I best implement the behavior that the script upgrades if it is ran 
twice and continues the loop but starts if it not?


Thanks for creative suggestions

Lukas

_______________________________________________
shifter-users mailing list
[email protected]
http://lists.devloop.org.uk/mailman/listinfo/shifter-users

Reply via email to