WSL環境での出力取得問題 - 検証結果
問題の確認
確認結果: WSL環境では、Cursorのrun_terminal_cmdツールで出力が取得できない問題が確認されました。
すべてのテストコマンドで出力が空(Exit code: 0のみ)になっています。
解決策の有効性
作成したスクリプトは正しく動作するはずですが、Cursorのrun_terminal_cmdでは出力を確認できません。
確認方法
以下のいずれかの方法で確認してください:
方法1: 直接WSLターミナルで実行
# WSLターミナルを開く
cd /home/yn441611/NexusCore
# Pythonスクリプトを実行
python3 run_test_with_immediate_output.py echo "Hello from WSL"
# シェルスクリプトを実行
./tools/run_with_output.sh echo "Test output"
方法2: ログファイルを確認
# 検証スクリプトを実行(ログファイルに結果が保存される)
cd /home/yn441611/NexusCore
python3 verify_output_fix.py
# ログファイルを確認
cat verify_output_fix.log
方法3: ログファイルをCursorで直接読み取る
Cursorのエクスプローラーで以下のファイルを開いて確認:
verify_output_fix.logtest_output.log(作成された場合)
推奨される使用方法
Cursor内で使用する場合
- ログファイルを使用する
python3 run_test_with_immediate_output.py <command> --log output.logその後、Cursorで
output.logを開いて確認 - 環境変数でバッファリング無効化
PYTHONUNBUFFERED=1 python -u script.py 2>&1 | tee output.log - 直接WSLターミナルで実行 Cursorの
run_terminal_cmdではなく、WSLターミナルで直接実行
実際の使用例
# pytest実行(ログファイルに保存)
cd /home/yn441611/NexusCore
source myenv_linux/bin/activate
python3 run_test_with_immediate_output.py pytest tests/ -v --log pytest_output.log
# ログファイルを確認
cat pytest_output.log
結論
スクリプト自体は正しく動作しますが、Cursorのrun_terminal_cmdでは出力を確認できません。
解決策:
- ✅ ログファイルを使用 - 最も確実
- ✅ 直接WSLターミナルで実行 - リアルタイムで確認可能
- ✅ 環境変数でバッファリング無効化 - 一部のケースで有効
次のステップ
- WSLターミナルで直接実行して動作確認
- ログファイルをCursorで開いて結果を確認
- 必要に応じて
.bashrcにPYTHONUNBUFFERED=1を追加