
Ich versuche, ein Programm mit xterm auszuführen und dann xterm bei laufendem Programm zu schließen, aber das funktioniert anscheinend nicht so, wie ich es erwarten würde.
In Bash gibt es die Option. bash -c [command]
Gibt es in Xterm auch etwas? Momentan verwende ich diese Option, xterm -e [command]
aber dadurch bleibt das Xterm-Fenster geöffnet, bis mein Programm beendet ist. Aber ich möchte es öffnen, das Programm ausführen, es schließen und das Programm weiterlaufen lassen.
Warum möchte ich ein Programm über xterm starten, wenn ich es gar nicht benutze? Ich rufe es über xpra auf einem anderen Computer auf, aber es ist nicht möglich, das Programm nur zu starten, weil ich es mit der Umgebung auf dem anderen PC benötige.
Gibt es eine Möglichkeit, dies zu tun?
Antwort1
Ich glaube nicht, dass Sie brauchen xpra
. ssh
ist eine gute Wahl
ssh user@hostname /path/to/program
oder ssh
+screen
ssh user@hostname "screen /path/to/program"
oder xpra
+screen
xpra user@hostname "screen /path/to/program"
Antwort2
Sie scheinen nicht zu wissen, wie die Dinge funktionieren. Sie brauchen kein Terminal, um ein Programm auszuführen.
„Starten xterm
, damit Sie einen Prozess starten und dann beenden können “ reduziert sich auf „einen Prozess starten“ und Sie können es vollständig xterm
ausklammern .xterm
Ich vermute, Sie suchen
nohup command >command.out 2>command.err &
der command
(aufgrund) als Hintergrundprozess gestartet wird &
, wobei die Ausgabe an command.out
und die Fehlermeldungen an gehen command.err
.
Wenn Sie sich nicht um die Ausgabe oder die Signalverarbeitung mit kümmern nohup
, möchten Sie vielleicht einfach nur
command &
Dies ermöglicht Ihnen keine Interaktion mit dem Hintergrundbefehl (das Schließen ist jedoch auch nicht möglich, xterm
daher nehme ich an, dass Sie das nicht benötigen). Wenn Sie dies tun möchten, ziehen Sie screen
oder in Betracht tmux
. Dadurch können Sie das Programm in einem virtuellen Terminal ausführen, dessen Verbindung Sie trennen und später wiederherstellen können.