prüfen ob X läuft.

Post Reply
Message
Author
BB

prüfen ob X läuft.

#1 Post by BB »

hi

wie kann ich prüfen, ob mein Programm unter X-Windows ausgeführt wird (in der console)?
wenn ja, dannmöchte ich die grafische umgebung meines programmes starten .. ansonsten normales bash-fenster


danke

Jochen

Re: prüfen ob X läuft.

#2 Post by Jochen »

Die (m.E.) einzig sinnvolle Variante ist das Prüfen der Environment-Variablen DISPLAY. Schliesslich möchte man ggf. auch unter X das Programm in einem Terminal fahren bzw. auf einer Maschine ohne X-Server die Ausgabe auf einen X-Server im Netz umlenken.

man 3 getenv

Jochen

BB

Re: prüfen ob X läuft.

#3 Post by BB »

hi jochen

.. danke für antwort .. getenv ist auch meine derzetige lösung, aber ich dachte, daß es eine spezifischere Möglichkeit gibt.
Der start der GUI unter X ist zwingend ... ich will also ausschließen, daß es da in der Console ausgeführt werden kann (ist userfreundlicher).

naja .. so gehts ja eigentlich auch

Gruß BB (ne)

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: prüfen ob X läuft.

#4 Post by bakunin »

Hi!

> Der start der GUI unter X ist zwingend ... ich will also ausschließen, daß es da in der Console ausgeführt werden kann (ist userfreundlicher).

Autsch! Es ist doch wohl zweifellos Benutzer*feindlich*, wenn man nicht die Möglichkeit hat, zu tun was man tun will. Es gibt immer Gründe, warum man etwas im Konsolenmode starten möchte, auch wenn X an sich läuft, seien das Probleme mit den von der Applikation im X-Modus verwendeten Fonts oder sonstwas. Dem (fortgeschrittenen) Benutzer hier keine Wahl zu lassen ist definitiv eine sehr schlechte Idee. Mit DISPLAY zu arbeiten ist die RichtigeLösung(tm).

Cheers,
GNU/Wolfgang

BB

Re: prüfen ob X läuft.

#5 Post by BB »

hi wolfgang

naja .. du "sprichst" vom fortgeschrittenem User: jener sitz aber nich an diesem programm <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle"> .. für den fortgeschrittenen User habe ich einen Schalter integriert, der ihm die Wahl zwischen Console und X läßt. zufrieden ? <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Udo Maslo

Re: prüfen ob X läuft.

#6 Post by Udo Maslo »

So richtig verstehe ich Deine Frage nicht, schließlich mußt Du in Deinem Programm doch das Display öffnen und falls das nicht gelingt startest Du eben Konsolen-code, etwa:

int xfd; /* File Descriptor for the X display */

int x_init()
{
if( ( pDisplay = XOpenDisplay(NULL) ) == NULL )
{
fprintf( stderr, "%s: Unable to open X display
", pAppname );
return( -1 );
}

.. ein bischen initialisieren, Farben, Fonts allozieren und eine Verbindungsnummer geben lassen ...

return( ConnectionNumber( pDisplay ) )
}


if( ( xfd = x_init() ) <0 )
Konsole ...
else
GUI

Post Reply