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?

0

9 Answers 9

70

Use

gnome-terminal --working-directory=/path/to/dir
6
  • 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. Sep 14, 2016 at 19:45
  • 1
    This no longer works in Ubuntu 16.04, due to a bug: bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1587154 Please go there and click 'this affects me too' if you'd like it fixed. Sep 14, 2016 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 3, 2016 at 13:15
  • preferable with "" gnome-terminal --working-directory="/path/to/dir"
    – Nicolas
    Aug 8, 2017 at 8:04
  • 1
    @JonathanHartley This bug has been fixed for Ubuntu 16.04.3 LTS running under Kernel 4.14.34-generic May 21, 2018 at 0:25
18

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

cd ~/public_html
2
  • 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 8, 2017 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, 2018 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".

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"
      
2
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.

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.

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
1
  • Thanks! This was the only one working for me after I changed shell to fish Feb 5, 2020 at 13:40
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.

3
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.

You must log in to answer this question.

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