M1Mac でターミナルを複製して、ロゼッタ版とM1版のターミナルを用意する機会があり、もしや、ターミナルを複製したら、それぞれのターミナルでデフォルトディレクトリを設定できるのではないかと思い検証してみた。
→結論としては出来ない。
確認手順
- ターミナルを「複製」
- 複製したターミナルの名前を変更(ex)"ターミナル_ProjectB")
- オリジナルのターミナルの名前はそのまま(アプリ名を変更できなかった)
- オリジナルのターミナルにデフォルトディレクトリを設定する
- ターミナル/環境設定.../プロファイル/シェル/コマンドを実行に cd コマンドを入力
- cd /Users/[USER_NAME]/MyApps/ProjectA
- 参考) ターミナル起動時に、ホームディレクトリではなく任意のディレクトリをデフォルトに設定する - Qiita
- ターミナル/環境設定.../プロファイル/シェル/コマンドを実行に cd コマンドを入力
- オリジナルのターミナルを再起動して、デフォルトディレクトリが ProjectA になることを確認
- →OK
- 複製したターミナルに別のデフォルトディレクトリを設定する
- cd /Users/[USER_NAME]/MyApps/ProjectB
- 複製したターミナルを再起動して、デフォルトディレクトリが ProjectB になることを確認
- →OK
- 再度オリジナルのターミナルを再起動して、デフォルトディレクトリが ProjectA になることを確認
- →残念、NG。どちらのターミナルを開いても、最後に設定したデフォルトディレクトリが有効になってしまう
SourceTree の「端末」
デフォルトディレクトリを設定しても SourceTree の「端末」からターミナルを起動すると、きちんと(デフォルトディレクトリは無視されて)SourceTree で開いているリポジトリがデフォルトディレクトリとして表示される。さすが SourceTree は優秀だな。
[注意]コンテキストメニューの「フォルダに新規ターミナル」
デフォルトディレクトリを設定すると、コンテキストメニューの「フォルダに新規ターミナル」からターミナルを起動しても、デフォルトディレクトリの設定が有効になってしまう。
MacのFinderで開いているフォルダをターミナルでカレント・ディレクトリとして開く方法&アプリまとめ。 | AAPL Ch.
おわりに
普段ターミナルを使うのは殆どが Git 操作なので、デフォルトディレクトリを Git リポジトリに設定したら、Git を使うのがとても楽になったが、たまーに違うプロジェクトで Git を使う時に、コンテキストメニューの「フォルダに新規ターミナル」が使えなくなってしまった。
仕方がないので、その時は SourceTree の「端末」を使ってターミナルを起動しているが、これがなんとかならないかなぁとたまーに思っている私。
やはり、今後も優秀な SourceTree に頼ることになりそうだな。
そもそも SourceTree はどうやってデフォルトディレクトリを調整しているのかを軽く調べてみたが、ちょっとよく分からなかった。