如何在特定目录下启动gnome-terminal?


38

我试过了

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

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

但是当新终端打开时,两个都给我错误。如何获得新的终端以在特定目录中启动?

Answers:


48

采用

gnome-terminal --working-directory=/path/to/dir

1
奇怪的是,在gnome-terminal 3.18.3(Ubuntu 16.04)中,这似乎对我不起作用。该参数被接受,但是新终端中的Bash在$ HOME中打开。
乔纳森·哈特利

1
由于存在以下错误,它在Ubuntu 16.04中不再起作用:bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1587154如果要修复,请转到此处并单击“这也会影响我”。 。
乔纳森·哈特利

在对该错误的注释中,指定了一种解决方法,以取消选中“运行自定义命令而不是我的Shell”。这对我有用。当然,如果您需要运行的命令与您的Shell不同,那么它将无法正常工作。您可以使用更改外壳chsh
欧文

最好使用“” gnome-terminal --working-directory =“ / path / to / dir”
Nicolas

1
@JonathanHartley此bug已被修正为Ubuntu 16.04.3 LTS内核34年4月14日,通用下运行
WinEunuuchs2Unix

18

在您的末尾添加以下行~/.bashrc

cd ~/public_html

此方法将从文件浏览器的右键菜单中禁用“在终端中打开”。它应该在新终端中打开当前目录。但是此命令将始终将您重定向到〜/ public_html目录。
HD189733b

作为一种解决方法,cd -应将您带到上一个工作目录,以便可以使用“在终端中打开”,您的bashrc会立即将您转发到所选目录,然后cd -将您带回到您要打开的目录。应该管用!
pbhj

5
sudo apt-get install nautilus-open-terminal 

重新启动nautilus,然后右键单击任何目录,然后选择“在终端中打开”。


4

您可以:

  1. 编辑/创建文件,~/.bashrc并在文件末尾添加以下行:

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

    保存更改并注销/登录。当您执行命令“ cdx”时,它将带您到指定的文件夹。

  2. 您可以创建将执行以下命令的快捷方式/链接:

    • 如果使用gnome-terminal(ubuntu):

      gnome-terminal --working-directory="/full/path/to/myfolder"
      
    • 如果使用lxterminal(Lubuntu):

      lxterminal --working-directory="/full/path/to/myfolder"
      

由于存在以下错误,--working-directory在Ubuntu 16.04中不再起作用:bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1587154请转到此处,然后单击“这也会对我造成影响”。 d喜欢它固定。
乔纳森·哈特利

1
@JonathanHartley此错误已在以内核4.14.34-generic运行的Ubuntu 16.04.3 LTS中修复。
WinEunuuchs2Unix

2

您可以像这样添加nautilus-script

在以下位置创建名为“此处打开终端”的空文件

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

目录。

打开它,并将这些行写在里面。

#!/bin/bash
gnome-terminal

使它可执行,然后右键单击nautilus中的任何目录,然后从菜单中选择“脚本>在此处打开终端”。


1

打开“〜/ .bashrc”,滚动到底部并添加更改目录命令,例如:cd〜/ myfolder

然后保存并退出。“〜”将带您到主文件夹(/ home / loginname)

每次启动终端时,它都会读取.bashrc文件,因此您也可以在其中放置搜索路径ETC.....。


0
gnome-terminal --working-directory=/path/to/dir

root45回答

或者你也可以这样做

如果您像这样启动gnome-terminal gnome-terminal --working-directory=myfolder,它将以工作目录开始~/myfolder。因此您可以在菜单中添加一个新条目,以使用该命令代替其他命令。


并非一直如此,如果未将环境设置为在用户中打开终端,~则将无法达到预期的效果,您将需要使用文件夹的完整路径。在当前情况下正确,但并非始终如此。
布鲁诺·佩雷拉

从这里的(会很高兴地给予信贷):stackoverflow.com/questions/844677/...
沃尔克·西格尔

由于存在以下错误,它在Ubuntu 16.04中不再起作用:bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1587154如果要修复,请转到此处并单击“这也会影响我”。 。
乔纳森·哈特利

0

这有效:

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

一些评论:

  • 我的gnome终端版本是:
$ gnome-terminal --version
# GNOME Terminal 3.28.1 using VTE 0.52.1 +GNUTLS -PCRE2
  • bash -c之后的所有内容都必须用单引号引起来
  • 您必须在bash选项中使用“ -c”
  • 即使文档说要使用“ -x”或“ -e”(也已弃用),也必须使用“-”
  • “ -tab”在当前终端窗口中创建一个标签
  • 使用“ -window”创建一个新的终端窗口
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.