在Windows系统下安装和使用Cygwin软件

1. Cygwin简介

Cygwin软件是Windows系统下的一个终端软件。它其实是一个小型的Linux虚拟机,它能运用大部分的Linux原生命令,也能访问Windows的文件系统。

2. 安装Cygwin软件

在Cygwin官网https://www.cygwin.com/中下载最新版本的软件安装包,然后在windows系统下进行安装。需要注意的是,安装的时候要选择或填写可用的镜像站点网址(例如,http://mirrors.163.com/cygwin/)才能进行联网下载和安装。需要注意的是,在安装过程中要选择并安装一些常用的软件,例如 procps, gcc, make, cmake, openssh, curl, wget, perl, python, rsync, vim, lynx和chere等。在安装流程的选择软件包界面,查看的下拉菜单中选择完整,利用搜索来检索软件名称并双击跳过来进行软件的选择和安装。

软件安装完毕后,双击windows系统桌面上的软件图标,则打开了一个Linux系统的终端,用于Linux系统命令的直接运行。此外,Cygwin软件在Windows目录C:\cygwin64\bin下生成了各个Linux命令的exe文件,可以在windows下CMD中运行。需要注意的是, C:\cygwin64目录是Cygwin Linux系统的根目录,而windows的各个磁盘分区位于Cygwin Linux系统的/cygdrive目录下。

后续可以使用apt-cyg命令在Cygwin Linux中安装系统软件,需要安装其包管理器软件apt-cyg:

# 从官网下载apt-cyg软件,其实是一个bash脚本程序
curl https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
chmod 755 apt-cyg
mv apt-cyg /usr/bin

# 设置apt-cyg的源
apt-cyg mirror http://mirrors.163.com/cygwin
# 下载并安装rsync和oenssh软件
apt-cyg install rsync openssh procps
# 若报错没有wget和lynx命令,则重新双击Cygwin安装软件再次安装,搜索并选中wget和lynx命令,额外安装这两个命令后,则可以让apt-cyg顺利运行。

若需要更新Cygwin软件,直接下载最新版软件,再次安装到相同目录即可覆盖和更新,不影响Cygwin系统中已经安装好的软件和用户配置。

此外,若打开的Cygwin终端中不能正确显示中文主机名,可以在终端界面右击打开Options选项,做成点击Text栏,右侧在Locale菜单中选择C,Character set菜单中选择GBK,应用保存后,重新打开Cygwin终端,即可正常显示中文字符。

3. 在Windows系统的文件夹或桌面右键点击后打开Cygwin

默认情况下,通过桌面快捷方式或开始菜单中打开Cygwin软件,进入的工作目录是用户的家目录。为了更方便进行数据操作,可以实现:在某个文件夹或桌面上右键点击,再于弹出的菜单中点击打开Cygwin软件,并自动进入到所在的工作文件夹中。

有两种方法能实现右击打开Cygwin并进入工作目录:

1. 在Cygwin Linux系统中安装chere软件后,以管理员权限打开Cygwin Linux终端,执行命令:chere -i -t mintty -s bash,成功后,右键菜单中有“Bash Prompt Here”选项,点击即可打开Cygwin Linux终端,且自动进入目标文件夹。改进效果:按win+r,输入regedit按回车键后打开注册表编辑器,打开路径“计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cygwin64_bash”,将默认数据“&Bash Prompt Here”改为“在此处打开 Cygwin”,能修改右击后菜单的选项名称;然后在页面右侧空白处右击新建字符串值并改名为“Icon”,双击它并填入数据值“C:\cygwin64\Cygwin-Terminal.ico”,使之指向一个图片log文件,能修改右击有菜单选项的图片log;左键点击下级选项command,双击右侧的默认选项,修改其值为:C:\cygwin64\bin\mintty.exe -e /bin/bash --login -i -c "cd '%V';exec bash",则表示使用右击菜单中的Cygwin打开时执行的CMD命令,能让打开Cygwin的方式更好。
2. 直接手动修改Windows系统的注册表信息:按win+r,输入regedit按回车键后打开注册表编辑器,打开路径“计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\Cygwin\command”;新建项Cygwin及其字符串Icon,该项的默认数据值设置为“在此处打开 Cygwin”,字符串Icon的数据值设置为“C:\cygwin64\Cygwin-Terminal.ico”;在其下新建项command,其默认数据值设置为C:\cygwin64\bin\mintty.exe -e /bin/bash --login -i -c "cd '%V';exec bash"。

以上通过修改Windows系统注册表的方式实现了右击打开Cygwin软件,修改后立马生效,不需要重启系统。

4. 一键同时打开多个排列整齐的Cywin终端并同时自动连接服务器

打开Cygwin软件的命令是 C:\cygwin64\bin\mintty.exe,可以在Cygwin终端中执行命令”mintty –help”查看其使用方法。可以通过一些参数设置终端窗口在Windows桌面上的位置、终端的行数和列数、是否有窗口边界、是否有标题、进入终端后执行的命令等。

在我个人笔记本电脑的Windows桌面上生成文件aa.bat,写入以下三行内容:

C:\cygwin64\bin\mintty.exe --position 3,3 --size 113x35 --title 1 --Border void -e ssh -p 7118 -i C:\cygwin64\home\chenlianfu\.ssh\id_rsa chenlianfu@122.205.95.116
C:\cygwin64\bin\mintty.exe --position 3,1060 --size 113x34 --title 1 --Border void -e ssh -p 7118 -i C:\cygwin64\home\chenlianfu\.ssh\id_rsa chenlianfu@122.205.95.116
C:\cygwin64\bin\mintty.exe --position 1930,3 --size 112x69 --title 1 --Border void -e ssh -p 7118 -i C:\cygwin64\home\chenlianfu\.ssh\id_rsa chenlianfu@122.205.95.116

当双击桌面上aa.bat文件时,即可同时打开3个Cygwin终端,能整齐排列并占满桌面;每个终端打开后则执行ssh命令并无密码自动登录到我的远程服务器中。

通过热键进行一键启动的高级用法:我个人通过AutoHotkey软件设置热键,当按 alt+f 键时,即表示执行了aa.bat,即可同时打开多个排列整齐的Cywin终端并同时自动连接服务器。操作方法:首先通过AutoHotkey官网https://www.autohotkey.com/下载并安装AutoHotkey软件;然后在桌面上生成文件aa.ahk,其内容如下,用于设置热键;双击aa.ahk文件运行程序,使热键生效;将aa.ahk文件放置到C:\Users\xxx\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup路径(其中xxx是用户名)下,让aa.ahk程序能开机启动,从而实现永久生效。

; 在Windows系统桌面上打开多个cygwin终端
; 设置快捷的热键:^表示control键;#表示windows键;!表示Alt键;Right表示方向键右。
!f::
Run C:\User\Desktop\aa.bat
Return

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据