Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an automated test that I run with the xterm -e command:

xterm -e  RunMyTests

At the end of the test-run, it prints out a summary of the results and some statistics to stdout.

I'd like to have the xterm remain open and visible so I can check the results.
(if its inactive, that's fine, so long as I can see it)

I know I could manually start the xterm then run the tests there.
Or I could redirect the test-output to a file to be examined later.
Or I could run the tests in the current xterm, instead of spawning a new window.
All of these could work, but are not ideal.

Is there a way to get an xterm window to stay open after its completed its work?

share|improve this question
    
The problems is that there is no shell running in the xterm for it to go back to when the tests are done. I imagine there is a way to get bash to execute RunMyTests and remain open afterwards, but I can't find it off hand. Hrm. – user606723 Dec 1 '11 at 19:47
    
I don't even care if anything remains running. I just want the window to stay visible (and eventually close when I hit the 'X' button) – abelenky Dec 1 '11 at 19:49
    
There has to be something running or the terminal will close. I am pretty sure thats just how it works. – user606723 Dec 1 '11 at 19:52
    
The command you are trying to execute doesn't make much sense: it will start a shell under the user user2, and then after the user quits that shell, it will uselessly source a .cshrc file before exiting. Did you mean so source that file inside user2's shell instead? – Celada Jun 12 '13 at 18:10
    
Yes, I am trying to source user's .cshrc under the new user2 window. I realize the syntax might be off by a little which is why I am not able to figure it out. Thanks. – Anthony Navarro Jun 12 '13 at 20:18
up vote 6 down vote accepted

The problem is that there is no shell running in the xterm for it to go back to when the tests are done.

Try this.

xterm -e "echo hi;bash"

Or

xterm -e "echo hi;read"
share|improve this answer
    
Thanks for an excellent answer. Simple, easy to understand, and 100% effective! – abelenky Dec 1 '11 at 19:59

From xterm(1):

   -hold   Turn on the hold resource, i.e.,  xterm  will  not  immediately
           destroy  its  window when the shell command completes.  It will
           wait until you use the window manager to destroy/kill the  win‐
           dow,  or  if you use the menu entries that send a signal, e.g.,
           HUP or KILL.

Standard command: xterm -hold "echo I'm a boy"

Gambas Code: exec["xterm", "-hold", "-e", "ps aux"

share|improve this answer
    
The name of the option is not intuitive when searching through the man page. This is the right answer, less typing, using the features like a Superuser should. – Tomasz Gandor Mar 10 at 13:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .