Is it possible to open a new tab in the current terminal with some commands?
10 Answers
If you just want to open a new tab
To open a new tab in the current opened terminal you can press SHIFT+CTRL+T. Alternatively, use the top level menu, which shows the keyboard shortcut (see screenshot below)
If you want to do it from the command line
Install xdotool
- a program that lets you simulate keyboard input (among other things).
sudo apt-get install xdotool
then type in the terminal:
xdotool key ctrl+shift+t
That will simulate pressing the key combination, and open the new tab in the terminal.
In Gnome Terminal Emulator just use Ctrl+Shift+T
You can check and change this and other key combinations in Edit menu.
in the terminal the shortcut key is
Ctrl + Shift + T
this shortcut can also be edited

- 62,169

- 518
-
7that is not a command line solution, but a keyboard shortcut. – humanityANDpeace Aug 29 '16 at 10:36
-
1
-
4
New tab Ctrl + Shift + T
Close tab: Ctrl + Shift + W
Switch tab: Ctrl + Pg Up and Ctrl + Pg Dn
Move tab: Ctrl + Shift + Pg Up and Ctrl + Shift + Pg Dn

- 545
Huh, I do this to fork a build process. package.sh builds and uploads docker images - so I prefer them to overlap. gnome-terminal
has some command line options to make new tabs:
#!/bin/bash
BRANCH=${1?choose an environment e.g. stage, demo, production}
if [ -x "$(command -v gnome-terminal)" ]; then
# run in parallel for gnome-terminal
gnome-terminal \
--tab --working-directory=`pwd` --command "zsh -is eval './package.sh app1 $BRANCH'" \
--tab --working-directory=`pwd` --command "zsh -is eval 'sleep 75 && ./package.sh app2 $BRANCH'" \
--tab --working-directory=`pwd` --command "zsh -is eval 'sleep 150 && ./package.sh app3 $BRANCH'" \
--tab --working-directory=`pwd` --command "zsh -is eval 'sleep 225 && ./package.sh app4 $BRANCH'" \
else
# run one at a time for bash
./package.sh app1 $BRANCH
./package.sh app2 $BRANCH
./package.sh app3 $BRANCH
./package.sh app4 $BRANCH
fi

- 853
- 8
- 22
-
1This is the best answer. No need for installing extra tools and simulating keystrokes – Flemming Funch Jan 12 '23 at 19:26
-
yes
gnome-terminal --tab
do the job, thanks. Note than--command
is legacy, use--
to finish, then your-command, sample:gnome-terminal --tab -- yarn dev
– bcag2 Feb 28 '24 at 15:11

- 1,668

- 31
-
6Please, provide a more detailed answer, include more specific commands and not just link to another solution. – Philippe Delteil Apr 03 '19 at 14:42
If you want to open a new tab to a specific directory:
Set the shortcut to Switch to Last Tab in your terminal Preferences.
Put the shortcut to the command below.
gnome-terminal --tab --working-directory=$HOME/path/to/the/dir; xdotool key <Switch to Last Tab shortcut>
Make sure you have xdotool installed.

- 214
The way i usually want to do this is when i start typing cd some/directory/to-switch-to
and then i realize i would much rather open that directory in a new tab. This function will open a new tab in the same directory if no path is specified, and in the specified directory (absolute, home-relative, or current directory relative) if one is supplied, with much credit to @wolcen.
tcd() {
if [ -d ${PWD}/$1 ]; then
gnome-terminal --tab --working-directory=${PWD}/$1
else
gnome-terminal --tab --working-directory=$1
fi
}
Usage example:
tcd some/directory
Now if i've finished typing a cd
command i can press ctrl+a
and t
and ENTER
to instead open the directory in a new tab with just a few keystrokes.

- 213
There is no universal way on *Nix to open new Window(s) or Tab(s) on and execute bash command(s), on all the different distros and flavours out there: Gnome, KDE, XWindows, Windows Terminal (WSL), MacOS and the list goes on.
Each window manager and flavour comes with its own Terminal / Console app, and they all have different command line arguments, behaviours and quirks.
As far as I know, the closest you can get are:
neWin: Windows WSL & KDE Konsole
Opens multiple new Window(s) or Tab(s) on Windows Terminal (WSL) or KDE Konsole and optionally executes bash command(s).
Works as-is in both KDE Linux and WSL, with no code changes. Example:
$ npm i -g newin
$ newin
open a new window, waiting for input command
$ newin --workdir '~/myproject' 'npm start:watch' 'npm test:watch'
executes the first command on a new window and the second on another one.
Disclaimer: I am the author of neWin - looking for help to add more flavors!
wttab: Windows WSL & Powershell only
Programmatically open Windows Terminal tab or windows
$ npm i -g wttab
$ wttab --window --workdir '~/myproject' 'ls -all'
# executes the command on a new window
ttab: MacOS & gnome-terminal only
Similar to wttab "a CLI for Unix-like platforms that programmatically opening a new terminal tab/window in one of the following terminal applications, optionally with a command to execute". Unfortunatelly, Ttab has no plans to add support for other platforms.
$ npm i -g ttab
$ ttab ls -l "$HOME/Library/Application Support"
Open a new tab and execute the specified command before showing the prompt.

- 17,888

- 101
- 3
gnome-terminal --add-new-tab
. Also a key press combination is not a command line – humanityANDpeace Aug 29 '16 at 10:35xdotools
. – humanityANDpeace Aug 29 '16 at 10:37xdotools
– Prakash P Nov 03 '17 at 17:10