You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Until Python 3.6.9 Xlib is working in Cygwin. However, now having upgraded to Python 3.6.13 I noticed that Xlib is now unable to connect to X11. The same error appears for Python 3.8 and 3.9. After overwriting _socket.cpython-36m-x86_64-cygwin.dll with the one from 3.6.9 Xlib is working again, so my guess is that this is due to some change in the socket module.
I debugged the issue a bit and found this to be working in Python 3.6.9
Python 3.6.9 (default, Jul 21 2019, 14:33:59)
[GCC 7.4.0] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> display = ":7"
>>> data = b'l\x00\x0b\x00\x00\x00\x12\x00\x10\x00\x00\x00MIT-MAGIC-COOKIE-1\x00\x00\xc5\xc1C\xc1Y}\xe6\x1e\x88P\xab\x98\xd0\x91<%'
>>> import select
>>> from Xlib.support import lock, connect
>>> name, protocol, host, displayno, screenno = connect.get_display(display)
>>> socket = connect.get_socket(name, protocol, host, displayno)
>>> i = socket.send(data)
>>> select.select([socket], [], [], None)
([<socket.socket fd=3, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, raddr=/tmp/.X11-unix/X7>], [], [])
>>> socket.recv(512)
b'\x01\x00\x0b\x00\x00\x00:\x07\xd0\xab\xb5\x00\x00\x00`\x00\xff\xff\x1f\x00\x00\x01\x00\x00\x18\x00\xff\xff\x01\x06\x00\x00 \x08\xff\x00\x00\x00\x00The Cygwin Ports project
while in Python 3.6.13 the same commands yield a Connection reset
Python 3.6.13 (default, Feb 16 2021, 07:46:47)
[GCC 10.2.0] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
...
>>> socket.recv(512)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ConnectionResetError: [Errno 104] Connection reset by peer
Any help would be much appreciated!
The text was updated successfully, but these errors were encountered:
Until Python 3.6.9 Xlib is working in Cygwin. However, now having upgraded to Python 3.6.13 I noticed that Xlib is now unable to connect to X11. The same error appears for Python 3.8 and 3.9. After overwriting _socket.cpython-36m-x86_64-cygwin.dll with the one from 3.6.9 Xlib is working again, so my guess is that this is due to some change in the socket module.
I debugged the issue a bit and found this to be working in Python 3.6.9
while in Python 3.6.13 the same commands yield a Connection reset
Any help would be much appreciated!
The text was updated successfully, but these errors were encountered: