.Execute(ping localhost)
.Execute(ping localhost)
I have code that polls for stdout, appends it to a wx.TextCtrl,
somehow the display is updated, good.
.Execute(ping localhost)
.Execute(ssh localhost ping -c 5 localhost)
prints show me the stdout is getting appended to TextCtrl, but the
display does not update.
That alone is the problem.
Extra points that might help understand it:
grabbing the corner of the window and dragging to resize:
the window resizes, but nothing inside refreshes. If I expand it, I
get grey where the controls should expand into.
there are buttons I can click that resize the TextCtrl - the TextCtrl
does not resize, but it does refresh and I see the ping output.
once the ping stops (like when -c5 runs out) then everything returns to normal.
clicking the buttons does show the visible focus getting set. hitting
tab does not, but when the ping ends then the expected button has
focus. (I can't really say when it actually got focus, I can only
report on where I see the red outline. )
I have tried a bunch of ssh options, none of these helped: "ssh -a -k
-T -x localhost ping...."
I am using ping as a simple example. the ssh part is real though - I
run a command on a remote box, need to see it's stdout. I have ssh
keys setup so there isn't any login.
(veyepar)juser@pc9e:~$ ssh localhost ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.016 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.051 ms
"ssh localhost ping localhost" is somehow different than "ping
localhost" and it is causing the wx event loop to get stuck or
something. i get no "64 bytes from localhos...t" like I do with the
non ssh. if I kill the ping, then all of the output shows up.
here is the app:
https://github.com/CarlFK/dvsmon/blob/master/dvs-mon.py
Run it, hit the "Run" and "Detail" buttons.
···
--
Carl K