Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » Läuft der Xserver?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
23.09.2003, 16:57 Uhr
typecast
aka loddab
(Operator)


Hallo
weiß jemand, wie ein Programm herausfinden kann, ob es in einer X-Umgebung gestartet wurde oder nicht?
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.09.2003, 17:15 Uhr
Pablo
Supertux
(Operator)


Auch wenn es ein Programm ist, welches nur Konsole benutzt wie ls oder dir?

Ein Programm, das ein Fenster öffnet, hat eine Verbindung mit dem X-Server gemacht, du musst dann überprüfen, ob es die Verbindung gibt. Sonst fällt mir nicht ein, ob das möglich ist.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.09.2003, 17:22 Uhr
typecast
aka loddab
(Operator)


Ich habe ein Programm, dass sich unterschiedlich verhält, je nach dem, ob es auf der Konsole, oder in einer X-Ubgebung läuft. In der X-Umgebung, soll es kreiert es mit fork einen neuen Prozess und dieser überlagert sich dann mit einem Programm das den X-Server benötigt. Daher sollte das Programm in Erfahrung bringen, ob es selber in einer X-ServerUmbebung gestartet wurde oder nicht.

PS: Das Prgramm selber stellt keine Verbindung mit demm X-Server her
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)

Dieser Post wurde am 23.09.2003 um 17:24 Uhr von Loddab editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.09.2003, 17:29 Uhr
Pablo
Supertux
(Operator)



Zitat:
Loddab postete
In der X-Umgebung, soll es kreiert es mit fork einen neuen Prozess und dieser überlagert


soll es was machen? Ich verstehe das nicht. sorry ...
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.09.2003, 17:33 Uhr
typecast
aka loddab
(Operator)


Es sieht ungefähr so aus:

C++:
if (0 == (pid = fork()))
{
      execl("./programm", /* hier die Argumente */);
      perror("Huch das darf aber nicht passieren");
      exit(1);
}



Und davor muss ich halt herausfinden, ob es in einer X-Umgebung gestartet wurde.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)

Dieser Post wurde am 23.09.2003 um 17:33 Uhr von Loddab editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
23.09.2003, 18:36 Uhr
0xdeadbeef
Gott
(Operator)


Die Konvention ist es, dass die Adresse eines evtl. erreichbaren X-Servers in der Umgebungsvariable DISPLAY steht. Auf die Art kannst du X auch übers Netz verteilen. Siehe man getenv.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
23.09.2003, 18:42 Uhr
typecast
aka loddab
(Operator)


Danke beefy. Das ist genau das was ich gesucht habe.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
23.09.2003, 18:45 Uhr
Pablo
Supertux
(Operator)


Heißt das, das du wissen wolltest, ob ein X-Server läuft?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
24.09.2003, 14:02 Uhr
RHBaum



Meines erachtens nach kannst ned feststellen, ob nen Programm aus ner XConsole oder ner nromalen Console aus gestartet wurde.
Nur ueber DISPLAY kommst an den XServer ran, damit hast aber auch nen Problem .... DISPLAY kann auch auf nen XServer zeigen, der auf nem anderem Rechner laeuft. Auch wenn auf dem eigenen rechner auch nen XServer gestartet wurde .... Also Prozesse abfragen nuetzt dir auch nix.

Was evtl helfen kann, ist wenn das Aktive Terminal befragst .. ich gleub es hat paar ganz spezielle Einstellungen, wenn es nen XTerminal ist. Anhand dessen kannst dann verzwiegen und einmal die X Version auf das Display des Terminal aus dem gestartet wurde ... oder auf das aktuelle Terminal ausgeben.
Musst aber aufpassen, wenn dein programm nicht von nem Terminal, sondern von der X Umgebung direkt ausgerufen wurde ... weiss nicht welche Shell oder terminal in dem Fall verwendet wird !

Kenn mich mit den Internas da auch ned wirklich aus ....

CIao ...

Dieser Post wurde am 24.09.2003 um 14:03 Uhr von RHBaum editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
24.09.2003, 14:36 Uhr
0xdeadbeef
Gott
(Operator)


Du kannst auch noch TERM auslesen, wenn du lustig bist. Wenn es aber darum geht, ob sich das Programm an nen X-Server verbinden kann oder nicht (und darum geht es in mindestens 99,9% der Fälle), ist DISPLAY das, was du wissen willst.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: