Ich benutze Debian mit Apache 2 und PHP 5. Ich will mit einem PHP-Skript, das auf meinem PC gestartet wird, indem ich im Browser "localhost" eingebe, eine X11-Anwendung starten. Doch alleine mit exec() funktioniert das ja nicht, da man zuerst noch Umgebungs-Variabeln, etc, definieren muss. Darum habe ich ein Shell-Script geschrieben, das so aussieht:
#!/bin/bash export DISPLAY=:0.0 export HOME=/home/silvan sudo xhost local:silvan gnome-terminal&
Dieses Skript wird mit exec() aufgerufen. Das Skript setzt die DISPLAY- und HOME-Variable, gibt mir Zugriff auf X11 und startet schliesslich das Gnome-Terminal. Hier die HTML-Datei:
<HTML> <HEAD> <TITLE>Test-Seite</TITLE> </HEAD> <BODY> <?php exec("./skript.sh"); echo "Shell, öffne dich!"; ?> </BODY> </HTML>
Doch jetzt kommt das Problem: Wenn ich index.php aufrufe, dann wird schön das Gnome-Terminal angezeigt. Doch die Webseite selbst (Shell, öffne dich!) wird erst angezeigt, wenn ich das Terminal wieder geschlossen habe.
Ist es möglich, dass direkt zum nächsten Befehl gegangen wird und nicht zuerst gewartet wird, bis skript.sh fertig ist?
Lg