Natürlich gibt es Feedback zum Feedback, freut mich schließlich sehr, wenn jemand mithilft.
#Defaults
XDISPLAY=1 ### Gibt es andere Möglichkeiten? Eventuell den Benutzer über eine Option entscheiden lassen, die mit getopts ausgewertet wird
CMD=openbox ### Nur für das Wort "openbox" eine eigene Variable ? Eventuell hier auch wieder eine Option bereitstellen
Das sind beides nur Vorbelegungen, über die der Benutzer im Verlauf des Skriptes anders entscheiden kann, aber nicht muss. In der Regel arbeitet man mit seinem laufenden XServer auf DISPLAY=:0, hat man noch irgendwo einen zweiten XServer laufen, ist das DISPLAY=:1, ein weiterer Xephyr sollte dann :2 werden und übertreibt man es so richtig oder hat ein Multiterminal-System, kommen auch noch mal ein paar mehr Displays hinzu. Der hier festgelegte Display wird nur in der späteren Auswahl, in der man von 1 bis 100 wählen kann, als Vorgabe genutzt. Genauso wird openbox nur als Vorgabe im späteren Dialog benuzt, bei mir steht da natürlich cream_desktop. 😉
cmd=$($DIALOG --entry --text "Befehl an Xephyr:" --entry-text $CMD) ### Eventuell könnten dem Nutzer vorgegebene Befehle angezeigt werden
Da hatte ich zuerst auch drüber nachgedacht, aber es wieder verworfen. Da es ja zum vor allem zum Testen neuer Software ist, weis man ja gar nicht unbedingt, welche Befehle da gefragt sind. edit: auch hier hätte cmd groß geschrieben werden sollen.
DISPLAY=:$display ### Mit der Variable $DISPLAY wird doch nichts mehr gemacht?
Alle Befehle zuvor wurden (i.d.R.) mit der Umgebungsvariablen DISPLAY=:0 ausgeführt, nun wird auf den neuen DISPLAY der noch folgende Befehl gestartet. Wobei ich da einen Fehler habe: $cmd != $CMD. Habe das korrigiert und auch deine Änderungen übernommen. Du kannst auch ruhig direkt in der Baustelle/Xephyr/Gtk-Xephyr editieren, dank Revisionsgeschichte kann man sich dann auch direkt Diffs anzeigen lassen. Außerdem ist eine Baustelle ja zum basteln da und kein (schon gar nicht mein) Privatbesitz. 😉
Was genau soll "=:" anderes bewirken als "=" ?
Der Doppelpunkt gehört nicht zur Zuweisung, sondern ist Teil des Wertes ":1", vielleicht etwas unglücklich von mir gemacht. "DISPLAY=1" ist afaik nicht "DISPLAY=:1". Ganz korrekt müsste es sogar "DISPLAY=:1.0" heißen, wenn ich mich nicht irre. 😀
Gruß, cornix