在 Lion 上安装 Xcode 后终端出现异常

在 Lion 上安装 Xcode 后终端出现异常

我有一个简单的自定义 bash 提示符:

PS1="\[\e[47;1;30m\]\u@\h [\W] \!\[\e[0;32m\]$\[\e[0m\]"

它在 Snow Leopard 下运行良好,在 Lion 下也运行良好直到我安装了 Xcode。我安装了 Xcode 3(没有系统工具或者Unix 开发),然后是 Xcode 4.1.1。

现在,插入符号从提示的中间开始。

并且,bash 完全无法进行换行。

在此处输入图片描述

如果我删除\[\],插入符号从正确的位置开始,但根本没有发生换行。

更糟糕的是,man它坏了:

WARNING: terminal is not fully functional
-  (press RETURN)

安装 Xcode 后我的终端发生了什么?有人知道如何改善这种情况吗?


回应Turadg 的回答diff报告说这些目录在我的 terminfo 文件夹中丢失,但在新安装的 Lion 文件夹中存在(所有其他目录都相同):

31、32、33、34、35、36、37、38、39、4c、4d、4e、50、51、58、66、6a、7a

答案1

安装 Xcode 4.1 后,我遇到了同样的问题。它似乎替换并遗漏了Lion 终端的默认/usr/share/terminfo描述符。xterm-256color

您可以使用以下方法验证您的系统是否存在这种情况: infocmp xterm-256color

这应该返回一个描述符。如果没有,则说明缺少该描述符/usr/share/terminfo/78

恢复工作终端的一种方法是设置“TERM=xterm-color”,但这样你就失去了 的扩展功能xterm-256color。我所做的是/usr/share/terminfo从备份中恢复(感谢 Time Machine)。如果你没有备份,你可以从另一台机器复制它。有关更多详细信息,请参阅这些示例命令

答案2

安装 iTerm2,启动后它做的第一件事就是提醒我缺少 xterm-256colors 的配置,并建议安装它。这修复了终端显示问题(现在这实际上已经不重要了,因为 iTerm2 非常出色)。

答案3

在 ~/.bashrc 或 /etc/bashrc 中输入:

export TERM=xterm
## or export TERM=xterm-color

然后输入:

source ~/.bashrc

或者

source /etc/bashrc

如果您有两个文件,请将其放在您的 ~/.bashrc 中,并在您的 ~ 中获取其中一个文件。

昨天,当我卸载并重新安装 Xcode/developer-tools 时,也发生了同样的事情,似乎环境变量 TERM 被改为“xterm-256color”,这与 xterm-color 有很大不同:

[ 09:32 root@MacBook-Air ~ ]# infocmp -I xterm-256color > ~/xterm-256color.src
[ 09:32 root@MacBook-Air ~ ]# infocmp -I xterm-color > ~/xterm-color.src
[ 09:33 root@MacBook-Air ~ ]# diff xterm-color.src xterm-256color.src
1,4c1,4
< # Reconstructed via infocmp from file: /opt/local/share/terminfo/78/xterm-color
< xterm-color|xterm terminal emulator (X Window System),
<   am, bce, xenl, km, mir, msgr, npc, mc5i,
<   cols#80, it#8, lines#24, colors#8, pairs#64,
---
> # Reconstructed via infocmp from file: /opt/local/share/terminfo/78/xterm-256color
> xterm-256color|xterm with 256 colors,
>   am, bce, ccc, xenl, km, mir, msgr, npc, mc5i,
>   cols#80, it#8, lines#24, colors#256, pairs#32767,
12,15c12,17
<   smir=\E[4h, rev=\E[7m, invis=\E[8m, smso=\E[7m, smul=\E[4m,
<   ech=\E[%p1%dX, rmacs=\E(B, rmam=\E[?7l, sgr0=\E(B\E[m,
<   rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
<   flash=\E[?5h$<100/>\E[?5l, is2=\E[!p\E[?3;4l\E[4l\E>,
---
>   smcup=\E[?1049h, smir=\E[4h, rev=\E[7m, invis=\E[8m,
>   smso=\E[7m, smul=\E[4m, ech=\E[%p1%dX, rmacs=\E(B,
>   rmam=\E[?7l, sgr0=\E(B\E[m, rmcup=\E[?1049l, rmir=\E[4l,
>   rmso=\E[27m, rmul=\E[24m, flash=\E[?5h$<100/>\E[?5l,
>   is2=\E[!p\E[?3;4l\E[4l\E>,
>   initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
39,45c41,49
<   smkx=\E[?1h\E=, rmm=\E[?1034l, smm=\E[?1034h,
<   op=\E[39;49m, dch=\E[%p1%dP, dl=\E[%p1%dM, cud=\E[%p1%dB,
<   ich=\E[%p1%d@, indn=\E[%p1%dS, il=\E[%p1%dL,
<   cub=\E[%p1%dD, cuf=\E[%p1%dC, rin=\E[%p1%dT,
<   cuu=\E[%p1%dA, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, rs1=\Ec,
<   rs2=\E[!p\E[?3;4l\E[4l\E>, rc=\E8, vpa=\E[%i%p1%dd,
<   sc=\E7, ind=^J, ri=\EM, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
---
>   smkx=\E[?1h\E=, meml=\El, memu=\Em, rmm=\E[?1034l,
>   smm=\E[?1034h, op=\E[39;49m, dch=\E[%p1%dP, dl=\E[%p1%dM,
>   cud=\E[%p1%dB, ich=\E[%p1%d@, indn=\E[%p1%dS,
>   il=\E[%p1%dL, cub=\E[%p1%dD, cuf=\E[%p1%dC,
>   rin=\E[%p1%dT, cuu=\E[%p1%dA, mc0=\E[i, mc4=\E[4i,
>   mc5=\E[5i, rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, rc=\E8,
>   vpa=\E[%i%p1%dd, sc=\E7, ind=^J, ri=\EM,
>   setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m,
>   setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
47,48d50
<   setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
<   setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,

相关内容