Kommando mit xterm ausführen und schließen

1051
Nico

Ich versuche, ein Programm mit xterm auszuführen und dann xterm mit laufendem Programm zu schließen, aber es scheint, dass dies nicht so funktioniert, wie ich es erwarten würde.

In bash gibt es die Option bash -c [command]gibt es auch in xterm etwas? Momentan verwende xterm -e [command]ich aber das Xterm-Fenster bleibt geöffnet, bis mein Programm beendet ist. Aber ich möchte es öffnen, das Programm ausführen, schließen und das Programm laufen lassen.

Warum möchte ich, dass ein Programm durch xterm gestartet wird, wenn ich es nicht einmal benutze? Ich rufe dies ü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?

0
Könnten Sie `xterm -e 'nohup sleep 5000`` ausprobieren und sehen, ob` xterm` sich schließt und einen Prozess hinterlässt? dsstorefile1 vor 6 Jahren 0
Das sah für den ersten Versuch gut aus, auch wenn es so aussah, als hätte es gerade meine offene Maschine auf der einen Maschine zur anderen gebracht und keine neue geöffnet. Aber jetzt bekomme ich es mit nohup noch mehr. Was ist die genaue Syntax? Ich habe versucht, "xterm -e" nohup sleep 5000 / path / to / program "". Aber dann versuche ich nur "xterm -e" / path / to / program ". Es funktioniert wieder mit dem unerwünschten xterm-Fenster. Nico vor 6 Jahren 0
Der "sleep 5000" war nur ein Beispielbefehl. dsstorefile1 vor 6 Jahren 0

2 Antworten auf die Frage

0
Tomasz Jakub Rup

Ich glaube nicht, dass du brauchst xpra. sshist 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" 
Das hilft mir leider nicht, ich bin an xpra gebunden. Nico vor 6 Jahren 0
@Nico `xpra` +` screen` funktioniert nicht? Tomasz Jakub Rup vor 6 Jahren 0
0
tripleee

Sie scheinen verwirrt zu sein, wie die Dinge funktionieren. Sie benötigen kein Terminal, um ein Programm auszuführen.

"Starten, xtermdamit Sie einen Prozess starten und dann beenden können xterm" reduziert sich auf "Starten eines Prozesses" und Sie können xtermvollständig auskommentieren.

Ich vermute, Sie suchen

nohup command >command.out 2>command.err & 

was commandals Hintergrundprozess (wegen des &) beginnt, mit der Ausgabe an command.outund Fehlermeldungen an command.err.

Wenn Sie sich nicht für die Ausgabe oder die Signalverarbeitung interessieren nohup, können Sie dies einfach tun

command & 

Dies erlaubt es Ihnen nicht, mit dem Hintergrundbefehl zu interagieren (aber auch das Schließen des Befehls wird xtermnicht benötigt, ich denke, Sie brauchen das nicht). Wenn Sie dies tun möchten, sollten Sie überlegen, screenoder mit tmuxwelchem ​​Programm Sie das Programm in einem virtuellen Terminal ausführen können, zu dem Sie die Verbindung trennen und später wieder herstellen können.

Ja, ich brauche das Terminal. Ich stelle eine Verbindung zu einem anderen PC über xpra her und rufe ein Programm auf, aber dieses Programm muss in einem Terminal ausgeführt werden Nico vor 6 Jahren 0
Von wo laufen Sie dann `xterm` und warum können Sie dort nicht` xpra` ausführen? tripleee vor 6 Jahren 0
Ich bin auf einem Laptop in meinem Netzwerk, von wo aus ich Xpra auf eine andere Arbeitsstation in meinem Netzwerk starte. Auf dieser Workstation führe ich dieses Programm aus und sehe es über xpra auf diesem Laptop, aber das Programm muss mit xterm gestartet werden, aber ich möchte dieses xterm-Fenster nicht sehen. Nico vor 6 Jahren 0
Es gibt keine Programme, die mit `xterm` gestartet werden müssen. Ich stelle mir vor, man hat gesagt, man müsse irgendwo "xpra xterm etwas" ausführen, um "etwas" auf "irgendwo" laufen zu lassen, aber das ist im Allgemeinen nicht wahr. Die Antwort, die Sie mit `ssh bereits irgendwo erhalten haben, ist richtig und erschöpfend. Wenn es bei Ihnen nicht funktioniert, fehlen Ihrer Frage einige entscheidende Details. tripleee vor 6 Jahren 0
Das Programm ist selbst geschrieben und muss per xterm gestartet werden. Meine Frage ist noch ohne wichtige Details, die Sie einfach nicht akzeptieren werden, dass Ihre Antwort mir nicht hilft. Ich bin froh, dass dieses Forum existiert und ich habe bereits viele gute Tipps. Warum gibt es einige Leute, die meine Anforderungen nicht akzeptieren? Nico vor 6 Jahren 0
Ich möchte aa xterm via xpra starten und in diesem xterm muss ich ein Programm starten und dann möchte ich, dass xterm geschlossen wird, aber das Programm muss am Leben bleiben. Nico vor 6 Jahren 0
Vielleicht ist es in Ordnung, das Terminal dort zu verschieben, wo es nicht auftaucht. Das sollte auch funktionieren, aber ich möchte es nicht sehen Nico vor 6 Jahren 0
Du sagst das immer wieder und ich sage immer wieder, dass das nicht genau richtig sein kann. tripleee vor 6 Jahren 0
Was ist "nicht wahr"? Dass ich diese Anforderung habe? Ich möchte keine Lösungen für ein Problem, das ich nicht habe. Ich möchte ein Programm mit xpra über xterm starten und dann xterm "unsichtbar" machen, aber ... Nico vor 6 Jahren 0
Sie sagen immer wieder, dass Sie * erforderlich * sind, um dieses Programm mit `xterm` zu starten, und ich sage Ihnen, dass dies keinen Sinn macht. Entweder erfordert das Programm eine grafische Benutzeroberfläche (die von `xterm` nicht bereitgestellt wird. Wenn Sie` xterm` jedoch starten können, können Sie auch andere grafische Clients ausführen) oder nicht (in diesem Fall nicht) Unabhängig davon, auf welchem ​​Terminal oder welcher anderen Konsole das Programm gestartet wird, ist "xterm" ebenfalls nicht erforderlich, und "ssh" oder ähnliches sollte ausreichen. tripleee vor 6 Jahren 0