<p>安装</h3> <p>在我这边电信的adsl下选网络安装不能取得服务器列表,原来是cygwin.com被封了,不想多做评论。想网络安装的朋友可以找个国外的代理(好像网通的也行)先下完服务器列表,再后退取消服务器设置,再点下一步,选好镜像服务器,直接链接,网络安装。</p> <h3>终端</h3> <p>cat cygwin\home\username\.bashrc<br /># 让ls和dir命令显示中文和颜色<br />alias ls='ls --show-control-chars --color' <br />alias dir='dir -N --color'<br /># 设置为中文环境,使提示成为中文<br />export LANG="zh_CN.GBK"<br /># 输出为中文编码<br />export OUTPUT_CHARSET="GBK"</p> <p>~/.inputrc为 </p> <p>set completion-ignore-case on </p> <p>set meta-flag on </p> <p>set output-meta on </p> <p>set convert-meta off </p> <p>cygwin.bat脚本为: </p> <p>@echo off </p> <p>set MAKE_MODE=UNIX </p> <h3>X下的中文支持</h3> <h4>locale支持</h4> <p>Cygwin的locale支持一直都有问题,好在X程序还可以使用XLOCALE。<br />建议还是使用zh_CN.gbk, 不要使用zh_CN.GB2312</p> <p>在移植程序时需要注意不要让程序连接libcygwin.a里面的setlocale,而是采用libX11.a里面的_Xsetlocale。方法是:检查被移植程序的全部源代码,发现 <div>#include </div> <p>就修改为 <div>#define X_LOCALE<br />#include </div> <p>同时注意程序的连接库要添加-lX11.<br />如果对于结果没有把握,可以找个<a href="http://www.dependencywalker.com/" rel="nofollow">Dependency Walker</a>查看程序是否连接到了cygwin1.dll里面的setlocale,如果是,就说明有遗漏。</p> <h4>中文字体</h4> <h5>PCF点阵字体</h5> <p>GTK1.x 和其他一些老的X程序都是用X字体,</p> <p>注意必须要有编码与locale一致的字体,比如用zh_CN.gbk就必须要由GBK编码的字体,用zh_CN.GB2312就必须要有GB2312编码的字体</p> <p>如果使用zh_CN.GB2312,这里有一个<a href="http://www.linuxfans.org/nuke/modules.php?name=Site_Downloads&op=geninfo&did=463" rel="nofollow">RedOffice面带的点阵字体包</a></p> <p>可以采用ttf2bdf从TTF抽取得到bdf格式,然后再用bdf2pcf得到pcf格式的字体文件。<br />(<a href="ftp://linux.cis.nctu.edu.tw/packages/chinese/TTF2BDF.exe">这里</a>有一个Windows版本的TTF2BDF,可以将Windows TTF字体转换出BDF字体, 注意得到bdf后要手工编辑一下文件头,将编码声明修改正确)</p> <p>得<br />到字体之后,放到某个目录下,执行mkfontdir生成fonts.dir,然后用xset +fp<br />/path/to/your/fonts将字体路径加入即可(注意与fontconfig的配置不同,这里路径是不递归的,如果有的字体放在子目录里面,<br />子目录也需要添加进去才行)。<br /> <h5>TTF字体</h5> <p>很多新的应用程序(比如GTK2)都使用fontconfig/libxft2来显示字体,它对TTF字体的支持比较好(X以前通过freetype, xft模块也支持TTF字体,但对中日韩字体的支持不是太好,而且也在Cygwin下似乎也没有这些模块)</p> <p>完全可以使用Linux下的arphic字体包. 如果没有安装Linux,可以到<img alt="" hspace="2" src="http://www.blogcn.com/images/aurl.gif" align="absBottom" border="0" /><a href="http://packages.debian.org/" rel="nofollow"><a href="http://packages.debian.org">http://packages.debian.org</a></a>下载相应的包,然后用<a href="http://www.7-zip.org/" rel="nofollow">7zip</a>解压提取出ttf文件。</p> <p>得到字体文件之后,放到某个目录之下,编辑/etc/fonts/local.conf,将字体路径加入:<br />/path/to/my/ttf/fonts<font size="+0">如果只是自己使用,可以将字体文件放到~/.fonts下,不需要修改任何配置,最多三十秒fontconfig就能够发现这些字体了。<br /></font><br /> <h4>中文输入法</h4> <p>老黄(hzhr)移植了miniChinput到Cygwin,我也移植了fcitx-1.8.5和3.0,均可以从我的网站上找到 <a href="http://www.oliwen.com/bamanzi/cygwin/chinese/" rel="nofollow"><a href="http://www.oliwen.com/bamanzi/cygwin/chinese/">http://www.oliwen.com/bama...</a></a></p> <p>一般设置了LC_CTYPE和XMODIFIERS就可以在程序中激活输入输入法了(除非这个程序没有XIM支持):</p> <div>LC_CTYPE=zh_CN.gbk<br />XMODIFIERS="@im=Chinput"<br />export LC_CTYPE XMODIFIERS</p> </div> <p>对于fcitx而言,XMODIFIERS设置为什么都可以(但必须要设置),所以设置为"@im=Chinput"的话chinput和fcitx都可以正常使用</p> <h3>VI中的 Backspace 與 Delete 按鍵異常</h3> <p> <p>首先確定 $TERM的設定為cygwin</p> <p> <p>echo $TERM</p> <p> <p>若不是,請設定為</p> <p> <p>TERM = cygwin <br />export TERM</p> <p> <p>Backspace 與 Delete這兩個鍵正常狀況下只有一個有用。可在 $HOME/.bash_profile 任選一個來使用</p> <p> <p>stty erase '^H' //ctrl+v, ctrl+h </p> <p> <p>stty erase '^?' </p> <p> <h4>參考:</h4> <p> <ul> <li><a href="http://www.mgt.ncu.edu.tw/~dino/unix/editor03.htm"><a href="http://www.mgt.ncu.edu.tw/~dino/unix/editor03.htm">http://www.mgt.ncu.edu.tw/...</a></a> </p> </li> <li><a href="http://www.ibb.net/~anne/keyboard/keyboard.html#Bash"><a href="http://www.ibb.net/~anne/keyboard/keyboard.html#Bash">http://www.ibb.net/~anne/k...</a></a> </li> <li><a href="http://ece.niu.edu.tw/~chu/download/doc/UNIX.txt"><a href="http://ece.niu.edu.tw/~chu/download/doc/UNIX.txt">http://ece.niu.edu.tw/~chu...</a></a> </li> </ul> <p> <h2>應用</h2> <p> <h3>在Cygwin上安裝ssh伺服器</h3> <p> <ol> <li>OS修改環境變數:path增加d:\cygwin\bin </li> <li>OS增加環境變數:CYGWIN=ntsec tty </li> <li>Cygwin安裝必要的套件:OpenSSH,cygrunsrv </li> <li>Cygwin設定OpenSSH: <ol> <li>執行 ssh-host-config </li> <li>Should privilege separation be used? (yes/no) :yes </li> <li>Should this script create a local user 'sshd' on this machine? (yes/no) <br />:yes </li> <li>Do you want to install sshd as service? (yes/no) :yes </li> <li>Default is "ntsec" . CYGWIN=ntsec tty </li> </ol> <p></li> <li>手動啟動OpenSSH服務:net start sshd </li> <li>手動關閉OpenSSH服務:net stop sshd </li> </ol> <p> <h4>參考:</h4> <p> <p><a href="http://pigtail.net/LRP/printsrv/cygwin-sshd.html"><a href="http://pigtail.net/LRP/printsrv/cygwin-sshd.html">http://pigtail.net/LRP/pri...</a></a></p>
Cygwin note
最新推荐文章于 2024-11-11 14:56:33 发布