Ssh(ubuntu)経由でシステムにログインします。最近、コマンドプロンプトから直接mcを起動すると、起動しておなじみの2ペイン画面が表示されるまでに時間がかかります。また、コマンドプロンプトサブシェル(ctrl-oを使用)にドロップできません。 tmuxで起動するとすぐに起動し、ctrl-oは正常に動作します。
mcでstraceを直接実行する: http://Pastebin.com/raw/br9SBZ9Y
tmuxでのmcのstraceとの比較: http://Pastebin.com/raw/mYE4vMii
いくつかの環境設定が途方もない失速を引き起こしているようですが、私はそれを特定することはできません。誰か助けてもらえますか?
ありがとう、ジョン
mcは、bash
(画面下部のコマンドライン用にフォークするシェル)からの応答を待ってタイムアウトしています。タイムスタンプをスクロールすると、タイムアウトを見つけることができます。 _man select
_に従って、問題のシステムコールは、指定されたファイル記述子への入力を待ちます。成功したトレースでは、FD7はpipe()
によって以前に作成されています。これは子プロセスへのパイプです。成功した場合、bashプロンプト_jon@sonic:~$
_がパイプから正常に読み取られていることがわかりました。最後にどうやって見つけたのか覚えていません、ごめんなさい。
execv
を検索すると、_jon@sonic:~$
_を書き込むpidがbash
であることが確認されます。それから私はたまたま失敗した場合のどこかでtmux
が開始されていることに気づきました。 mc
がtmux
をシェルとして実行するのが好きだとは思えません!
tmux
を実行するbash起動スクリプトが必要です。すでにtmux
内にある場合は、実行を回避します。 。したがって、mc
の内側のtmux
は問題ありませんが、外側では問題ありません。
tmux
は、bashサブシェルに対して実行されるスクリプトではなく、loginスクリプトから開始するようにします。これは、_.bash_profile
_ではなく_.bashrc
_を意味します。私の考えと一致するこれに関するいくつかの情報がここにあります: https://Apple.stackexchange.com/questions/71929/how-to-change-mc-midnight-command-bash-Prompt-on-os-x
ありがとう、sourcejedi-あなたは頭に釘を打ちました。私は最近、ログイン時にtmuxを自動起動するために、.bashrcにいくつかの行を追加しました-当たり前です!私はそのつながりに気づいたはずだった。これが、mc内から(ctrl-oを使用して)サブシェルにドロップできなかった理由でもあります。参考までに、tmuxを開始する行は次のとおりです。
# enable autostart of tmux
if [[ "$TERM" != "screen" ]] ; then
# && [[ "$SSH_CONNECTION" == "" ]]; then
# Attempt to discover a detached session and attach
# it, else create a new session
WHOAMI=$(whoami)
if tmux has-session -t $WHOAMI 2>/dev/null; then
tmux -2 attach-session -t $WHOAMI
else
tmux -2 new-session -s $WHOAMI
fi
fi
大失敗。これを.bash_profileに移動しましたが、すべてが機能します。ありがとう!
ジョン
(ところで、私は元の投稿者です。openauthでログインしないとしゃっくりが発生し、間違った/新しいアカウントで投稿されました)