I wrote a python program that handles everything.<div><br></div><div>It uses the Popen suprocess call to launch an X server for each display/seat when it arrives. I changed a few of the default X setting in the Xauthority file to enable me to run X from user space and my python app basically just watched for new seats to appear. Once the seat show&#39;s up it checks the serial number of the display using udevadm, compares that to an INI file that associates a monitors serial number with the app it is supposed to run. It then watches the tasks to make sure they are still alive, and that the seat did not leave. If it does it kills the process then re-spawns them when the correct moniter seat and serial number show back up.<br>
<br></div><div>Hal</div><div><br><div class="gmail_quote">On Tue, Jan 26, 2010 at 3:54 PM, Bernie Thompson <span dir="ltr">&lt;<a href="mailto:bernie@berniethompson.com">bernie@berniethompson.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Hal,<br>
<br>
Wow, that is awesome!  What a great way to send a &quot;thank you&quot; to<br>
everyone in the form of a video, too.  Great job getting that all<br>
running (including the screen-specific app launch) with these still<br>
evolving pieces.<br>
<br>
One question: You mentioned this demo is on Ubuntu 9.10.  Did you<br>
downgrade the GDM version to 2.20, or did you use you an alternative<br>
to gdmdynamic to launch the X instances?<br>
<br>
Best wishes!<br>
<font color="#888888">Bernie<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Hal Glenn<br>2G Engineering LLC<br>608-628-8941<br>
</div>