web-dev-qa-db-ja.com

前のウィンドウと同じディレクトリで新しいターミナルウィンドウを生成する

Gnomeターミナルとデフォルトのbashを備えた最新のArch LinuxでAwesome WMを実行しています。私はなんとかこれを機能させることができましたが、この実装で何らかの形の改善が可能かどうか疑問に思います。質問は[〜#〜]ではない[〜#〜]新しいタブを開くことに関係し、Awesome WMで新しいターミナルウィンドウを生成することのみに関係します。

現在の作業ディレクトリを「.cd_extend」ファイルに保存するように「cd」コマンドを書き直しました。

〜/ .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機能を見逃していないのか、改善の余地があるのだろうか。

6
user1213904

数日間のテストと質問の後、これが最も簡単な実装のようです。これはAwesome WMが読み取るグローバルな状態で実行できますが、予測可能性と実装の容易さを保つために、これを維持しています。

〜/ .bashrc

alias cd='source ~/.cd_extend'

〜/ .cd_extend

command cd "$1"
pwd > ~/.terminal_directory

その後、ターミナルを開くことができます。ターミナルは.terminal_directoryファイルから読み取り、指定された作業ディレクトリで新しいgnomeシェルを開きます。

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)
1
user1213904

Gnomeターミナルのメニューで、次を使用します。

File --> Open Terminal 

これにより、pwdをディレクトリとして使用して新しいウィンドウが開きます。

また、開いているタブを設定できます。

編集->設定->一般->新しいターミナルを開く:->タブを選択します。

したがって、新しい端末は同じウィンドウで同じパスワードで開きます。
必要に応じて、引き続き新しいウィンドウを開くことができます。

Alt-F2-> gnome-terminal

3
Isaac