每当我开始我的控制台 gnome-terminal 在Ubuntu,它开始在家目录。我怎样才能使它开始在一个不同的目录中说 ~/myfolder?我试着写 cd ~/myfolder~/.profile 但什么也没有发生。

有帮助吗?

解决方案

如果启动的gnome-terminal像 “侏儒末端 - 工作目录= MyFolder文件”,它将与〜/ MyFolder文件工作目录开始。所以你可以一个新条目添加到您的菜单使用该命令而不是另一种的。

其他提示

以下内容添加到您的〜/ .bashrc

CD〜/ MyFolder文件

我这样做的方式 - 用脚本: 在同一窗口大小170x40开3标签,每个标签“标签”在不同的目录中启动。

侏儒末端--geometry = 170x40 - 工作目录= myfolder1 \

- 标签 - 工作目录= myfolder2 \

- 标签 - 工作目录= myfolder3

您可以使用 nautilus-开放末端扩展程序。这允许在Nautilus文件夹上你右键点击并打开一个终端窗口与该目录作为其工作目录。

您还可以在正常的方式运行终端,类型“CD”,并从鹦鹉螺拖动文件夹图标的窗口。这将文件夹的路径粘贴到命令行,然后键入回转到该目录。你可以做同样的事情,与普通的文件贴在他们身上的路径和运行命令。

GNOME终端 - 获取入门

  

您还可以指定当你在配置文件启动GNOME终端时自动运行的命令。

其实,这就是我把它关掉为大家默认。

gconftool-2 --direct \
--config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory/ \
--set -- type=bool /apps/nautilus-open-terminal/desktop_opens_home_dir true

如果文件夹中有一个复杂的路径,即不只是~/myfolder,您可以创建在你的home目录符号链接到它,就可以快速得到它。您还可以设置CDPATH环境变量来告诉bash的,当你键入cd myfolder搜索的目录列表。

目录选项

有是选项--working-directory到指定终端的启动目录(无短选项形式)。

以打开/some/dir终端的基本方法是

gnome-terminal --working-directory=/some/dir

,但有一个陷阱...

为陷阱

假设我们要开始在目录~/dir终端。

:此不起作用:

gnome-terminal --working-directory=~/dir

该命令看起来完全正常根据选项的语法,但终端在主目录中开始。结果, 这是因为它不扩大波浪号(~),为混乱的原因 - 见下文

Thesse做工作:

gnome-terminal --working-directory=/home/auser/dir

gnome-terminal --working-directory=$HOME/dir

gnome-terminal --working-directory ~/dir

波浪线扩展

注有在最后变体没有=。正因为如此,该~在一个壳字的开始,因此,由波浪线扩展handeled。

问题是,~没有得到无处不在扩大,但只在某些地方。其中之一是在变量赋值,像directory=~/dir。没关系,~被扩大到$HOME,但--working-directory=~/dir不扩张~,因为这不是一个变量赋值,它只是看起来很相似。

要在我所需的目录作为根用户我跑打开:

gnome-terminal --working-directory=/home/my-project/ -x bash -c "sudo su"

我留下深刻的印象 尼尔梅休评论Volker的西格尔的回答.我试图不仅设定缺省目录 gnome端 但是,保留的惯常行为的桌面环境,以及(我在使用 Linux薄荷17.1肉桂, GNOME终端3.6.2, 或许它还可以应用于其他侏儒-congenered DEs)。因此,让我把我的两个美分。

  1. 加入 cd ~/myfolder 在结束 ~/.bashrc 不会的工作。但是,正如已经提到的,它将影响每 互动壳。甚至更多,如果你开一些目录在一个文件管理(尼莫鹦鹉螺 或类似的东西 这一),并呼吁的背景下菜单,从有(例如右击和随后的选择 开端)新的实例 gnome端 将开始 ~/myfolder 无论文件夹,装载在文件管理。甚至如果你跑 gnome-terminal --working-directory=/some/other/folder 明确它仍然会开 ~/myfolder.似乎是的 的办法 .bashrc 是无法使用。

  2. gnome-terminal --working-directory=myfolder 工作良好,但只有当你使用定制的菜单中的条目DE你 (或定制的快捷方式在桌面上),其运行的终端用这一参数。如果你想跑 gnome端 从命令行 或者从小型发射器(新闻 Alt + F2),你有输入参数的每一个时间。无论如何,这种做法或多或少可以使用的。


如何 gnome端 确定哪个文件夹开?时 --working-directory 不是指定的,它打开了前 工作目录(例如 $PWD)否则它打开目录中明确指定。

我已经找到了以下解决方案。

创建一个文件命名为 gnome-terminal 在你 ~/bin 文件夹。它将作为快捷,但是从无处不在(开菜单 小型发射器,其他终端实例,等等),因为 ~/bin 已经在 $PATH (至少在Linux...薄荷).使这个文件 可执行的。然后把下列内容进入脚本:

#!/bin/bash

home_directory=~

if [ "$PWD" == "$home_directory" ]; then
    # When 'gnome-terminal' was ran from either 
    #     - start menu
    #     - mini-launcher
    #     ... 
    # parent directory is set to $HOME.
    #
    # We respect original command line arguments. 
    # For example, when terminal is ran from another 
    # terminal instance and '--working-directory' is 
    # specified explicitly we should left it as it is.  
    # If there are two '--working-directory' switches 
    # in the command line 'gnome-terminal' will pick up 
    # the last one.
    #
    # Also we use full path to executable here in order
    # to prevent recursive calling of 'gnome-terminal' from 
    # '~/bin'.
    /usr/bin/gnome-terminal --working-directory=/ "$@" 
else
    # 'gnome-terminal' was from another directory. 
    # We don't change anything.
    /usr/bin/gnome-terminal "$@"
fi

如果你跑 gnome端 从开始菜单,你会看到,当前文件夹中的新的终端 / (你可以使用任何文件夹,例如, ~/myfolder 因为我们自定义包装是一个Bash-脚本,这样的扩大与工作优良)。

如果你吸引 开端 在一个文件经理,你将获得当前的新的终端。

如果你跑 gnome端 跟明确 --working-directory 参数(或许,从现有的终端实例)新的终端实例将被打开目录中指定。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top