Running a simple GUI app

Phil Betts
Mon Aug 18 16:43:00 GMT 2008

John Emmas wrote on Monday, August 18, 2008 4:55 PM::

> Hi there,
> After installing Cygwin (under WinXP) I've got to the stage of
> compiling a very simple "Hello World" app which just displays an
> empty GTK dialog with the title "Hello World".  To run the app I
> (currently) have to start Cygwin (using its desktop icon), type
> "startx" into the DOS terminal (which opens a second terminal
> window), navigate to the folder containing my executable and finally
> type "./HelloWorld".  Obviously this is all a bit convoluted.  Is
> there a simpler way to launch my app - for example:- 
> a)  Double clicking on an icon, or
> b)  Issuing some command (from a DOS terminal) that would launch the
> app - but starting Cygwin and X invisibly.
> Thanks,
> John

First, there's no such concept as "starting Cygwin".  Cygwin is just
a DLL.  If you mean "start a bash session", there's no need to do
that just to run an X program.

You could* write a bash script along the lines of:

-------- /path/to/runyourprog -------
#!/bin/bash --login

checkx || startx
exec yourprogname

The --login should ensure that the environment is set up correctly.

Then you can create a shortcut with a target of:

C:\cygwin\bin\bash -c /path/to/runyourprog

* This is very much a lame Windows-user type of thing to be doing.
Xwin is a SERVER.  It should not be started by running a client.  
If you were to ask a linux mailing list for a way to switch runlevel
if someone tried to run your program without an X server, you would 
rightly expect the electronic equivalent of howls of derision.

Why do you not just start X when you log on?  If you'd rather not 
start X every time you log on, you only need to start it the first 
time you try to run an X program.  Any properly written X program 
(including yours) should tell the user if it cannot connect to the 
X server, so if you get this message, you just need to run the 
server - once, then try again.


This email has been scanned by Ascribe PLC using Microsoft Antigen for Exchange.

Unsubscribe info:
Problem reports:

More information about the Cygwin-xfree mailing list