由于某种原因,黄色(ANSI ESC。代码33),在我的终端(yakuake、konsole)中,普通字体显示为橙色/棕色。例如,该命令echo -e "\\033[33mhello world\\033[0m"
返回橙色/棕色文本hello world
。然而,粗体黄色却如预期般出现。在下面的小屏幕截图中,主机名位于黄色背景之上,这是转义码\e[43m
。
另一个例子是命令的输出terminal-colors -o
。它给出的输出如下面的较大屏幕截图所示。
我使用 Funtoo-Linux 和 KDE。虽然我设置了一些透明度(23%),但我不认为这是对眼睛问题的误导。我该如何解决这个问题?
相关详情
在 Funtoo 中,默认的
bashrc
下/etc/bash/
包含:38:# Set colorful PS1 only on colorful terminals. 63: PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\]' 65: PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
echo $TERM
回报xterm-256color
echo $PS1
被设定为\[\e[0;30m\e[45m\] \u \[\e[0;35m\e[43m\] \[\e[0;30m\e[43m\]@\H \[\e[0;33m\]\[\e[0;32m\] \w\a\[\e[0;32m\] → \[\e[0m\]
- 使用的字体无关紧要,因为我已经尝试过各种字体
如果有用,则
dircolors
返回:LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
导出 LS_COLORS
奇怪的是,帖子里有一张桌子BASH Shell:更改 Linux 或 UNIX 下我的 Shell 提示符的颜色,它将颜色代码描述
0;33
为Brown
!
更新
terminal-colors -cn
也许对于 256 色更有用的是(或其他参数)的输出。在下面的屏幕截图中,黄色背景已正确设置:
答案1
编号为 1 到 8 的 8 种标准颜色正式包含原色和间色(黑色、红色、绿色、黄色、蓝色、品红色、青色、白色),但存在相当大的差异:许多终端不显示原色,而是显示其变体。您的显示以下 RGB 值:
383a3a ff3950 00b226 c56227 022bab fd16de 00b5ae aeb2b3
而亮度大致相似的标称值是
000000 a00000 00a000 808000 0000a0 800080 008080 808080
所有颜色都有相当大的变化,而不仅仅是您选择为其赋予不同名称的颜色。然而,黄色确实有被做得更棕色的传统,因为实际的黄色往往在白色背景上对比度很差(有时蓝色会被做得更灰,以便在黑色背景上形成更好的对比度)。
如果 Konsole 使用的颜色打扰您,您可以更改它们。在配置文件设置中,转到“外观”选项卡,然后从其中一个配置文件中进行选择或创建自己的配置文件。如果您愿意,您甚至可以使颜色与标准颜色完全不同,尽管这有时可能会令人困惑。
答案2
要解决此问题,如果您使用 X11/Xorg,我会首先请求xrdb
:
xrdb -query
它将显示所有非默认值。
~/.Xresources
或~/.Xdefaults
文件可以自定义您的终端颜色。/usr/share/X11/app-defaults/
也可以在目录中的特定应用程序文件中对其进行自定义。
例如,在我的盒子上,我有自己的盒子,~/.Xresources
以便在 Xterm 中将青色更改为紫色,xrdb -query
告诉我:
xterm*color6: purple3
答案3
Konsole 似乎有颜色问题,所以我只使用亮黄色(93)而不是棕色“黄色”(33):
timmerman@dev:~/Downloads$ export PS1='\u@\h:\[\e[93m\]\w\[\e[m\]\$ '