版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、Cygwin使用cygwin使用心得1.在cygwin里訪問Windows盤cd /cygdrive/ccd c:2.整合cygwin命令到Windows中假設cygwin安裝在d:/develop/cygwin,則將d:/develop/cygwin/bin添加到系統(tǒng)變量PATH 中(最好加在windows前面,這樣的話,有些相同的命令的話,是先執(zhí)行cygwin的命令,而不是windows命令,比如find就可以直接在cmd.exe下面執(zhí)行tar czvf xxx.tgz ./基本上所有的命令都可以用了,包括ls,more,less,find,grep等。3.使用TGZ備份將cygwin的B
2、IN加入到PATH建一個BAT文件:echo offd:cd d:website8thmanagetar czvf 8thmanage.tgz 8thmanage4.Windows使用SHELL腳本將cygwin的BIN加入到PATH在$CYGWIN的目錄/var/下面建一腳本t.sh,注意,t.sh里面的路徑,都是相對于$CYGWIN 的,里面需要訪問C盤的,請用/cygdrive/c/在Windows下執(zhí)行:d:cygwinbinbash d:cygwinvart.sh(可以定期執(zhí)行5.同步Windows系統(tǒng)用戶mkpasswd -l > /etc/passwdmkgroup -l
3、> /etc/group如果有Domain的話,需要加上-d domainname6.安裝系統(tǒng)服務cygrunsrv7.cygwing下使用rsynca.安裝rsync組件b.進入cygwin,配置服務器vi /etc/rsyncd.conf.screts file=/etc/tom.ipaddr.pas配置文件,參考我寫的另外一篇rsync的文章,注意:密碼文件權限必須是0400chmod 0400 /etc/tom.ipaddr.pasc.啟動服務端rsync -daemond.客戶端同步在客戶端的cygwin下面,運行rsync同步,具體命令,請參考另外一篇rsync的文章。8.c
4、ygwin下使用SSHDa.需要安裝了cygrunsrc,opensshb.運行ssh-host-config -y一路回車,直到出現(xiàn)CYGWIN=時,輸入tty ntsec,再回車,(或者,增加一系統(tǒng)環(huán)境變量CUGWIN=nesec ttyc.已經(jīng)安裝好SSHD服務到你的Windows服務中,可以直接在服務中啟動,關閉。 (cygrunsrc -S sshd或者net start sshd9.中文顯示vi /.bashrc# 讓ls和dir命令顯示中文和顏色alias ls='ls -show-control-chars -color'alias dir='dir -
5、N -color'# 設置為中文環(huán)境,使提示成為中文export LANG="zh_CN.GBK"# 輸出為中文編碼export OUTPUT_CHARSET="GBK"/.inputrc為set completion-ignore-case onset meta-flag onset output-meta onset convert-meta offcygwin.bat腳本為:echo offset MAKE_MODE=UNIX-Cygwin安裝可以直接到下載一個安裝程序,setup.exe,這個程序只是一個安裝程序,所有的模塊將從網(wǎng)絡下載安
6、裝。或者,你可以下載一個cygwin.iso的鏡像,直接映象成光盤,再從光盤本地安裝,這樣會快很多,而且不用考慮斷線的問題。X下的中文支持locale支持Cygwin的locale支持一直都有問題,好在X程序還可以使用XLOCALE。建議還是使用zh_CN.gbk, 不要使用zh_CN.GB2312在移植程序時需要注意不要讓程序連接libcygwin.a里面的setlocale,而是采用libX11.a 里面的_Xsetlocale。方法是:檢查被移植程序的全部源代碼,發(fā)現(xiàn)#include就修改為#define X_LOCALE#include同時注意程序的連接庫要添加-lX11.如果對于結果
7、沒有把握,可以找個Dependency Walker查看程序是否連接到了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,可以將W
8、indows TTF字體轉換出BDF字體, 注意得到bdf后要手工編輯一下文件頭,將編碼聲明修改正確得到字體之后,放到某個目錄下,執(zhí)行mkfontdir生成fonts.dir,然后用xset +fp/path/to/your/fonts將字體路徑加入即可(注意與fontconfig的配置不同,這里路徑是不遞歸的,如果有的字體放在子目錄里面,子目錄也需要添加進去才行。TTF字體很多新的應用程序(比如GTK2都使用fontconfig/libxft2來顯示字體,它對TTF字體的支持比較好(X以前通過freetype, xft模塊也支持TTF字體,但對中日韓字體的支持不是太好,而且也在Cygwin下
9、似乎也沒有這些模塊完全可以使用Linux下的arphic字體包. 如果沒有安裝Linux,可以到下載相應的包,然后用7zip解壓提取出ttf文件。得到字體文件之后,放到某個目錄之下,編輯/etc/fonts/local.conf,將字體路徑加入: /path/to/my/ttf/fonts如果只是自己使用,可以將字體文件放到/.fonts下,不需要修改任何配置,最多三十秒fontconfig就能夠發(fā)現(xiàn)這些字體了。中文輸入法老黃(hzhr移植了miniChinput到Cygwin,我也移植了fcitx-1.8.5和3.0,均可以從我的網(wǎng)站上找到
10、一般設置了LC_CTYPE和XMODIFIERS就可以在程序中激活輸入輸入法了(除非這個程序沒有XIM支持:LC_CTYPE=zh_CN.gbkXMODIFIERS="im=Chinput"export LC_CTYPE XMODIFIERS對于fcitx而言,XMODIFIERS設置為什么都可以(但必須要設置,所以設置為"im=Chinput"的話chinput和fcitx都可以正常使用VI中的 Backspace 與 Delete 按鍵異常首先確定 $TERM的設定為cygwinecho $TERM若不是,請設定為TERM = cygwinexpor
11、t TERMBackspace 與 Delete這兩個鍵正常狀況下只有一個有用。可在 $HOME/.bash_profile 任選一個來使用stty erase 'H' /ctrl+v, ctrl+hstty erase '?'-Cygwin使用指南1 引言cygwin 是一個在windows平臺上運行的unix模擬環(huán)境,是cygnus solutions公司開發(fā)的自由軟件(該公司開發(fā)了很多好東西,著名的還有eCos,不過現(xiàn)已被Redhat收購。它對于學習unix/linux操作環(huán)境,或者從unix到windows的應用程序移植,或者進行某些特殊的開發(fā)工作,尤其
12、是使用gnu工具集在windows上進行嵌入式系統(tǒng)開發(fā),非常有用。隨著嵌入式系統(tǒng)開發(fā)在國內(nèi)日漸流行,越來越多的開發(fā)者對cygwin產(chǎn)生了興趣。本文將對其作一介紹。2 機理cygnus 當初首先把gcc,gdb,gas等開發(fā)工具進行了改進,使他們能夠生成并解釋win32的目標文件。然后,他們要把這些工具移植到windows平臺上去。一種方案是基于win32 api 對這些工具的源代碼進行大幅修改,這樣做顯然需要大量工作。因此,他們采取了一種不同的方法他們寫了一個共享庫(就是cygwin dll,把win32 api中沒有的unix風格的調用(如fork,spawn,signals,select,
13、sockets等封裝在里面,也就是說,他們基于 win32 api 寫了一個unix系統(tǒng)庫的模擬層。這樣,只要把這些工具的源代碼和這個共享庫連接到一起,就可以使用unix主機上的交叉編譯器來生成可以在 windows平臺上運行的工具集。以這些移植到windows平臺上的開發(fā)工具為基礎,cygnus又逐步把其他的工具(幾乎不需要對源代碼進行修改,只需要修改他們的配置腳本軟件移植到windows上來。這樣,在windows平臺上運行bash和開發(fā)工具、用戶工具,感覺好像在unix上工作。關于cygwin實現(xiàn)的更詳細描述,請參考3 安裝設置cygwin3.1 安裝要安裝網(wǎng)絡版的cygwin,可以到,
14、點擊"Install Cygwin Now!"。這樣會先下載一個叫做setup.exe的GUI安裝程序,用它能下載一個完整的cygwin。按照每一屏的指示可以方便的進行安裝。3.2 環(huán)境變量開始運行bash之前,應該設置一些環(huán)境變量。cygwin提供了一個.bat文件,里面已經(jīng)設置好了最重要的環(huán)境變量。通過它來啟動bash是最安全的辦法。這個.bat文件安裝在cygwin 所在的根目錄下。 可以隨意編輯該文件。CYGWIN變量用來針對cygwin運行時系統(tǒng)進行多種全局設置。開始時,可以不設置CYGWIN或者在執(zhí)行bash前用類似下面的格式在dos框下把它設為ttyC:>
15、; set CYGWIN=tty notitle globPATH 變量被cygwin應用程序作為搜索可知性文件的路徑列表。當一個cygwin進程啟動時,該變量被從windows格式(e.g. C:WinNTsystem32;C:WinNT轉換成unix格式(e.g., /WinNT/system32:/WinNT。如果想在不運行bash的時候也能夠使用cygwin工具集,PATH 起碼應該包含x:cygwin bin,其中x:cygwin 是你的系統(tǒng)中的cygwin目錄。HOME變量用來指定主目錄,推薦在執(zhí)行bash前定義該變量。當 cygwin進程啟動時,該變量也被從windows格式轉換
16、成unix格式,例如,作者的機器上HOME的值為C:(dos命令set HOME就可以看到他的值,set HOME=XXX可以進行設置,在bash中用echo $HOME看,其值為/cygdrive/c.TERM變量指定終端型態(tài)。如果美對它進行設置,它將自動設為cygwin。LD_LIBRARY_PATH被cygwin函數(shù)dlopen(作為搜索.dll文件的路徑列表,該變量也被從windows格式轉換成unix格式。多數(shù)Cygwin應用程序不使用dlopen,因而不需要該變量。3.3 改變cygwin的最大存儲容量Cygwin 程序缺省可以分配的內(nèi)存不超過384 MB(program+data
17、。多數(shù)情況下不需要修改這個限制。然而,如果需要更多實際或虛擬內(nèi)存,應該修改注冊表的 HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER區(qū)段。田家一個DWORD鍵heap_chunk_in_mb并把它的值設為需要的內(nèi)存限制,單位是十進制MB。也可以用cygwin中的regtool完成該設置。例子如下:regtool -i set /HKLM/Software/Cygnus Solutions/Cygwin/heap_chunk_in_mb 1024 regtool -v list /HKLM/Software/Cygnus Solutions/Cygwin4 使用cygwi
18、n這一段講一下cygwin和傳統(tǒng)unix系統(tǒng)的不同之處。4.1 映射路徑名 4.1.1 引言 cygwin 同時支持 win32 和 posix 風格的路徑, 路徑分隔符可以是正斜杠也可以是反斜杠。 還 支持 UNC 路徑名。 (在網(wǎng)絡中,UNC 是一種確定文件位置的方法,使用這種方法用戶可以不關 心存儲設備的物理位置,方便了用戶使用。在 Windows 操作系統(tǒng),Novell Netware 和其它操 作系統(tǒng)中,都已經(jīng)使用了這種規(guī)范以取代本地命名系統(tǒng)。在 UNC 中,我們不用關心文件在什 么盤(或卷)上,不用關心這個盤(或卷)所在服務器在什么地方。我們只要以下面格式就 可以訪問文件: 服務器
19、名共享名路徑文件名 共享名有時也被稱為文件所在卷或存儲設備的邏輯標識,但使用它的目的是讓用戶不必關心 這些卷或存儲設備所在的物理位置。 ) 符合 posix 標準的操作系統(tǒng)(如 linux)沒有盤符的概念。所有的絕對路徑都以一個斜杠開 始,而不是盤符(如 c:) 。所有的文件系統(tǒng)都是其中的子目錄。例如,兩個硬盤,其中之一 為根,另一個可能是在/disk2 路徑下。 因為許多 unix 系統(tǒng)上的程序假定存在單一的 posix 文件系統(tǒng)結構,所以 cygwin 專門維護了 一個針對 win32 文件系統(tǒng)的內(nèi)部 posix 視圖,使這些程序可以在 windows 下正確運行。在某 些必要的情況下,c
20、ygwin 會使用這種映射來進行 win32 和 posix 路徑之間的轉換。 4.1.2 cygwin mount 表 cygwin 中的 mount 程序用來把 win32 盤符和網(wǎng)絡共享路徑映射到 cygwin 的內(nèi)部 posix 目錄 樹。這是與典型 unix mount 程序相似的概念。對于那些對 unix 不熟悉而具有 windows 背景 的的人來說,mount 程序和早期的 dos 命令 join 非常相似,就是把一個盤符作為其他路徑的 子目錄。 路徑映射信息存放在當前用戶的 cygwin mount 表中,這個 mount table 又在 windows 的注 冊表中。這樣
21、,當該用戶下一次登錄進來時,這些信息又從注冊表中取出。mount 表分為兩 種,除了每個用戶特定的表,還有系統(tǒng)范圍的 mount 表,每個 cygwin 用戶的安裝表都繼承自 系統(tǒng)表。系統(tǒng)表只能由擁有合適權限的用戶(windows nt 的管理員)修改。 當 前 用 戶 的 mount 表 可 以 在 注 冊 表 "HKEY_CURRENT_USER/Software/Red Hat, Inc./Cygwin/mounts v" 下看到。系統(tǒng)表 存在 HKEY_LOCAL_MACHINE 下。 posix 根路徑/缺省指向系統(tǒng)分區(qū), 但是可以使用 mount 命令重新指向到 windows 文件系統(tǒng)中 的任何路徑。cygwin 從 win32 路徑生成 posix 路徑時,總是使用 mount 表中最長的前綴。例 如如果 c:被同時安裝在/c 和/,cygwin 將把 C:/foo/bar 轉換成/c/foo/bar. 如果不加任何參數(shù)地調用 mount 命令, 會把 Cygwin 當前安裝點集合全部列出。 在下面的例子 中,c 盤是 POSIX 根,而 d 盤被映射到/d。本例中,根是一個系統(tǒng)范圍的安裝點,它對所有 用戶都是可見的,而/d 僅對當前用戶可見。 c:> mount f:cygwinbin on /usr/bin type sys
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年SEM入門培訓教程-快速提升業(yè)績攻略
- 《接觸網(wǎng)施工》課件 2.2.2 基礎澆制
- JOINSET卓英社PCB-GASKET導電硅橡膠泡棉內(nèi)部培訓-材料應用
- 2024年KUKA機器人培訓:機械臂編程與操控
- 2024琥珀教學課件:古生物學的珍貴遺產(chǎn)
- 第47屆世界技能大賽木工項目-江蘇省選拔賽技術文件
- 2023年溫州市殘疾人職業(yè)技能大賽-麥餅制作項目技術文件
- 2024年教案創(chuàng)新:《竇娥冤》教學的新視角
- 2024年PCCAD軟件操作培訓-賦能你的創(chuàng)意思維
- 2024年教案革新:《經(jīng)濟法基礎》教學新理念
- 統(tǒng)編版(2024)七年級上冊道德與法治3.1《做有夢的少年》教案
- 2024-2030年中國機器翻譯行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 高速公路綜合監(jiān)控太陽能供電系統(tǒng)技術方案設計
- 2024年秋新華師大版七年級上冊數(shù)學 2.4.3去括號和添括號 教學課件
- 【論述土木工程的信息化建設應用8600字(論文)】
- 北師大版(三起)(2024)三年級上冊英語Unit 5單元測試卷(含答案)
- 2024年初級銀行從業(yè)資格《個人理財》考試試題
- 公司資金調撥及內(nèi)部往來管理流程手冊模板
- 尊干愛兵課件2017
- 流程圖練習題(三種結構)
- 消防監(jiān)控服務合同范本
評論
0/150
提交評論