55

I've tried

gnome-terminal -x 'cd /path/to/dir'

and

gnome-terminal -e 'cd /path/to/dir'

but both give me errors when the new terminal opens. How do I get a new terminal to start in a specific directory?

user32085
  • 731

9 Answers9

70

Use

gnome-terminal --working-directory=/path/to/dir
Kris Harper
  • 13,477
  • 2
    Curiously, this doesn't seem to work for me in gnome-terminal 3.18.3 (Ubuntu 16.04). The argument is accepted, but Bash in the new terminal opens in $HOME. – Jonathan Hartley Sep 14 '16 at 19:45
  • 1
    This no longer works in Ubuntu 16.04, due to a bug: https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1587154 Please go there and click 'this affects me too' if you'd like it fixed. – Jonathan Hartley Sep 14 '16 at 20:53
  • In the comments to the bug, a workaround is specified to uncheck "Run a custom command instead of my shell." This worked for me. Of course, it won't work if the command you need to run is different than your shell. Your shell can be changed with chsh. – Owen Oct 03 '16 at 13:15
  • preferable with "" gnome-terminal --working-directory="/path/to/dir" – Nicolas Aug 08 '17 at 08:04
  • 1
    @JonathanHartley This bug has been fixed for Ubuntu 16.04.3 LTS running under Kernel 4.14.34-generic – WinEunuuchs2Unix May 21 '18 at 00:25
  • I would like to clarify that on Ubuntu 20.04.3 LTS, the path should NOT begin with a forward slash, and should NOT be represented by a tilde (~), but should start with the name of the very top system home directory, for example:

    gnome-terminal --working-directory=home/UserName/Desktop/YourFolder

    – Anon Anon Jan 23 '22 at 04:11
18

Add the following line to the end of your ~/.bashrc:

cd ~/public_html
Isaiah
  • 59,344
  • This method will disable the "open in terminal" from the right click menu in a file browser. It supposed to open current directory in a new terminal. But this command will always redirect you to the ~/public_html directory. – HD189733b Nov 08 '17 at 17:35
  • As a workaround to that cd - should take you to the previous working directory so you could use "open in terminal", your bashrc would immediately forward you to the chosen dir, then cd - would take you back to the dir you wanted to open. Should work! – pbhj May 20 '18 at 21:42
5
sudo apt-get install nautilus-open-terminal 

Restart nautilus and then right click at any directory and select "Open in a Terminal".

N.N.
  • 18,219
Donk
  • 51
4

You can:

  1. Edit/create the file ~/.bashrc and add this line at the end of the file:

    alias cdx='cd /path/to/myfolder'
    

    Save the change and logout/login. When you execute the command "cdx" it will take you to the specified folder.

  2. You can create a shortcut/link that will execute this command:

    • If you use gnome-terminal (ubuntu):

      gnome-terminal --working-directory="/full/path/to/myfolder"
      
    • If you use lxterminal (Lubuntu):

      lxterminal --working-directory="/full/path/to/myfolder"
      
fossfreedom
  • 172,746
  • --working-directory no longer works in Ubuntu 16.04, due to a bug: https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1587154 Please go there and click 'this affects me too' if you'd like it fixed. – Jonathan Hartley Sep 14 '16 at 20:53
  • 1
    @JonathanHartley This bug has been fixed for Ubuntu 16.04.3 LTS running under Kernel 4.14.34-generic. – WinEunuuchs2Unix May 21 '18 at 00:24
2

you can add nautilus-script like that

Create empty file named as "Open Terminal Here" in

~/.local/share/nautilus/scripts/ # for Ubuntu 13.04 or above
~/.gnome2/nautilus-scripts/      # for Ubuntu 12.10 and below

directory.

Open it and write these lines inside.

#!/bin/bash
gnome-terminal

Make it executable, and right click at any directory in nautilus and select "Scripts > Open Terminal Here" from menu.

dessert
  • 39,982
cnr437
  • 21
1

This works:

gnome-terminal --tab --title="your title" -- bash -c 'cd /path/to/dir && your_code' &

A few comments:

  • My gnome-terminal version is:
$ gnome-terminal --version
# GNOME Terminal 3.28.1 using VTE 0.52.1 +GNUTLS -PCRE2
  • everything after the bash -c must be wrapped with single quotes
  • you must use the "-c" for the bash option
  • got to use "--" even when the doc says to use "-x" or "-e" (these are deprecated
  • the "-tab" creates a tab in the current terminal window
  • use "-window" to create a new terminal window
JohnA
  • 121
  • 4
1

Open "~/.bashrc" Scroll to the bottom and add a change directory command Example: cd ~/myfolder

Then save and exit. The "~" will take you to your home folder (/home/loginname)

Each time you launch your terminal it reads the .bashrc file so you could also put search paths ETC.....,, in it.

0

Shortcut to Open Terminal to Directory in Ubuntu 18.04

Open System Settings: -re- down Arrow at top right of Desktop
Select: [user] > Account Settings - [user] is your account name
I have to click on left-top back arrow to get to Settings > Devices
Select: Devices > Keyboard - Devices is near bottom of list
Go to bottom of Keyboard Shortcuts
Click on [+] to create a New Custom Shortcut

Add Custom Shortcut:
Name: [Name your Shortcut]
Command: gnome-terminal --working-directory=[directory path]
my [directory path] is: /home/rob/c/
Click on "Set Shortcut"
Press Shortcut keys you want to use - I use:
Ctrl + Alt + J - to open terminal to my path - not case sensitive

You can Edit or Remove it by clicking on it.
This works for me and Ctrl + Alt + T still works to open terminal.

Rob
  • 115
0
gnome-terminal --working-directory=/path/to/dir

as

root45 answered

or u can do like this also

if you start gnome-terminal like "gnome-terminal --working-directory=myfolder" it will start with the working directory at ~/myfolder. so you could add a new entry to your menu to use that command instead of the other one.

twister_void
  • 5,924
  • This is not true all the time, if the environment is not set to open the terminal in the users ~ then this will not have the desired effect, you will need to use the full path to the folder. Its correct on the current context, but not all the the time. – Bruno Pereira Nov 11 '11 at 12:57
  • That's from here (would be nice to give credit): http://stackoverflow.com/questions/844677/gnome-terminal-how-to-start-in-a-different-directory – Volker Siegel Nov 22 '14 at 04:32
  • This no longer works in Ubuntu 16.04, due to a bug: https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1587154 Please go there and click 'this affects me too' if you'd like it fixed. – Jonathan Hartley Sep 14 '16 at 20:54