Ich habe mit exec gespielt und obwohl es öffnet ein Terminal mit dem Benutzer ich bin, es scheint nicht in der Lage, Befehle auszuführen Ich gebe es =/Code ist wie folgt:Ausführen von Befehlen in einem Terminal über exec in Java NICHT als root
try{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("xterm -e \"source /home/USER/.bashrc; ~/./myscript.sh\"")
}
catch(Throwable t)
t.printStackTrace();
In der xterm Konsole erhalte ich:
xterm: Can't execvp ": No such file or directory
[email protected]:$
die dann ein Terminal wartet verwendet zu werden, und wird, bis ich es nicht weg, ctrl-d.
nicht sicher, was hier los? ...
Dank.
Was passiert, wenn Sie Ihr benutzerdefiniertes Skript aus dem Aufruf herausnehmen und nur Ihre .bashrc-Datei bereitstellen? Wenn das funktioniert, ist es wahrscheinlich etwas in Ihrem Skript, das das Problem verursacht. – robertvoliva
Dies ist wahrscheinlich ein Pfadproblem. Versuchen Sie, den vollständigen Pfad zu xterm anzugeben. –
Hallo, Angabe des vollständigen Pfades zu xterm hat nicht geholfen, ich habe die gleiche Nachricht, nur mit 'usr/bin/xterm: Kann nicht ... etc' statt nur 'xterm: Kann nicht .... etc' – Jarob22