... inzwischen habe ich mir die Zeile
env -i /usr/bin/zenity --question --title "Back2" --text "Soll das programm gedit geöffnet werden?"
mal genauer angeguckt, denn die wirft ja auch schon die Meldung "This option is not available. Please see --help for all possible usages."
Dieser Satz stammt eindeutig nicht von env, sondern von zenity ! – also spinnt zenity herum, wenn es nicht die nötigen Variablen gereicht bekommt. (kann man leicht feststellen indem man env und zenity mit sinnlosen Parametern aufruft)
Ok, dann reichen wir ihm mal die nötigen Variablen (mit env -i hatten wir ihm ja alle weggenommen):
env -i DISPLAY=:0.0 /usr/bin/zenity --question --title "Back2" --text "Soll das programm gedit geöffnet werden?"
spinnt immer noch, also habe ich mir mit env
mal angeguckt, was er normalerweise so gereicht bekommt, und was davon wichtig sein könnte.
Dann habe ich ihm die Lokalisierung dazu gegeben:
track@ubuntu:~$ env -i DISPLAY=:0.0 LANG=de_DE.UTF-8 /usr/bin/zenity --info --text "Soll das programm gedit geöffnet werden?"
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Diese Option steht nicht zur Verfügung. Bitte verwenden Sie »--help« für alle Anwendungsmöglichkeiten.
- das quittiert er also schon mal mit etwas mehr Antwort, in Deutsch. Ein Hoffnungsschimmer.
Nach etwas probieren bin ich dann auf folgende "Essentials" gekommen. Mit denen läuft er bei mir:
env -i DISPLAY=:0.0 LANG=de_DE.UTF-8 XAUTHORITY=/home/track/.Xauthority /usr/bin/zenity --info --text "Soll das programm gedit geöffnet werden?"
Jetzt bin ich natürlich neugierig, wieso der 2. Aufruf von zenity bei Dir überhaupt funktioniert hat. (das tat er bei mir nämlich nicht !)
Könntest Du dafür mal bitte folgende Version von Deinem Skript mit env -i back2test.sh
im Terminal aufrufen:
#!/bin/bash
export DISPLAY=:0.0
echo -----------
env
echo -----------
/usr/bin/zenity --question --title "Back2" --text "Soll das programm gedit geöffnet werden?"
if [ $? = 0 ]; then
/usr/bin/gedit
else
echo -----------
env
echo -----------
/usr/bin/zenity --info --text "Abgebrochen..."
echo -----------
env
echo -----------
exit 1
fi
und die Ausgabe hier als Codeblock posten ? – vielleicht wird dann deutlich, wieso der 2. Aufruf wider Erwarten doch funktioniert hat.
track