All right I finally managed to make it run on Linux:

xvfb-run -s "-screen 0 1400x900x24" python hello_world.py 

This runs without problems on Ubuntu 12.04 and 14.04, and Mint 17.2.

Still no luck on OSX. I guess the problem is that pyglet as most apps in 
OSX uses Quartz instead of X11, so Xvfb does nothing.


On Tuesday, September 29, 2015 at 3:51:15 PM UTC-4, Andrea Cuttone wrote:
>
> I now tried on a Ubuntu 13.10 machine
>
> I run xvfb-run ipython hello_world.py 
> <https://github.com/benatkin/pyglet-stuff/blob/master/hello_world.py>:
>
> Traceback (most recent call last):
>   File "hello_world.py", line 3, in <module>
>     window = pyglet.window.Window()
>   File 
> "/home/andrea/.local/lib/python2.7/site-packages/pyglet/__init__.py", line 
> 357, in __getattr__
>     __import__(import_name)
>   File 
> "/home/andrea/.local/lib/python2.7/site-packages/pyglet/window/__init__.py", 
> line 1817, in <module>
>     gl._create_shadow_window()
>   File 
> "/home/andrea/.local/lib/python2.7/site-packages/pyglet/gl/__init__.py", 
> line 205, in _create_shadow_window
>     _shadow_window = Window(width=1, height=1, visible=False)
>   File 
> "/home/andrea/.local/lib/python2.7/site-packages/pyglet/window/xlib/__init__.py",
>  
> line 163, in __init__
>     super(XlibWindow, self).__init__(*args, **kwargs)
>   File 
> "/home/andrea/.local/lib/python2.7/site-packages/pyglet/window/__init__.py", 
> line 559, in __init__
>     self._create()
>   File 
> "/home/andrea/.local/lib/python2.7/site-packages/pyglet/window/xlib/__init__.py",
>  
> line 210, in _create
>     visual_info = self.config.get_visual_info()
>   File 
> "/home/andrea/.local/lib/python2.7/site-packages/pyglet/gl/xlib.py", line 
> 182, in get_visual_info
>     self.canvas.display._display, self._fbconfig).contents
> ValueError: NULL pointer access
>
>
>
>
> On Tuesday, September 29, 2015 at 11:11:14 AM UTC-4, swiftcoder wrote:
>>
>> What are the chances you can switch to a Linux server?
>>
>> It's likely to be a lot simpler to get X to give you a headless 
>> framebuffer (or MESA equivalent), then to rewrite pyglet's OS X 
>> implementation to allow headless operation.
>> On Tue, Sep 29, 2015 at 07:20, Andrea Cuttone <andrea...@gmail.com> 
>> wrote:
>>
>>> the app is already written using pyglet. Wouldn't that require to 
>>> complete rewrite it using pycairo?
>>>
>>>
>>>
>>> Andrea Cuttone
>>>
>>> On Tue, Sep 29, 2015 at 10:13 AM, Andre D <an...@andred.ca> wrote:
>>>
>>>> Does something like pycairo fit your needs?
>>>> On Sep 29, 2015 10:12 AM, "Andrea Cuttone" <andrea...@gmail.com> wrote:
>>>>
>>>>> The application is https://github.com/andrea-cuttone/geoplotlib, a 
>>>>> python library for plotting geographical data.
>>>>> The use case is running the app to render the maps, capture the 
>>>>> framebuffer and store it to disk in form of raster images.
>>>>> This works great when there is a physical screen attached, but it 
>>>>> fails with a headless session.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Andrea Cuttone
>>>>>
>>>>> On Tue, Sep 29, 2015 at 10:05 AM, Andre D <an...@andred.ca> wrote:
>>>>>
>>>>>> What does the application do with pyglet that a terminal is 
>>>>>> sufficient?
>>>>>> On Sep 29, 2015 9:57 AM, "Andrea Cuttone" <andrea...@gmail.com> 
>>>>>> wrote:
>>>>>>
>>>>>>> remote desktop is not a good option in our setup, as it is very slow 
>>>>>>> over VPN, and also we would like to limit the access we give to users 
>>>>>>> to 
>>>>>>> just a terminal.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Andrea Cuttone
>>>>>>>
>>>>>>> On Mon, Sep 28, 2015 at 4:37 PM, Tristam MacDonald <
>>>>>>> swift...@gmail.com> wrote:
>>>>>>>
>>>>>>>> How about remote desktop'ing in, instead of headless SSH?
>>>>>>>> On Mon, Sep 28, 2015 at 13:15, Andrea Cuttone <andrea...@gmail.com> 
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> yes I guess this is the issue, since I am connected with ssh and 
>>>>>>>>> there is no window manager running. 
>>>>>>>>>
>>>>>>>>> So the question is how to make pyglet use a virtual window manager 
>>>>>>>>> such as Xvfb <https://en.wikipedia.org/wiki/Xvfb> (which is based 
>>>>>>>>> on XQuartz)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Monday, September 28, 2015 at 4:12:08 PM UTC-4, Rob wrote:
>>>>>>>>>>
>>>>>>>>>> I guess this answers it:
>>>>>>>>>>
>>>>>>>>>> Sep 28 21:58:49 1.1.1.1 python[14740] <Error>: This user is not 
>>>>>>>>>> allowed access to the window system right now.
>>>>>>>>>> _RegisterApplication(), FAILED TO establish the default 
>>>>>>>>>> connection to the WindowServer, _CGSDefaultConnection() is NULL.
>>>>>>>>>>
>>>>>>>>>> Not sure if this is something we could fix in pyglet, or whether 
>>>>>>>>>> it is a system config thing.
>>>>>>>>>>
>>>>>>>>>> Rob
>>>>>>>>>>
>>>>>>>>>> Op maandag 28 september 2015 22:03:08 UTC+2 schreef Andrea 
>>>>>>>>>> Cuttone:
>>>>>>>>>>>
>>>>>>>>>>> Hi
>>>>>>>>>>>
>>>>>>>>>>> here is the output of `python -m pyglet.info` on the server
>>>>>>>>>>>
>>>>>>>>>>> https://gist.github.com/andrea-cuttone/61e3dd1f71c5f58b8996
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Andrea Cuttone
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Sep 28, 2015 at 3:50 PM, Rob <silves...@gmail.com> 
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> Can you check what `python -m pyglet.info` returns?
>>>>>>>>>>>>
>>>>>>>>>>>> Rob
>>>>>>>>>>>>
>>>>>>>>>>>> Op maandag 28 september 2015 21:16:34 UTC+2 schreef Andrea 
>>>>>>>>>>>> Cuttone:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hello
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I am trying to run a hello world pyglet app on OSX 10.10, 
>>>>>>>>>>>>> where I connect through ssh. 
>>>>>>>>>>>>> When doing that, I get the following error:
>>>>>>>>>>>>>
>>>>>>>>>>>>> /Users/ancu/pyglet-1.2.3/pyglet/canvas/base.pyc in 
>>>>>>>>>>>>> get_default_screen(self)
>>>>>>>>>>>>>      72         :rtype: :class:`Screen`
>>>>>>>>>>>>>      73         '''
>>>>>>>>>>>>> ---> 74         return self.get_screens()[0]
>>>>>>>>>>>>>      75
>>>>>>>>>>>>>      76     def get_windows(self):
>>>>>>>>>>>>>
>>>>>>>>>>>>> IndexError: list index out of range
>>>>>>>>>>>>>
>>>>>>>>>>>>> which I assume is due to the fact that no Window Manager is 
>>>>>>>>>>>>> running.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I saw that some people suggest to use the virtual X server 
>>>>>>>>>>>>> Xvfb. However even if I have Xvfb running, pyglet seem to not 
>>>>>>>>>>>>> detect it.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Does anyone have experience on how to solve this? 
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Andrea
>>>>>>>>>>>>>
>>>>>>>>>>>>> -- 
>>>>>>>>>>>> You received this message because you are subscribed to a topic 
>>>>>>>>>>>> in the Google Groups "pyglet-users" group.
>>>>>>>>>>>> To unsubscribe from this topic, visit 
>>>>>>>>>>>> https://groups.google.com/d/topic/pyglet-users/p4Jz4g2QXKs/unsubscribe
>>>>>>>>>>>> .
>>>>>>>>>>>> To unsubscribe from this group and all its topics, send an 
>>>>>>>>>>>> email to pyglet-users...@googlegroups.com.
>>>>>>>>>>>> To post to this group, send email to pyglet...@googlegroups.com
>>>>>>>>>>>> .
>>>>>>>>>>>> Visit this group at http://groups.google.com/group/pyglet-users
>>>>>>>>>>>> .
>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> -- 
>>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>>> Groups "pyglet-users" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>>> send an email to pyglet-users...@googlegroups.com.
>>>>>>>>> To post to this group, send email to pyglet...@googlegroups.com.
>>>>>>>>> Visit this group at http://groups.google.com/group/pyglet-users.
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>> -- 
>>>>>>>> You received this message because you are subscribed to a topic in 
>>>>>>>> the Google Groups "pyglet-users" group.
>>>>>>>> To unsubscribe from this topic, visit 
>>>>>>>> https://groups.google.com/d/topic/pyglet-users/p4Jz4g2QXKs/unsubscribe
>>>>>>>> .
>>>>>>>> To unsubscribe from this group and all its topics, send an email to 
>>>>>>>> pyglet-users...@googlegroups.com.
>>>>>>>> To post to this group, send email to pyglet...@googlegroups.com.
>>>>>>>> Visit this group at http://groups.google.com/group/pyglet-users.
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "pyglet-users" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to pyglet-users...@googlegroups.com.
>>>>>>> To post to this group, send email to pyglet...@googlegroups.com.
>>>>>>> Visit this group at http://groups.google.com/group/pyglet-users.
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>> -- 
>>>>>> You received this message because you are subscribed to a topic in 
>>>>>> the Google Groups "pyglet-users" group.
>>>>>> To unsubscribe from this topic, visit 
>>>>>> https://groups.google.com/d/topic/pyglet-users/p4Jz4g2QXKs/unsubscribe
>>>>>> .
>>>>>> To unsubscribe from this group and all its topics, send an email to 
>>>>>> pyglet-users...@googlegroups.com.
>>>>>> To post to this group, send email to pyglet...@googlegroups.com.
>>>>>> Visit this group at http://groups.google.com/group/pyglet-users.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "pyglet-users" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to pyglet-users...@googlegroups.com.
>>>>> To post to this group, send email to pyglet...@googlegroups.com.
>>>>> Visit this group at http://groups.google.com/group/pyglet-users.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> -- 
>>>> You received this message because you are subscribed to a topic in the 
>>>> Google Groups "pyglet-users" group.
>>>> To unsubscribe from this topic, visit 
>>>> https://groups.google.com/d/topic/pyglet-users/p4Jz4g2QXKs/unsubscribe.
>>>> To unsubscribe from this group and all its topics, send an email to 
>>>> pyglet-users...@googlegroups.com.
>>>> To post to this group, send email to pyglet...@googlegroups.com.
>>>> Visit this group at http://groups.google.com/group/pyglet-users.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "pyglet-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to pyglet-users...@googlegroups.com.
>>> To post to this group, send email to pyglet...@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/pyglet-users.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to pyglet-users+unsubscr...@googlegroups.com.
To post to this group, send email to pyglet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/pyglet-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to