Cygwin杂记

2013年06月05日

虽然很是鄙视Windows,但是无赖师兄们都用,我的计算机又算不过来,只有想法在他们电脑上装个ssh,好让我直接连上去用。

在Windows下面的命令行当然离不开Cygwin了,此篇文章专门拿来记录与之相关的过程技巧吧。

  1. 安装Cygwin
去[官网][1]直接[下载][2]安装文件,本人有洁癖,所以直接最小化安装,勾选了后面apt-cyg要用的wget,tar,bzip2,gawk四个包。

有一个很好的脚本[apt-cyg](/assets/script/apt-cyg.txt)可以让Cygwin在命令行中像Ubuntu中那样使用apt-get,下载下来放到/usr/local/bin/目录下并开启可执行权限即可。使用之前可以先看一下帮助,可以设置镜像的,就不用每次都更新源。
  1. 安装SSH
可以直接在命令行下用上面提到的apt-cyg安装:

    apt-cyg install openssh
    # 然后开始配置SSH服务
    ssh-host-config
    

基本上是一路yes,遇到`the value of CYGWIN environment variable enter` 时,填`ntsec`就可以了。

完成后,可以`控制面板->管理->服务`,启动名为`CYGWIN sshd`的服务,或者直接命令行输入`cygrunsrv --start sshd`启动sshd,可`cygrunsrv --stop sshd`停止sshd。

登陆SSH的时候用管理员用户名(默认`Administrator`)及密码,管理员账户必须设置密码,这一点很烦人,不知道咋破。
  1. 添加clear命令
Cygwin竟然没有clear命令,除了`Ctrl+L`快捷键可以清屏外,也可以添加一个命令脚本到bin目录,或者安装ncurses软件包。

    #!/bin/bash
    
    #利用windows的cmd命令
    #cmd /c cls
    
    #或直接输入清屏字符串
    echo -e "\E[2J"^C
    

**注:**注意,ncurses的开发包`libncurses-devel`安装后头文件并非在`/usr/include`目录下,而是在`/usr/include/ncurses`目录下。可以这样创建一个文件:

    echo '#include <ncurses/ncurses.h>' > /usr/include/ncurses.h
  1. 安装GCC编译环境 cygwin的仓库里提供了3.4版的GCC和4.5版的GCC4。可以用以下命令安装

    apt-cyg install gcc4 ln -s /usr/bin/g++-4.exe /usr/local/bin/g++ ln -s /usr/bin/gcc-4.exe /usr/local/bin/gcc