GNOME桌面环境下设置彩色的Linux命令行终端界面的方法

robotshell   发布时间:2016-06-28 12:10:14   作者:Robot 马   我要评论
我们经常看到把Emacs和Vim编辑器调成彩色的示例,而在GUI环境下Linux的Terminal界面调成彩色同样简单方便,这里我们就来为大家介绍GNOME桌面环境下设置彩色的Linux命令行终端界面的方法:

GNOME Terminal本来就支持256色,不过也许是为了最大兼容,它并没有设置环境变量来声称自己支持。所以,只需要 export TERM=xterm-256color 就能让命令行程序知道终端支持256色了。把它加进你的 .bashrc 或者 .profile ,打开一个新 Bash 或者新 session 看看你的终端程序(比如 vim )等等是不是颜色丰富了一些呢?

另外,如果你使用 tmux (byobu),可以修改你的 .tmux.conf 文件( byobu 则是 .byobu/.tmux.conf ),让 screen/tmux 会话也更漂亮一些:

复制代码
代码如下:

set -g default-terminal "screen-256color"

不过等等!修改 TERM 变量其实是一件很危险 + tricky 的事情,尤其当你使用 screen/tmux 之类东西的时候(参见 tmux FAQ )……而且,你很有可能使用不止一种终端模拟器/tty,非 GNOME Terminal 也许就不支持256色,甚至压根不是 xterm 系,这样设置 TERM 可能导致 terminfo 出错。

折腾了很久(期间顺便弄清楚了这几个配置文件分别是在什么时候、什么情况下以什么顺序加载)。最后挑选了一个最佳方案,即在 .bashrc 中加入这一段:

复制代码
代码如下:

if [[ ($COLORTERM == gnome-terminal || $(cat /proc/$PPID/cmdline) == *gnome-terminal* )
&& $TERM != screen* ]]; then
export TERM=xterm-256color
fi

如此便仅在 GNOME Terminal 、且不在 screen/tmux 会话中时设置为 xterm-256color 。此外,如果你有使用一些快捷键等方式快速启动 Byobu/screen/tmux ,那么要注意检查一下快捷键所对应的命令应该类似: env TERM=xterm-256color byobu (这类直接调用一般不会执行 .bashrc )。(事实上, Archlinux 的 byobu 包中带的 byobu.desktop 的启动参数正是如此。)

最后上张图:
2016628120502011.png (500×312)

相关文章

最新评论