Cygwin
| 華夏公益教科書使用者認為此頁面應該被拆分為更小的頁面,包含更窄的子主題。 您可以透過將這個大頁面拆分為更小的頁面來幫助我們。請確保遵循命名規則。將書籍分成更小的部分可以提供更多關注點,並允許每個部分做好一件事,這對每個人都有益。 |

Cygwin/X 是透過使用標準 Cygwin 安裝程式從 X11 類別中選擇必要的軟體包來安裝的。不確定需要哪些軟體包的使用者應該安裝所有 X11 元件。
您可以本地執行 X 伺服器和視窗管理器,並獲得 X 視窗 GUI 環境。
您可以透過多種方式實現這一點。它們如下所示
在多視窗模式下,有一個內部視窗管理器建立一個 Windows 視窗,以在 Windows 桌面上顯示 X 應用程式。
X 是指向 /usr/X11R6/bin/XWin 的軟連結(從 Windows 的角度來看是快捷方式)。
- 啟動 Cygwin
- 執行命令,
X -multiwindow &。(Cygwin/X 窗口出現) - 執行命令,
export DISPLAY=127.0.0.1:0.0 - 執行命令,
xclock &。(xclock 出現)。
現在您可以執行任何 X 應用程式。它們將在單獨的視窗中以獨立的視窗標題欄、標題按鈕和邊框開啟。在這種情況下,您不會獲得桌面環境。
- 從安裝 Cygwin 的
usr\X11R6\bin\資料夾執行 startxwin.bat。這可以透過雙擊批處理檔案來完成。它將彈出一個 xterm 視窗。如果您不想費心尋找此檔案,您只需執行 startxwin-multiwindow.bat 檔案,該檔案應該存在於您的桌面上。這兩個指令碼非常相似。 - 在 xterm 視窗中執行命令,
xclock &。(xclock 出現)。
現在您可以執行任何 X 應用程式。它們將在單獨的視窗中以獨立的視窗標題欄、標題按鈕和邊框開啟。在這種情況下,您不會獲得桌面環境。
- 啟動 Cygwin(Bash Shell 出現)
- 執行命令,
startxwin.sh &。它將彈出一個 xterm 視窗。 - 在 xterm 視窗中執行命令,
xclock &。(xclock 出現)。
現在您可以執行任何 X 應用程式。它們將在單獨的視窗中以獨立的視窗標題欄、標題按鈕和邊框開啟。在這種情況下,您不會獲得桌面環境。
- 啟動 Cygwin(Bash Shell 出現)
- 執行命令,
startx &。它將彈出一個 xterm 視窗。 - 在 xterm 視窗中執行命令,
xclock &。(xclock 出現)。
現在您可以執行任何 X 應用程式。它們將在單獨的視窗中以獨立的視窗標題欄、標題按鈕和邊框開啟。在這種情況下,您不會獲得桌面環境。
如果您希望完整的桌面環境,則必須執行視窗管理器或 Linux 桌面以將 GUI 傳送到您的 X 伺服器。本節將討論此主題。
X 是指向 /usr/X11R6/bin/XWin 的軟連結(從 Windows 的角度來看是快捷方式)。
- 啟動 Cygwin(Bash Shell 出現)
- 執行命令,
X &。(Cygwin/X 窗口出現) - 執行命令,
export DISPLAY=127.0.0.1:0.0 - 執行命令,
wmaker & - 檢查您的 Cygwin/X 視窗。您獲得了桌面。 :-)
在下文中,我們將假設以下 IP 地址和使用者名稱:
- remote_box - 遠端機器的 IP 地址或域名
- my_system - 您的 Windows 系統的 IP 地址或域名
- user_name - 遠端機器中的有效帳戶
對於本節中描述的某些方法,應在遠端機器中啟用 X 轉發。這是否已啟用可以從遠端機器的 /etc/ssh/sshd_config 檔案中查閱。
如果存在一行 X11Forwarding yes,則表示已啟用 X11 轉發,您可以繼續執行以下步驟。
如果它為 X11Forwarding no,則表示已停用 X11 轉發。您可以編輯它以啟用它。當然,這隻能由“root”使用者完成。如果您需要啟用 X11 轉發但不是該機器的“root”使用者,則必須與管理員聯絡。
在多視窗模式下,有一個內部視窗管理器建立一個 Windows 視窗,以在您的 Windows 桌面上顯示 X 應用程式。
X 是指向 /usr/X11R6/bin/XWin 目錄的軟連結(從 Windows 的角度來看是快捷方式)。
- 啟動 Cygwin(Bash Shell 出現)
- 執行命令,
X -multiwindow &。(Cygwin/X 窗口出現) - 執行命令,
export DISPLAY=127.0.0.1:0.0 - 使用命令
ssh -X user_name@remote_box登入到遠端機器 - 執行命令,
xclock &。(xclock 出現)。
現在您可以執行遠端機器上的任何 X 應用程式。它們將在單獨的視窗中以獨立的視窗標題欄、標題按鈕和邊框開啟。在這種情況下,您不會獲得桌面環境。
要使上述方法起作用,必須在遠端機器中啟用X11 轉發。
- 從安裝 Cygwin 的 `usr\X11R6\bin\` 資料夾中執行 `startxwin.bat`。可以透過雙擊批處理檔案來實現。這將彈出一個 xterm 視窗。如果您不想費心尋找這個檔案,可以直接執行桌面上的 `startxwin-multiwindow.bat` 檔案。這兩個指令碼完全相同。
- 執行命令 `xhost remote_box` 為執行在 Cygwin 上的 X 伺服器提供遠端機器訪問許可權。或者,您可以執行命令 `xhost +` 完全停用訪問控制,以便任何客戶端都可以連線到您的 X 伺服器。
- 使用命令
ssh -X user_name@remote_box登入到遠端機器 - 在遠端機器上執行命令 `export DISPLAY=my_system:0.0`。
- 在 xterm 視窗中執行命令,
xclock &。(xclock 出現)。
現在您可以執行遠端機器上的任何 X 應用程式。它們將在單獨的視窗中以獨立的視窗標題欄、標題按鈕和邊框開啟。在這種情況下,您不會獲得桌面環境。
如果遠端機器中啟用了 X11 轉發,您可以省略步驟 2 和步驟 4。
- 啟動 Cygwin(Bash Shell 出現)
- 執行命令,
startxwin.sh &。它將彈出一個 xterm 視窗。 - 執行命令 `xhost remote_box` 為執行在 Cygwin 上的 X 伺服器提供遠端機器訪問許可權。或者,您可以執行命令 `xhost +` 完全停用訪問控制,以便任何客戶端都可以連線到您的 X 伺服器。
- 使用命令
ssh -X user_name@remote_box登入到遠端機器 - 在遠端機器上執行命令 `export DISPLAY=my_system:0.0`。
- 在 xterm 視窗中執行命令,
xclock &。(xclock 出現)。
現在您可以執行遠端機器上的任何 X 應用程式。它們將在單獨的視窗中以獨立的視窗標題欄、標題按鈕和邊框開啟。在這種情況下,您不會獲得桌面環境。
如果遠端機器中啟用了 X11 轉發,您可以省略步驟 3 和步驟 4。
- 啟動 Cygwin(Bash Shell 出現)
- 執行命令,
startx &。它將彈出一個 xterm 視窗。 - 執行命令 `xhost remote_box` 為執行在 Cygwin 上的 X 伺服器提供遠端機器訪問許可權。或者,您可以執行命令 `xhost +` 完全停用訪問控制,以便任何客戶端都可以連線到您的 X 伺服器。
- 使用命令
ssh -X user_name@remote_box登入到遠端機器 - 在遠端機器上執行命令 `export DISPLAY=my_system:0.0`。
- 在 xterm 視窗中執行命令,
xclock &。(xclock 出現)。
現在您可以執行遠端機器上的任何 X 應用程式。它們將在單獨的視窗中以獨立的視窗標題欄、標題按鈕和邊框開啟。在這種情況下,您不會獲得桌面環境。
如果遠端機器中啟用了 X11 轉發,您可以省略步驟 3 和步驟 4。
- 開啟 PuTTY
- 從類別樹中選擇“會話”,然後輸入主機詳細資訊。
- 從類別樹中選擇“連線 > SSH > X11”,並選中“啟用 X11 轉發”複選框。
- 單擊“開啟”並登入。
- 在您的 Windows 機器上執行一個 X 伺服器。有多種方法可以做到。
- 開啟 Cygwin 並執行 `X -multiwindow &`。
- 從 Windows 執行 `startxwin.bat` 或開啟 Cygwin 並執行 `startx`、`startxwin.sh`。會開啟一個額外的 xterm,這可能很麻煩,因為您不需要它。(前兩步可以幫您省去這個步驟)。
- 返回到您的 PuTTY 視窗並執行命令 `xclock &`(xclock 會彈出來)。
- 檢視您的 Cygwin/X 視窗。(您已經獲得了桌面 :-))。
要使此方法有效,遠端機器中應啟用 X11 轉發,並且您應該使用 SSH 協議登入到遠端機器。
如果您想省去前四個步驟,只需將 PuTTY 目錄的路徑新增到 Windows PATH 環境變數中,或者只需將 PuTTY.exe 放到 Windows 目錄中即可。此後,您只需從任何位置執行命令 `putty -X user_name@remote_host`,然後繼續執行步驟 5。
如果您想要遠端機器的完整桌面環境,您需要在遠端機器上執行一個視窗管理器或 Linux 桌面,並將 X 輸出轉發到 Windows PC 的 X 伺服器,以便您可以在 X 伺服器上看到 GUI。本部分討論如何實現這一點。
X 是指向 /usr/X11R6/bin/XWin 目錄的軟連結(從 Windows 的角度來看是快捷方式)。
- 啟動 Cygwin(Bash Shell 出現)
- 執行命令,
X &。(Cygwin/X 窗口出現) - 執行命令,
export DISPLAY=127.0.0.1:0.0 - 使用命令
ssh -X user_name@remote_box登入到遠端機器 - 在機器上執行命令 `wmaker &`。
- 檢視您的 Cygwin/X 視窗。您已經獲得了遠端機器的桌面 :-)。
要使上述方法起作用,必須在遠端機器中啟用X11 轉發。
- 開啟 PuTTY
- 從類別樹中選擇“會話”,然後輸入主機詳細資訊。
- 從類別樹中選擇“連線 > SSH > X11”,並選中“啟用 X11 轉發”複選框。
- 單擊“開啟”並登入。
- 執行命令 `X &` 在您的 Windows 系統上執行 Cygwin X 伺服器。
- 返回到您的 PuTTY 視窗並執行 `wmaker &`。
- 檢視您的 Cygwin/X 視窗。(您已經獲得了桌面 :-))。
要使此方法有效,遠端機器中應啟用 X11 轉發,並且您應該使用 SSH 協議登入到遠端機器。
如果您想省去前四個步驟,只需將 PuTTY 資料夾的路徑新增到 Windows PATH 環境變數中即可。此後,您只需從任何位置執行命令 `putty -X user_name@remote_host`,然後繼續執行步驟 5。
- 安裝 Cygwin,包括 X11 客戶端和安全外殼 SSH。
- 透過單擊 Cygwin 圖示啟動 Cygwin Bash Shell。
- 啟動 X 伺服器(這將在 X 視窗中開啟另一個 Bash Shell)。
$ /usr/X11R6/bin/startx
- 透過將遠端伺服器新增到訪問控制列表,允許遠端計算機 X 客戶端訪問您的本地計算機。
$ xhost +RemoteServerName or IP Address
- 使用 ssh 訪問遠端計算機。系統將提示您輸入使用者名稱和密碼。
$ ssh -X +RemoteServerName or IP Address
- 在遠端計算機上,以後臺模式執行要執行的程式。
$ +ProgramYouWant &
- 將 Cygwin 安裝到預設目錄 `C:\cygwin\` 中,以保持一致性。您也可以將路徑設定得更長,例如,為了保留多個版本的 Cygwin。
- 安裝時,選中 `cygrunsrv` 選項,以允許將 `sshd` 作為 Windows 服務執行。
- 要使用 **rxvt** 作為首選控制檯,請建立一個 Windows 快捷方式,並將 **目標** 設定為 `C:\cygwin\bin\rxvt.exe --loginShell -sr`,並將 **起始位置** 設定為 `C:\cygwin\bin`。
- 要放大控制檯視窗並新增標題,請將 `-geometry "80x50" -title Cygwin` 新增到 **目標** 中。
- 要啟動 SSH 會話,請將 `-e ssh user@machine.name.com` 新增到 **目標** 中。
- 要將預設主目錄更改為基於 NT 的 Windows(NT/2000/XP/2003/Vista)上的 `My Documents`,請建立一個名為 **HOME** 的環境變數,其值為 `C:\DOCUME~1\USERNAME\MYDOCU~1`(其中 `USERNAME` 是您的 Windows 登入使用者名稱)。
- 建立一個名為 **SHELL** 的環境變數,其值為 `/bin/bash`。
- 確保將 `c:\cygwin\bin;` 新增到 **Path** 環境變數中。
- 要將 `cygdrive` 的字首從 `/cygdrive` 對映到 `/`,請執行一次以下命令:`mount -s --change-cygdrive-prefix /`
- 或者保留 `cygdrive` 的原樣,併為每個驅動器建立對映(例如 `mount -u C: /C`)。
- Emacs 和 vi 是最流行的編輯器,但 Nano 最易於使用。
- 在 **HOME** 目錄中建立一個名為 `.bash_profile` 的檔案,其中包含以下行。
- alias dir='ls -lav—color=auto'
- EDITOR=nano; export EDITOR
- VISUAL=nano; export VISUAL
- 要使用 `clear` 命令,請安裝 ncurses 包(位於 `lib` 類別中)。