【问题标题】:Console2 not using PS1 coloursConsole2 不使用 PS1 颜色
【发布时间】:2014-04-23 12:47:42
【问题描述】:

我在 Console2 中使用 Cygwin 和以下 PS1

export PS1='\[\e]2;\w\a\e[1;32m\e[40m\n\w\n\d - \@ > \[\e[0;00m\]'

提示文字内容正确,但所有颜色都被忽略了。

~/wd
Tue Mar 18 - 01:14 PM > 

显示 Console2 的屏幕截图:

当我使用薄荷时,颜色是完美的。

在 Console2 和 mintty 中 TERM 设置相同:

Tue Mar 18 - 06:29 PM > env | grep TERM
TERM=cygwin
TERMCAP=SC|screen|VT 100/ANSI X3.64 virtual terminal:\

【问题讨论】:

  • 在 Console2 中看起来像非标准调色板。你那里的颜色是什么?
  • Console2 的颜色设置为:curlybrace.com/words/2012/02/12/…。但请注意,无论是否使用此颜色集,我都会看到完全相同的问题,即即使我将 console.xml 中的颜色重置为默认值,也会出现同样的问题。
  • 比较你在 mintty 和 Console 中的环境。可能你需要为 ansi、win32 或任何东西设置TERM 变量...
  • 使用 TERM 设置更新答案。
  • "HOME" 和 cygwin 版本?

标签: cygwin ps1 console2


【解决方案1】:

您尚未显示屏幕截图。所以我不确定你是什么意思。

但我相信这是 cygwin 功能(错误)。它认为 ANSI 在 Windows 终端中不可用(对于 Console2 是这样,但如果您使用的是 ANSICON 或 ConEmu,当然不是)。这意味着 cygwin 在内部处理 all ANSI 序列(它不会将它们发送到终端)。所以,如果发生任何问题,那都是 cygwin 实现的问题。

【讨论】:

  • 我添加了在 mintty(完美运行)与 Console2(忽略颜色)中查看的提示屏幕截图。
  • 如何从 Console2 运行 bash?
  • 我如何从 Console2 运行 bash:Console2 > Settings > tab > Shell: C:\cygwin\bin\bash.exe --login -i
  • 试试“sh.exe --login -i”,可能不一样。此外,您可以尝试将 ConEmu 作为终端。可能是 Console2 问题(不确定)。
  • C:\cygwin\bin\sh.exe --login -i的结果完全相同
猜你喜欢
  • 1970-01-01
  • 2010-09-25
  • 1970-01-01
  • 1970-01-01
  • 2011-01-27
  • 2016-02-12
  • 1970-01-01
  • 2013-01-12
  • 2012-11-07
相关资源
最近更新 更多