Determine if x is running

Ray Van Dolson rvandolson at esri.com
Mon Feb 9 22:25:54 UTC 2009


On Mon, Feb 09, 2009 at 02:21:24PM -0800, redhat at buglecreek.com wrote:
> I'm am writing a script that sets some various security settings on
> Redhat Boxes.  I would like to try to determine if a gui may be running
> on the box the script is run on.  If so, I would echo some additional
> text to stdout that instructs the user that they may required to
> manually perform some additional settings manually.  Things having to do
> with screen savers.  Anyway, I thought about the following:
> 
> 1. use the runlevel command or who -r to see if the system is in
> runlevel 5.  This seems flawed since the box may have been started in
> runlevel 3 and the startx command may have been used. The commands would
> show runlevel 3.
> 2. Check if the environment variable DISPLAY is set.  If so, seems like
> there is a good chance that they are running a gui. (maybe)
> 
> Is there a better way to check this that anyone can think of? 

Would it be sufficient for your needs to check is the X process is
running?

Theoretically, there is probably some way to interact with a running X
server directly from a script (even if you're not in control of its
terminal) to determine if it's running.

Also, X typically listens on port 6000 locally.

Ray




More information about the Redhat-install-list mailing list