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

Every time I reboot my linux machine I have to set up 5 or 6 terminals and Im trying to find a way to do this automatically. Bind a script to a shortcut or on startup that starts several terminals (extra point if theyre tabbed) and have each terminal ssh to different servers.

Any idea on how to do this? Using Ubuntu.

share|improve this question

migrated from Apr 25 '11 at 16:16

This question came from our site for professional and enthusiast programmers.

Probably better off at – nos Apr 23 '11 at 22:49

You could just run gnome-terminal -x command

Alternatively, I have something like this setup with terminator. I documented the process.

This allows you to do some interesting things with terminals. (You can ignore the compiz voodoo, but it is very good for making multiple terminals and having them autostart certain things)

share|improve this answer

This sounds like a perfect job for a terminal multiplexer like tmux or screen.

Set up your .tmux.conf to start with however many windows open, running the specific applications that you require.

See my answer here for details on how to accomplish this in tmux:

How to set up tmux so that it starts up with specified windows opened?

share|improve this answer

System | Preferences | Startup Applications | Starttup Programs | Add

Command: gnome-terminal -e "ssh $HOST"

Add --tab to the command as desired.

share|improve this answer

I do it like this:

  1. position the terminals manually, use xwininfo to get the geometry parameters
  2. store the terminal commands along with -geometry in a file (urxvt -font terminus ...)
  3. use wmctrl -s to select the correct virtual desktop
  4. run the shell script with the terminal commands from ~/.xinitrc or bind it to a key
share|improve this answer

You must log in to answer this question.