有没有办法改变 Linux 上 TTY 控制台中使用的颜色?

Aus*_*yde 15 linux console colors tty

通过“ALTER颜色”,我的意思是这样的变化从黑色#000000#111111,并通过“TTY控制台”,我的意思是,当你这样做你会得到什么Ctrl+ Alt+ F1X11平台,而不是一个终端仿真器像xtermurxvt

我正在使用 Arch Linux,但我认为这与提供 TTY 的程序有关(agetty我认为)。

Chr*_*son 14

这是完全可能的,也是我在 Arch 设置中所做的事情。

您可以在 shell 脚本中删除类似的内容并让它在登录时运行:

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P0151515" # Black
    echo -en "\e]P1ac4142" # Red
    ...
    echo -en "\e]PEac4142" # Bright Cyan
    echo -en "\e]PFac4142" # Bright White
    clear # Clear artifacts
fi
Run Code Online (Sandbox Code Playgroud)

\e]P0\e]PF(16进制),你需要设置16个(8个半亮,8颗)的颜色转义序列。之后,您输入所需的替换颜色,例如151515


h0t*_*1r3 6

setterm命令就是您要寻找的。

setterm -foreground black -background white
Run Code Online (Sandbox Code Playgroud)

编辑

不,无法按照您的要求更改颜色的名称。在curses、terminfo 或终端本身的任何地方都不会以这种方式引用它们。您可以通过编辑内核源代码并重新编译来更改颜色索引的定义(我认为是 0-15)。