termux proot-distro ubuntu 向け、Cursor統合ターミナル設定
termux homeにある.bashrcを変更します
Cursorの統合ターミナルでログインしたときの挙動をここで調整します
Cursorの統合エディタから$CURSOR somefileと打つことで、そのファイルをCursorで編集できるように設定しています。
そのためには環境変数の持ち込みが必要で、一時ファイルを作成してubuntu側に読み込ませています。
code:.bashrc.sh
# Cursor統合ターミナル用環境変数共有ユーティリティ
change_user() {
local user_home="/home/(ユーザー名)"
local shared_env_file="$user_home/.share-env.tmp"
# 環境変数をファイルに出力
{
-n "$VSCODE_IPC_HOOK_CLI" && echo "export VSCODE_IPC_HOOK_CLI='$VSCODE_IPC_HOOK_CLI'"
if command -v cursor >/dev/null 2>&1; then
echo "export CURSOR='$(command -v cursor)'"
fi
-n "$TERM_PROGRAM" && echo "export TERM_PROGRAM='$TERM_PROGRAM'"
} > "$shared_env_file"
chmod 644 "$shared_env_file"
su - (ユーザー名)
}
if -n "$VSCODE_IPC_HOOK_CLI" || "$TERM_PROGRAM" == "vscode" ; then
change_user
exit 0
fi
ubuntuの~/.zshrcに次を追記しましょう
code:.zshrc.sh
# ---- 環境変数の読み込み (.share-env.tmp)
# ~/.share-env.tmp の内容を読み込み、読み込んだ後に削除
if -f "$HOME/.share-env.tmp" ; then
. "$HOME/.share-env.tmp"
# 読み込み後に削除
rm -f "$HOME/.share-env.tmp"
fi
統合ターミナルは今回に限ってやや複雑な挙動をします
1. 統合ターミナルの開始時にはubuntu環境にroot userでログインした状態から始まります
2. 普段のアカウントにログインしなおす設定を書きたいわけですが、ホームディレクトリは(/rootではなく)termux nativeと同じ場所になっています。
3. そのため、設定ファイル(.bashrc)は(ubuntu環境にすでに入っているのに)termux homeに配置しなければならないのです。
なお、.bashrcは「非ログインシェルだがインタラクティブモードの場合」にのみ読み込まれます。
Cursorの統合ターミナルはcursorコマンドですぐにファイルの編集を開始できるよう環境変数が設定されています
そこでその持ち越しもここで行っています
ファイルに一時保存して、ubuntu側の設定ファイルから読み込んでいます