Gnome端,如何开始在一个不同的目录?
题
每当我开始我的控制台 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终端时自动运行的命令。
其实,这就是我把它关掉为大家默认。
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)。因此,让我把我的两个美分。
加入
cd ~/myfolder
在结束~/.bashrc
不会的工作。但是,正如已经提到的,它将影响每 互动壳。甚至更多,如果你开一些目录在一个文件管理(尼莫 或 鹦鹉螺 或类似的东西 这一),并呼吁的背景下菜单,从有(例如右击和随后的选择 开端)新的实例 gnome端 将开始~/myfolder
无论文件夹,装载在文件管理。甚至如果你跑gnome-terminal --working-directory=/some/other/folder
明确它仍然会开~/myfolder
.似乎是的 的办法.bashrc
是无法使用。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
参数(或许,从现有的终端实例)新的终端实例将被打开目录中指定。