Opened 12 years ago
Last modified 12 years ago
#201 closed defect
Incorrect check for started X server — at Version 1
Reported by: | Alexey Loginov | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | Client | Keywords: | |
Cc: |
Description (last modified by )
In trying to get a WinSwitch/xpra server on Ubuntu to work with a WinSwitch/xpra client on OSX, I had to fight with xmodmap a bit (need to use Alt for Eclipse, emacs, etc.). I found the check for running X server not to be quite right. The following diff is for an older version of winswitch/client/client_base.py (I can't use the latest due to #92), so the lines aren't current but their content hasn't changed.
The first change fixes the search of lines for "org.x.startx". In the old form, line.find returns -1 for any line without a match, triggering on the very first line ("PID Status Label
"). Python documentation states a preference for "substring in string", when the position of substring in string is not needed. If you want to insist on "org.x.startx
" at the very end of the line, the test could be: if line.endswith("org.x.startx"):
The second change corrects the check for a process that's running now ("0" in parts[1]
appears to indicate that the process has terminated and returned 0). Checking that parts[0]
is NOT "-" is a valid check for a running process, as well. The man pages are a bit vague.
The changes below work on my MacBookPros at home and at work with 10.5 and 10.6:
432c432 < if line.find("org.x.startx$"): --- > if "org.x.startx" in line: 436c436 < started = parts[1]=="0" --- > started = parts[1]=="-"
I hope this helps.
-Alexey
Change History (1)
comment:1 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Owner: | changed from Antoine Martin to Antoine Martin |
Status: | new → accepted |
If the check for a terminated process is what you say it should be, shouldn't the new python code be:
Instead of "==" ?