Ich benutze die SvDialogs (eine R-Wrapper-Bibliothek für zenity), um GUI Pop-up-Boxen zu erstellen, und dies funktioniert einwandfrei, wenn ich den Code durch R Studio oder ausführen aus einer R-Terminal-Sitzung (unter Ubuntu 16.04).R Pop-up-Boxen funktionieren nicht, wenn im Terminal ausgeführt
Ein minimales Beispiel ist:
library(svDialogs)
dlgMessage("Hello Stackoverflow!")
Wenn ich jedoch den Code direkt über das Terminal ausgeführt ist es nicht funktioniert:
Rscript --vanilla -e 'source("path/to/file.R")'
Das Terminal zeigt, dass die Bibliothek geladen wird, und nicht zeige eine Fehlermeldung an: aber das Popup erscheint nicht! Wenn ich nach dem Aufruf von dlgMessage eine zusätzliche Zeile hinzufüge, wird diese Zeile ausgeführt. das heißt, wenn ich den modifizierten Code
library(svDialogs)
dlgMessage("Hello Stackoverflow!")
print("Goodbye Stackoverflow!")
dann die zweite Zeile in dem Anschlussfenster nicht zeigen laufen (d.h. der Code Absturz bei dlgMessage nicht).
Glücklich für Lösungen, die nicht auf dlgMessage angewiesen sind, wenn es einen Workarond gibt: Ich hatte zuvor versucht, Zenity nativ über R zu verwenden, indem ich system() verwendete, aber das konnte nicht funktionieren.