安裝Cygwin
在cgywin官方主頁下載安裝文件setup.exe,這只是一個網絡安裝包,體積很小。cgywin包含了許多GNU下的應用程序,真正安裝時會根據你選擇的組件,會自動去網上下載安裝的。在國內最好使用鏡像服務,這樣速度會提高很多,建議去http://www.cygwin.net.cn/或http://www.cygwin.cn/下載上述的安裝包,并在安裝進行到Choose A Download Site這個步驟時,選擇合理的鏡像。由于中國南北網速的差異,上述兩個地址都嘗試一下,看看哪個對你而言速度更快一些。
在進行到Select Packages這個步驟時,選擇你需要包,建議如下:
- Shells -> rxvt-unicode-x? 強大的X終端,可用它替換windows下的cmd.exe
- Net-> openssh? ssh客戶端,可作putty的替換
- Net-> inetutils? 可選,包含一些基本的網絡工具,如telnet,否則在cygwin下無法使用windows的telnet
cygwin安裝時會自動進行包關聯,在安裝rxvt時,已自動將X server安裝上了。
配置調整
啟動cygwin,實際上是運行cgywin.bat批處理,它又調用了cmd.exe。我們將安裝的rxvt作為默認終端,需要修改cygwin.bat。下面是我機子上的配置修改,請對應修改相應的路徑。
@echo off
d:
chdir d:\Cygwin\bin
rxvt -e bash --login -i
調整rxvt觀感,需要修改你用戶主目錄下的.Xdefaults文件,此文件在你選擇的安裝目錄下的home\usrname下,在我的機子上是D:\Cgywin\home\len。若不存在,可在此目錄下新建一個,修改內容如下:
Rxvt*background: black
Rxvt*foreground: #E2E6C7
Rxvt*font: 9x16
Rxvt*boldFont: 9x16
Rxvt*scrollBar_right: True
Rxvt*saveLines: 1024
Rxvt*geometry: 80x30
Rxvt*color0: black
Rxvt*color1: red
Rxvt*color2: green
Rxvt*color3: yellow
Rxvt*color4: blue
Rxvt*color5: magenta
Rxvt*color6: cyan
Rxvt*color7: white
Rxvt*color8: burlywood1
Rxvt*color9: sienna1
Rxvt*color10: PaleVioletRed1
Rxvt*color11: LightSkyBlue
Rxvt*color12: white
Rxvt*color13: white
Rxvt*color14: white
Rxvt*color15: white
在cygwin下也是可以訪問Windows下其他盤符的,如cd /cygdrive/c/windows,就轉到了C盤windows目錄下。這樣對于在linux下工作的人說有點兒別扭,更希望是以cd /mnt/c/windows的mount方式來訪問其他盤符。這需要修改注冊表的選項,將HKLM\software\Cygnus Solutions\Cgywin\mounts v2下的子項cygdrive prefix更改為/mnt即可。
遠程登陸Linux桌面
其實這里介紹的不僅僅適用于Linux,而是針對X Window的。X Widonw的介紹不進行贅述,但需要明確其中的服務器端和客戶端的區別,在X Window的概念中服務器端是指你進行顯示,輸入輸出的機器,也是接下來示例中的本機len-computer,IP為10.3.164.70,而客戶端指的是進行遠程登陸的機器auto-desktop,IP為10.3.164.74。
在局域網內最簡單的方法是使用XDMCP連接,這時遠程的機器啟用xdmcp。那臺機器運行著ubuntu-8.04,用gdm進行窗口管理,編輯/etc/gdm/gdm.conf-custom如下,其他版本的linux需找到對應的窗口管理的配置文件。
[security]
DisallowTCP=false
[xdmcp]
Enale=true
修改完后,在遠程機器上重啟服務,$sudo /etc/init.d/gdm restart。接下來本機啟動cgywin,轉到X目錄下,運行Xwin.exe,使用 -query指定遠程的linux機器的ip即可。
Len@len-computer /usr/X11R6/bin
$ cd /usr/X11R6/bin
Len@len-computer /usr/X11R6/bin
$ Xwin -query 10.3.164.74
這里會出現如下面圖示的窗口,提示輸入用戶名和密碼。另再附一張在登陸成功后,我在本地執行遠程操作的截圖。
如果你需要連接的遠程機器比較固定,可以修改本地機器d:\cgygin\usrX11R6\bin\startxdmcp.bat中的REMOTE_HOST值為你需要連接機器的IP,這個批處理設置了一些有用的環境變量值。或許你需要創建一個桌面的快鍵方式,這樣每次點擊,就直接連接到遠程機器了。
不引入桌面環境
可能有時候只需要將某個需要X服務的遠程應用程序引入到本地桌面顯示,而不需要啟動像上面的GNOME或者KDE等龐大的桌面環境。這樣做比較適合喜歡終端操作的人,我就常常終端敲命令,然后將gvim,openoffice這些從遠程導入到本地操作。
找到d:\cgywin\usr\X11R6\bin\startwin.bat,將%RUN% xterm -e /usr/bin/bash -l注釋掉,因為我們己經有了rxvt,不需要一個新的xterm終端了,執行該批處理文件,就會在本機運行X server。啟動cgywin,用ssh登陸到遠程機器上,執行如下命令,導出DISPLAY環境變量和運行你感興趣的程序。
auto@Auto-desktop:~$ export DISPLAY=10.3.164.70:0.0
auto@Auto-desktop:~$ gvim&
[1] 22652
auto@Auto-desktop:~$ oowriter&
其中環境變量DISPLAY中的:0.0部分表示X server的display和screen。display指運行著X server實例。如果使用TCP/IP連接,表示的是端口6000+display號做為連接。screen代表X server上的不同輸出設備。我在例子中執行gvim和openoffice.org-writer,運行的效果可看下面的截圖。在ubuntu上運行著的gvim和openoffice都在我本機10.3.164.70上顯示了,并且可操作。
有用的鏈接
Cgywin/X FAQ 在碰到一些操作問題時,不妨先看看這份FAQ
使用cygwin X server實現Linux遠程桌面 easwy介紹了KDE環境下的配置,部分受此啟發
使用rxvt做為cygwin終端 碰到rxvt中文顯示問題時,或許有幫助
posted on 2008-07-03 21:55
len 閱讀(5374)
評論(0) 編輯 收藏 引用 所屬分類:
IT技術