生成新的终端窗口,其目录与前一个窗口相同

生成新的终端窗口,其目录与前一个窗口相同

我在带有 Gnome 终端和默认 bash 的最新 Arch Linux 上运行 Awesome WM。我已经成功地实现了这一点,但我想知道这种实现是否可以进行任何形式的改进。这个问题确实不是与打开新选项卡相关,仅与使用 Awesome WM 生成新的终端窗口有关。

我重写了“cd”命令,将当前工作目录保存在“.cd_extend”文件中:

~/.bashrc

alias cd='source ~/.cd_extend'

~/.cd_extend

#!/bin/bash

command cd $1
echo $(pwd) > ~/.terminal_directory

当我生成一个新终端时,“.terminal_directory”被读取并作为参数附加到 gnome 终端的“--working-directory”标志。

〜/.dotfiles/open_terminal.sh

#!/bin/bash

DIR=$(cat ~/.terminal_directory)
gnome-terminal --working-directory=$DIR

Awesomewm rc.lua

terminal   = "~/.dotfiles/open_terminal.sh"
awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end)

我想知道我是否错过了任何可以简化此操作的内部 bash 功能,以及是否有改进的空间。

答案1

在 Arch Linux + GNOME 上(至少),您可以添加以下行以~/.bashrc在当前目录中打开新的终端窗口:

source /etc/profile.d/vte.sh

已经有一个相关问题关于新标签。事实证明,对于新窗口来说,答案是相同的。

答案2

在 Gnome 终端的菜单中,使用:

File --> Open Terminal 

这将使用 pwd 作为目录打开一个新窗口。

此外,您还可以设置打开的选项卡:

编辑 --> 首选项 --> 常规 --> 在以下位置打开新终端: --> 选择选项卡。

因此,新的终端将在同一窗口中使用相同的密码打开。
如果需要,您仍然可以打开新窗口:

Alt-F2 --> gnome 终端

答案3

我在用i3如果我执行正常的Meta+Enter那么它会在主目录中打开一个新终端。但是,如果我已经在终端中并按Shift+ Ctrl+ N,则会在最后一个终端的目录中打开一个新终端。

Shift+ Ctrl+N是在终端上打开新窗口的快捷方式(我的终端是gnome 终端)。

我知道这个问题是关于 AwesomeWM 的,其他人使用的终端可能没有这个键绑定,但共享以防万一它可以帮助别人。

答案4

我的解决方案是从终端运行命令:

gnome-terminal $(pwd)

这对我来说在 i3wm 下工作得很好,所以你可以将它(在 ~/.bashrc 或 ~/.bash_profile 中)别名为你想要的任何东西,比如:

alias new='gnome-terminal $(pwd)'

还没有在 Awesome WM 下进行测试,但我相信会做同样的事情,非常忙于该项目,所以现在不能真正测试它。将来肯定会做

相关内容