Debian Xfce 的终端模拟器将接受 $TERM=linux,就像登录控制台 tty 使用的那样?

Debian Xfce 的终端模拟器将接受 $TERM=linux,就像登录控制台 tty 使用的那样?

我最近发现,如果我在没有 lightDM 的情况下登录 Debian 系统,仅使用命令行提示符,然后不直接输入“startx”,而是直接使用命令行,“man”页面中的颜色比我以前任何时候都好看到了。不是颜色的选择(总是青色),而是颜色的应用方式。

echo $TERM

linux

我无法让这个linux设置在 Xfce-terminal 中工作,显然是因为它需要termcap,而它已经不在 Debian 存储库中了,甚至compat连 2005 年以前的软件包也没有了。

我是否可以使用另一个终端来为我提供与登录控制台中相同的颜色?我无法让默认的 xterm 程序显示颜色,并且我读到gnome-terminal和其他几个程序都与xfce4-terminal.

请注意,我尝试过通过研究发现的其他解决方案,包括使用 Vim 作为手册页、编辑.bashrc.Xdefaults等。没有什么比linux登录tty控制台中的设置更有效的了。

我当前的解决方法是按Ctrl+ Alt+F2并登录到另一个tty控制台。但我想避免这样做并linux在终端模拟器中进行着色。

答案1

设置TERM不会改变终端的行为。您可以设置TERM告诉应用程序终端可以做什么。

根据年龄,VTE 可能依赖于捆绑的 termcap 文件(从 2008 年或更早通过 ncurses 读取)。最初(2002 年),想法是读取 termcap 文件并模拟相应的终端。这个想法半途而废长的以前,VTE 从一开始就只是模拟 xterm 的一个子集。 2014 年出现了一些用 terminfo 取代 termcap 的活动,最终将所有相关逻辑硬编码。

使用 VTE 的应用程序不受此影响:它们使用 ncurses 和 terminfo(某些应用程序使用 termcap界面ncurses,它使用下面的 terminfo)。

主要的视觉差异Linux 控制台和 X 中运行的终端之间的区别在于后者通常使窗口更小,因此分辨率比 Linux 控制台更低。您可以使颜色匹配(毕竟是相同的硬件)。

同意 XFCE Terminal 只是 VTE 的另一个皮肤,VTE 本身并不重复 Linux 控制台的功能:

  • 它使用不同的字体
  • 它无法识别用于切换字体的转义序列,
  • 它不能识别 Linux 控制台调色板的转义序列

字体与问题更相关(您不太可能依赖那些调色板转义序列,但如果您想要相同的行为,这是相关的)。控制台字体是为控制台的文本模式配置而设计的,并且在相对较低的分辨率下看起来不错(通常)。

Linux 控制台支持 16 种颜色;您可以选择的所有 X 终端仿真器都至少支持 16 种颜色。VTE 上的某些皮肤提供了更改调色板的功能,以便您可以匹配所使用的颜色色调。

答案2

我听说 xfce4-terminal 无法使用 terminfo,但我很确定大多数其他 gtk 终端可以处理它。如果这不起作用,xterm、(u)rxvt qterminal、konsole 都应该适用于极简到极繁的设置。

相关内容