欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2023-10-26 20:27:52
我们经常看到把Emacs和Vim编辑器调成彩色的示例,而在GUI环境下Linux的Terminal界面调成彩色同样简单方便,这里我们就来为大家介绍GNOME桌面环境下设置彩色的Linux命令行终端界面的方法... 16-06-28...

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 的启动参数正是如此。)

最后上张图:
GNOME桌面环境下设置彩色的Linux命令行终端界面的方法