回答:
.screenrcファイルに追加してみてください(まだない場合)。
シェル-$ SHELL
これにより、スクリーンセッションを初期化するとき、またはスクリーンセッション内から別のターミナルを作成するときに、ログインシェルが提供されます。
多くのディストリビューションは、プロンプトを設定する前に端末のタイプをチェックします。たとえば、Ubuntuのデフォルトの.bashrcには、この小さなgemが含まれています。
#派手なプロンプトを設定します(色が「欲しい」とわからない場合は色なし) ケース「$ TERM」 xterm-color)color_prompt = yes ;; エサック
screenは独自のTERM変数( "screen")を使用するため、bashは派手な色のプロンプトを表示できないと判断し、デフォルトの単純なプロンプトを表示します。もちろん、画面は通常の端末と同じ複雑なプロンプトを完全に実行できます。
そのため、この動作を無効にするには、~/.bashrc
ファイルの最後に希望のPS1オプションをハード設定するだけです。または、冒険心がある場合は、TERM変数の値を確認するテストを見つけて、「xterm-color」に加えて「screen」を受け入れるように変更します。
screenrcのあるマシンSHELL -$SHELL
とnoのマシンで同じ問題(画面にカスタムプロンプトが表示され
なくなっsetenv PS1
た)、およびbashrcの(ダム)ターミナルの特別なテストがありませんでした。
使用される$ TERMの設定:
$ echo $TERM
urxvt-unicode-256color
screenrcでは、Screenの下でカスタムプロンプトが返されました。
- #term xterm-256color
+ term urxvt-unicode-256color
PS:別のアカウントはこれを必要としませんでしたが、bashrcはdircolorsと最新のターミナルをこのようにテストします1:
if [[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] ; then
PS1=<my fancy prompt>
私もこれがうまくいくと信じています:
if [ "$TERM" != "dumb" ]; then
PS1=<my fancy prompt>