cygwin.docx
《cygwin.docx》由会员分享,可在线阅读,更多相关《cygwin.docx(10页珍藏版)》请在冰豆网上搜索。
cygwin
下载setup.exe
安装Cygwin,您需要下载setup.exe,此程序根据您选择的软件包,再从互联网下载所有组件。
点击此处下载setup.exe
安装
1.双击setup.exe
2.按照安装提示“下一步”
3.选择从“互联网”安装:
4.选择安装的路径,一般是C:
\Cygwin,选择本地临时目录,用于存放下载的软件;选择您连接互联网的方式,一般选“直接连接”就可以了。
5.选择下载源,您可以在下载列表里选择:
或者,直接在URL里输入
6.根据安装提示,选择需要安装的软件包,完成安装。
如果您在国内,C是您所能使用的最快的镜像。
使用
∙双击桌面的Cygwin图标,即可启动Cygwin里的Bash。
∙或者,你可将C:
/Cygwin/bin加到%PATH%当中,您就可以直接在cmd.exe里面使用Linux命令了,比如less,cat,wc,wget
∙如果您有一个Bash脚本,您可以直接用C:
/Cygwin/bin/bash.exeX:
/scripts/Monitor.sh的形式调用。
cygwin使用心得
1.在cygwin里访问Windows盘
cd/cygdrive/c
cdc:
2.整合cygwin命令到Windows中
假设cygwin安装在d:
/develop/cygwin,则将d:
/develop/cygwin/bin添加到系统变量PATH中(最好加在windows前面,这样的话,有些相同的命令的话,是先执行cygwin的命令,而不是windows命令,比如find)
就可以直接在cmd.exe下面执行tarczvfxxx.tgz./
基本上所有的命令都可以用了,包括ls,more,less,find,grep等。
3.使用TGZ备份
将cygwin的BIN加入到PATH
建一个BAT文件:
@echooff
d:
cdd:
\website\8thmanage
tarczvf8thmanage.tgz8thmanage
4.Windows使用SHELL脚本
将cygwin的BIN加入到PATH
在$CYGWIN的目录/var/下面建一脚本t.sh,注意,t.sh里面的路径,都是相对于$CYGWIN的,里面需要访问C盘的,请用/cygdrive/c/
在Windows下执行:
d:
\cygwin\bin\bashd:
\cygwin\var\t.sh
(可以定期执行)
5.同步Windows系统用户
mkpasswd-l>/etc/passwd
mkgroup-l>/etc/group
如果有Domain的话,需要加上-ddomainname
6.安装系统服务
cygrunsrv
7.cygwing下使用rsync
a.安装rsync组件
b.进入cygwin,配置服务器
vi/etc/rsyncd.conf
...scretsfile=/etc/tom.ipaddr.pas
配置文件,参考我写的另外一篇rsync的文章,注意:
密码文件权限必须是0400
chmod0400/etc/tom.ipaddr.pas
c.启动服务端
rsync--daemon
d.客户端同步
在客户端的cygwin下面,运行rsync同步,具体命令,请参考另外一篇rsync的文章。
8.cygwin下使用SSHD
a.需要安装了cygrunsrc,openssh
b.运行ssh-host-config-y
一路回车,直到出现CYGWIN=时,输入ttyntsec,再回车,
(或者,增加一系统环境变量CUGWIN=nesectty)
c.已经安装好SSHD服务到你的Windows服务中,可以直接在服务中启动,关闭。
(cygrunsrc-Ssshd或者netstartsshd)
9.中文显示
1.编辑用户home目录下的文件.inputc,去除以下几行的注释:
setmeta-flagon
#关闭bash命令行8字节字符转义符的转换
setconvert-metaoff
#使bash命令行支持8字节字符输出
setoutput-metaon
setinput-metaon
2编辑用户home目录下的文件.bash_profile,在文件末尾加上下面几行:
aliasls='ls--color--show-control-chars'
exportLC_ALL=zh_CN.GB23122
exportLC_CTYPE=zh_CN.GB2312
exportLANG=zh_CN.GB2312
exportXMODIFIERS="@im=Chinput"3
sttycs8-istrip
sttypass8
#Update:
少了这个less就不支持中文了
exportLESSCHARSET=latin1
3,经过以上过程后,重启cygwin,就应许支持中文了,当然,如果要改变home目录则要编辑cygwin.bat,具体如下:
在bash命令之前加入setHOME=<用户目录>,比用户目录设置在G:
\home。
在新设定的<用户目录>里创建文件.inputc和.bash_profile
由于用惯了windows,所以想在资源管理器里创建这两个文件,
所以干脆先跑到bash里用echo
创建这两个文件。
echoa>.inputc
echoa>.bash_profile
然后用你喜爱的编辑器编辑之。
要是ls还有乱码,vi~\.bashrc中,修改:
aliasls=’ls-hF–show-control-chars–color=tty’
cygwin.bat脚本为:
@echooff
setMAKE_MODE=UNIX
--------------------------------
安装
可以直接到下载一个安装程序,setup.exe,这个程序只是一个安装程序,所有的模块将从网络下载安装。
或者,你可以下载一个cygwin.iso的镜像,直接映象成光盘,再从光盘本地安装,这样会快很多,而且不用考虑断线的问题。
X下的中文支持
locale支持
Cygwin的locale支持一直都有问题,好在X程序还可以使用XLOCALE。
建议还是使用zh_CN.gbk,不要使用zh_CN.GB2312
在移植程序时需要注意不要让程序连接libcygwin.a里面的setlocale,而是采用libX11.a里面的_Xsetlocale。
方法是:
检查被移植程序的全部源代码,发现
#include
就修改为
#defineX_LOCALE
#include
同时注意程序的连接库要添加-lX11.
如果对于结果没有把握,可以找个DependencyWalker查看程序是否连接到了cygwin1.dll里面的setlocale,如果是,就说明有遗漏。
中文字体
PCF点阵字体
GTK1.x和其他一些老的X程序都是用X字体,
注意必须要有编码与locale一致的字体,比如用zh_CN.gbk就必须要由GBK编码的字体,用zh_CN.GB2312就必须要有GB2312编码的字体
如果使用zh_CN.GB2312,这里有一个RedOffice面带的点阵字体包
可以采用ttf2bdf从TTF抽取得到bdf格式,然后再用bdf2pcf得到pcf格式的字体文件。
(这里有一个Windows版本的TTF2BDF,可以将WindowsTTF字体转换出BDF字体,注意得到bdf后要手工编辑一下文件头,将编码声明修改正确)
得
到字体之后,放到某个目录下,执行mkfontdir生成fonts.dir,然后用xset+fp
/path/to/your/fonts将字体路径加入即可(注意与fontconfig的配置不同,这里路径是不递归的,如果有的字体放在子目录里面,
子目录也需要添加进去才行)。
TTF字体
很多新的应用程序(比如GTK2)都使用fontconfig/libxft2来显示字体,它对TTF字体的支持比较好(X以前通过freetype,xft模块也支持TTF字体,但对中日韩字体的支持不是太好,而且也在Cygwin下似乎也没有这些模块)
完全可以使用Linux下的arphic字体包.如果没有安装Linux,可以到http:
//packages.debian.org下载相应的包,然后用7zip解压提取出ttf文件。
得到字体文件之后,放到某个目录之下,编辑/etc/fonts/local.conf,将字体路径加入:
/path/to/my/ttf/fonts如果只是自己使用,可以将字体文件放到~/.fonts下,不需要修改任何配置,最多三十秒fontconfig就能够发现这些字体了。
中文输入法
老黄(hzhr)移植了miniChinput到Cygwin,我也移植了fcitx-1.8.5和3.0,均可以从我的网站上找到
一般设置了LC_CTYPE和XMODIFIERS就可以在程序中激活输入输入法了(除非这个程序没有XIM支持):
LC_CTYPE=zh_CN.gbk
XMODIFIERS="@im=Chinput"
exportLC_CTYPEXMODIFIERS
对于fcitx而言,XMODIFIERS设置为什么都可以(但必须要设置),所以设置为"@im=Chinput"的话chinput和fcitx都可以正常使用
VI中的Backspace與Delete按鍵異常
首先確定$TERM的設定為cygwin
echo$TERM
若不是,請設定為
TERM=cygwin
exportTERM
Backspace與Delete這兩個鍵正常狀況下只有一個有用。
可在$HOME/.bash_profile任選一個來使用
sttyerase'^H'//ctrl+v,ctrl+h
sttyerase'^?
'
------------------------
Cygwin使用指南
1引言
cygwin是一个在windows平台上运行的unix模拟环境,是cygnussolutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。
它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。
随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。
本文将对其作一介绍。
2机理
cygnus当初首先把gcc,gdb,gas等开发工具进行了改进,使他们能够生成并解释win32的目标文件。
然后,他们要把这些工具移植到windows平台上去。
一种方案是基于win32api对这些工具的源代码进行大幅修改,这样做显然需要大量工作。
因此,他们采取了一种不同的方法——他们写了一个共享库(就是cygwindll),把win32api中没有的unix风格的调用(如fork,spawn,signals,select,sockets等)封装在里面,也就是说,他们基于win32api写了一个unix系统库的模拟层。
这样,只要把这些工具的源