自從 Windows 10 支援 WSL (Windows Subsystem for Linux)以來,就開始會在上面寫一些 Shell scripts 來做一些自動化的事。工作上,即使沒有 WSL,還是會用 Cygwin 來跑一些 Shell Script 以方便自動測試,現在不論生活上或工作上,真的都離不開 Shell Script 了,因為真是太方便了~~
不好用的 Terminal
但是不論 WSL 還是 Cygwin,它們自帶的 Terminal 程式,基本上都是用 DOS Prompt 去執行的,而 DOS Prompt 跑起來一直都不太好用,複製上的習慣也都不若常用的 Teraterm。
因此,本篇文章就是要來說明如何用 Teraterm 來做登入,用最習慣的環境來操作 Linux-Like 的環境。
安裝 WSL
本文從最基礎的 WSL 安裝開始說明,做一個完整的教學。
首先進入 Win10 的設定,選擇應用程式。
進入後會列出目前安裝的程式列表,載入完畢後點擊右邊的「程式和功能」。
跳出來的畫面就與之前 Win7 應用程式管理方式相同,點擊「開啟或關閉 Windows 功能」。
接著會跳出 Windows 內建功能的安裝表,可以看到 Windows 其實還內建了很多沒啟用的功能。找到 「Windows 子系統 Linux 版」,勾選後,按確定,安裝完畢後重開即可。
安裝 Ubuntu 20.04 環境
從開機後,開啟 Microsoft Store 程式(在搜尋的地方找 Store就有),搜尋 Ubuntu,就會列出各個不同版本的 Ubuntu 發行版本,這邊選擇最新的 20.04 進行安裝。
安裝完後,從執行的地方輸入 ubuntu,就可執行 Ubuntu 的使用環境了。第一次使用會先進行設定,輸入想要的帳號與密碼。請依喜好設定即可,後續都可再清除。
安裝 busybox 的內建 telnet server 功能
為了要可以用一般的 Teraterm 程式來登入,我們會安裝 telnet server 的功能來讓用戶登入。而 telnet server 選用的是 busybox 內建的版本,busybox 較容易取得,同一套流程也可以套用在 cgywin 上。
要安裝 busybox,請下達 「sudo apt-get installl busybox」,若是 cygwin 的話請在cygwin安裝程式內找 busybox 進行安裝。
接下來我們編輯 terminal 的啟動命令檔,當開啟 ubuntu 環境時,就會開啟 telnet server,關閉時 telnet 連線也會自動關閉。
我們編輯 ~/.bashrc 檔案,在最後面加入一行
1 |
busybox telnetd -b 127.0.0.1:2323 -l /bin/bash -F & |
這樣就會在 port 2323 接受本地端的 telnet 連線。
開始使用
編輯完畢後,先把目前的 ubuntu 視窗關閉,然後再開啟,這樣 telnet server 就會啟動。接著,打開 Teraterm 來對 127.0.0.1 port 2323 進行 telnet 連接,就可以看到成功登入的畫面。
成功登入後,就可以使用較習慣的方式來操作了,包含文字複製的方式,或者是抓 log 和 teraterm TTL 都可以使用,對於要寫比較多的程式時,加快了不少方便性。若有需要,也可以另外安裝 SSH Server 以取代 Telnet,這樣就可以 SCP 進行拖拉的檔案傳輸了。
教學加碼,重設 Ubuntu 環境
有時因為長時間測試的關係,在 Ubuntu 下會裝了很多程式,導致系統變得肥大。WSL 的好處,就是可以快速的來個一鍵重置,把這些東西都清除掉,還給你一個乾淨的環境。
同樣的也是從設定打開應用程式,找到 Ubuntu 項目,點選進階選項。找到重設的地方,按下後就可以清除一切的東西了,開啟Ubuntu時,就會再度要求輸入新的帳號跟密碼了。
結語
WSL 對於常使用 Linux 的人帶來了很大的便利,除了可以用熟悉的腳本方式來撰寫自動化程式,也可以使用其它的程式如 SVN / Git / Apache 來架設 Local Server,如果再配合 Google Drive,真的是一套非常適合個人使用的雲端工作系統了。