我想开始使用 Cygwin,但我对字体颜色不满意,想将其更改为带有黑色背景的浅绿色。
(我试过谷歌搜索无济于事顺便说一句)
它基本上只是一个 DOS 窗口。所以点击shell窗口左上角的图标来获取菜单。转到属性。然后,您可以更改颜色、字体、命令历史记录和编辑选项(您需要打开快速编辑和插入模式)。
我自己发现标准外壳非常可怕。
我下载并安装了 rxvt 包并更改了 cygwin.bat 以启动 rxvt,它更好地支持 copy-cut-n-paste。
@echo off
c:
chdir c:\data\cygwin\bin
set EDITOR=vi
set VISUAL=vi
set CYGWIN=codepage:ansi
rxvt -fn '*-courier-*-r-*-16-*' -sl 9999 -bg Black -fg Cyan -e /bin/bash -login
-e 和 -login 将启动 shell 切换到 rxvt 和其余部分: -fn 设置 courier 大小 16 字体(告我) -sl 滚动行 9999 黑色背景和青色前景选择文本将自动填充粘贴缓冲区最后一点(-e /bin/bash -login)启动 bash 并告诉它它是一个运行配置文件设置等的登录 shell。
如果您想要一个比 Windows 命令行窗口更好的终端与 cygwin 一起使用,您可以xterm
从 cygwin 中开始,或者查看使用puttycyg,这是 Windows ssh 客户端 putty 的修补版本,旨在与本地 cygwin 安装一起使用(在除了正常的 ssh 功能)。puttycyg 应该为您提供比 Windows 命令行窗口更好的终端控制。
虽然其他人建议使用不同的终端,但默认的 Cygwin 终端仿真器 (mintty) 允许您自行更改颜色。您可以通过选项对话框更改前景色、背景色和光标颜色。您可以通过单击上下文菜单(窗口左上角的图标)找到选项对话框。
其余的 ANSI 颜色只能从配置文件 ( ~/.minttyrc
) 中更改。不幸的是,该文件的参考资料不包含示例,因此需要进行一些猜测。你可以在 github 上找到我的例子。我只增加了蓝色的亮度。还有一个包含solarized的明暗主题的repo。你用这些来获得灵感。
在旁注中,在我的情况下,更改定义似乎Blue
并没有改变任何事情,但是更改BoldBlue
更改了粗体和默认变体。我花了一段时间才弄清楚这一点......我一直在改变Blue
,因为什么都没发生,我被其他细节(f.ex.: Term=xterm-256color
& co)所牵制......也许我读的文档不适合我正在运行的同一个 Cygwin 版本。在摆弄你的主题时,你应该记住这一点。
编辑文件后,关闭并重新打开 Cygwin 终端,应该会显示新颜色。
哦...对于您最初的要求(黑底绿),您唯一需要的是:
ForegroundColour=0, 255, 0
BackgroundColour=0, 0, 0
但是您应该考虑将默认前景色保持为白色(或浅灰色),除非您同时更改所有其他颜色代码!一些应用程序打印彩色输出,您将看不到“绿色”,因为其他所有内容也是绿色 :)但是,Cygwin 中绿色的默认颜色是rgb:0,191,0
,所以如果您使用其他东西(如提到的rgb:0,255,0
),您至少会看到亮度的差异。
我建议使用Console2。这为您提供了一个选项卡式界面,您可以在其中同时拥有 Cygwin 选项卡和 Windows 命令提示选项卡。有很多自定义选项,以及更好的剪切和粘贴支持。
cygwin 图标实际上只是一个 MS-DOS 批处理文件(如果您右键单击它,您可以编辑它并看到它只是从 cygwin\bin 目录启动 bash)。如果您右键单击并转到属性,则有一个颜色选项卡,您可以在其中更改背景和字体颜色。如果您修改主要的快捷方式属性,它应该每次都与这些属性一起启动。
我使用 Cygwin 的 rxvt 和一个 .Xdefaults 文件进行调整
我的cygwin.bat:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
start /B \cygwin\bin\rxvt.exe -geometry 80x40+325+195 -fn "Andale Mono-13" -sl 2500 -e /bin/bash -i
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
My Cygwin .Xdefaults:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! See rxvt --help for items available
! Black
Rxvt*background: #000000
Rxvt*cutchars: `"'()*,;<>[]{|}@
!!!Rxvt*cursorColor: #00ff00
Rxvt*cursorColor: White
Rxvt*foreground: Wheat
Rxvt*saveLines: 2048
Rxvt*scrollColor: Grey26
Rxvt*scrollBar_right: on
Rxvt*termName: xterm
Rxvt*visualBell: on
! Black
Rxvt*color0: #000000
! Red
Rxvt*color1: Red2
! Green
Rxvt*color2: Green1
! Yellow (brown)
Rxvt*color3: Khaki1
! Blue
Rxvt*color4: DodgerBlue1
! Magenta
Rxvt*color5: DarkOrchid1
! Cyan
Rxvt*color6: Cyan2
! This does not refer to foreground color!
! White
Rxvt*color7: #fdfdfd
! Gray
Rxvt*color8: #666666
! Bright red
!!!Rxvt*color9: #ee0000
Rxvt*color9: OrangeRed
! Bright green
Rxvt*color10: SpringGreen1
! Yellow
Rxvt*color11: Yellow
! Bright blue
Rxvt*color12: DodgerBlue3
! Bright magenta
Rxvt*color13: #ff00ff
! Bright cyan
Rxvt*color14: #00ffff
! This does not refer to foreground color!
! Bright white
Rxvt*color15: #ffffff
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
rxvt 很棒,但我也有兴趣更改 cygwin 的 bash shell 的颜色。要更改这些颜色,我编辑了 cygwin\etc\DIR_COLORS 并更改了行
# 属性代码: # 00=无 01=粗体 04=下划线 05=闪烁 07=反转 08=隐藏 # 文字颜色代码: # 30=黑色 31=红色 32=绿色 33=黄色 34=蓝色 35=品红色 36=青色 37=白色 # 背景颜色代码: # 40=黑色 41=红色 42=绿色 43=黄色 44=蓝色 45=品红色 46=青色 47=白色 执行 00;33 NORMAL 00;37 # 全局默认值,尽管一切都应该有所作为。 FILE 00;37 # 普通文件 DIR 00;32 # 目录
并重新采购了我的 .bashrc
eval `dircolors -b /etc/DIR_COLORS`
请参阅http://cygwin.com/ml/cygwin/2001-05/msg00938.html 提示颜色也在 /etc/profile 例如在我的登录 .bashrc 中将提示设置为黄色以覆盖 /etc/profile,我可以添加行
PS1=('\033[33m$')
仅供您参考。Cygwin不是终端(或控制台)应用程序。这类似于回答您使用 Windows 来询问您使用什么浏览器上网。您可以使用各种浏览器在 Windows 上打开网站,例如Chrome、Opera、Firefox或MSIE。类似地,您可以在各种终端中打开Cygwin的外壳。Terminal 是一个应用程序,它管理来自用户的输入和输出 - 从Cygwin的 shell 呈现文本输出并将用户的输入(键盘和鼠标)发送回它。因此字体和颜色设置取决于您使用的终端。
Windows 有很多不同的终端应用程序。列举其中一些:
用于解释颜色的 CygWin 方法(无论是 shell、打印输出、提示符......等)应该与任何其他 Linux 相同,但这里的问题来自Windows shell,它没有太多功能。
好吧,我不知道这是否有帮助,但对我来说这是最好的解决方案,因为我喜欢Putty 作为终端:
从 CygWin 中安装 OpenSSH (SSHD) 包:
apt-cyg update apt-cyg install sshd ssh-host-config --> [以管理员身份运行] net start sshd
使用Putty连接到您的计算机(本地主机):
腻子本地主机
现在你应该有一个体面的 shell 能够解释颜色。