cgywin 使用

http://www.programarts.com/cfree_ch/doc/help/UsingCF/CompilerSupport/Cygwin/Cygwin1.htm



cygwin使用心得2007-12-28 17:171.在cygwin里访问Windows盘 

cd /cygdrive/c 
cd c: 
2.整合 cygwin 命令到Windows中 
假设 cygwin 安装在d:/develop/ cygwin ,则将d:/develop/ cygwin /bin添加到系统变量PATH中(最好加在windows前面,这样的话,有些相同的命令的话,是先执行 cygwin 的命令,而不是windows命令,比如find) 
就可以直接在cmd.exe下面执行tar czvf xxx.tgz ./ 
基本上所有的命令都可以用了,包括ls,more,less,find,grep等。 
3.使用TGZ备份 
cygwin 的BIN加入到PATH 
建一个BAT文件: 
@echo off 
d: 
cd d:\website\8thmanage 
tar czvf 8thmanage.tgz 8thmanage 
4.Windows使用SHELL脚本 
cygwin 的BIN加入到PATH 
在$ CYGWIN 的目录/var/下面建一脚本t.sh,注意,t.sh里面的路径,都是相对于$ CYGWIN 的,里面需要访问C盘的,请用/cygdrive/c/ 
在Windows下执行: 
d:\ cygwin \bin\bash d:\ cygwin \var\t.sh 
(可以定期执行) 
5.同步Windows系统用户 
mkpasswd -l > /etc/passwd 
mkgroup -l > /etc/group 
如果有Domain的话,需要加上-d domainname 
6.安装系统服务 
cygrunsrv 
7.cygwing下使用rsync 
a.安装rsync组件 
b.进入 cygwin ,配置服务器 
vi /etc/rsyncd.conf 
...screts file=/etc/tom.ipaddr.pas 
配置文件,参考我写的另外一篇rsync的文章,注意:密码文件权限必须是0400 
chmod 0400 /etc/tom.ipaddr.pas 
c.启动服务端 
rsync --daemon 
d.客户端同步 
在客户端的 cygwin 下面,运行rsync同步,具体命令,请参考另外一篇rsync的文章。 
8. cygwin 下使用SSHD 
a.需要安装了cygrunsrc,openssh 
b.运行ssh-host-config -y 
一路回车,直到出现 CYGWIN =时,输入tty ntsec,再回车, 
(或者,增加一系统环境变量CUGWIN=nesec tty) 
c.已经安装好SSHD服务到你的Windows服务中,可以直接在服务中启动,关闭。 
(cygrunsrc -S sshd或者net start sshd) 
9.中文显示 
vi ~/.bashrc 
# 让ls和dir命令显示中文和颜色 
alias ls='ls --show-control-chars --color'  
alias dir='dir -N --color' 
# 设置为中文环境,使提示成为中文 
export LANG="zh_CN.GBK" 
# 输出为中文编码 
export OUTPUT_CHARSET="GBK" 
~/.inputrc为  
set completion-ignore-case on  
set meta-flag on  
set output-meta on  
set convert-meta off  
cygwin .bat脚本为:  
@echo off  
set MAKE_MODE=UNIX  

-------------------------------- 
安装 
可以直接到 http://www. cygwin.com 下载一个安装程序,setup.exe,这个程序只是一个安装程序,所有的模块将从网络下载安装。或者,你可以下载一个 cygwin .iso的镜像,直接映象成光盘,再从光盘本地安装,这样会快很多,而且不用考虑断线的问题。 

X下的中文支持 
locale支持 
Cygwin 的locale支持一直都有问题,好在X程序还可以使用XLOCALE。 
建议还是使用zh_CN.gbk, 不要使用zh_CN.GB2312 
在移植程序时需要注意不要让程序连接libcygwin.a里面的setlocale,而是采用libX11.a里面的_Xsetlocale。方法是:检查被移植程序的全部源代码,发现  
#include  
就修改为  
#define X_LOCALE 
#include  
同时注意程序的连接库要添加-lX11. 
如果对于结果没有把握,可以找个Dependency Walker 查看 程序是否连接到了 cygwin 1.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,可以将Windows TTF字体转换出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,均可以从我的网站上找到 http://www.oliwen.com/bama...  
一般设置了LC_CTYPE和XMODIFIERS就可以在程序中激活输入输入法了(除非这个程序没有XIM支持): 
LC_CTYPE=zh_CN.gbk 
XMODIFIERS="@im=Chinput" 
export LC_CTYPE XMODIFIERS 
对于fcitx而言,XMODIFIERS设置为什么都可以(但必须要设置),所以设置为"@im=Chinput"的话chinput和fcitx都可以正常使用 
VI中的 Backspace 与 Delete 按键异常 
首先确定 $TERM的设定为 cygwin  

echo $TERM 

若不是,请设定为 

TERM =  cygwin   
export TERM 

Backspace 与 Delete这两个键正常状况下只有一个有用。可在 $HOME/.bash_profile 任选一个来使用 

stty erase '^H' //ctrl+v, ctrl+h  

stty erase '^?'

你可能感兴趣的:(cgywin 使用)