Win10 底下使用 Linux Terminal + zsh,VS code 也能吃
上上篇文章中提到我從 Ubuntu 跳到 Win10 最不習慣的就是終端機不好用且沒有我熟悉的指令。這幾天終於放暑假了發現到有幾個超好用的工具讓我對於 Win10 比較釋懷了。
這是一款 Windows 底下的 console 模擬器整合版,實際上是透過 ConEmu 這個模擬器來將 UNIX 指令轉換成 Windows 指令。還有使用 Clink 將一些 GNU 函式庫整進來等等。詳細介紹網路上很多我就不一一贅述。
配色方面我是採用 xterm,而該畫面中 tmux配置參考這邊
雖說 cmder 整合了不少東西,但還是有許多命令、工具是它沒有的,當然也可以透過安裝 cygwin 來實現,不過這也都只有非常基本的工具而已,幸好 Windows 出了 WSL,將 Linux 環境整合到 Windows 當中。
開啟方式網路上也很多,但我相當推薦這篇,裏頭順便講了如何在 VS code 裡面啟用 ZSH,對於測試程式是個相當實用的功能。也因為在 WSL 預設的終端機下會有中文亂碼問題,要解決也是可以,將預設 UTF-8 編碼改掉即可,不過直接使用 cmder 會更加方便。
當一切就緒後 port 也開了,會發現無法從另一台電腦連過來,使用
上面的連結設定頁面似乎跟現在的不太一樣,可以按照這篇去做設定,裡面也有安裝教學,可以交互參考。
按住
這邊我是使用 Steeef 主題,在
WSL 的 home 目錄就是它自己的 home 目錄,Windows 的 C 槽是掛載在 /mnt/c/ 中,而我有弄個 symlink 指到自己的 Windows 的使用者目錄方便我存取。
換到 WSL 之後,我就不用再去煩惱 Windows 的 Schedule Task 該怎麼使用,找了老半天不曉得為何就是沒反應,直接使用 crontab 就好XD。而使用 crontab 原因在於我需要 DDNS,目前宿舍房東沒有申請固定 IP address,有時候會需要從外面連回台操作拿檔案,因為目前的 domain name 託管於 Cloudflare 且有提供方便的 API,就寫了支簡單的小程式來更新 Cloudflare 上的 IP address。
cmder
這是一款 Windows 底下的 console 模擬器整合版,實際上是透過 ConEmu 這個模擬器來將 UNIX 指令轉換成 Windows 指令。還有使用 Clink 將一些 GNU 函式庫整進來等等。詳細介紹網路上很多我就不一一贅述。
配色方面我是採用 xterm,而該畫面中 tmux配置參考這邊
Windows Subsystem for Linux (WSL)
雖說 cmder 整合了不少東西,但還是有許多命令、工具是它沒有的,當然也可以透過安裝 cygwin 來實現,不過這也都只有非常基本的工具而已,幸好 Windows 出了 WSL,將 Linux 環境整合到 Windows 當中。
開啟方式網路上也很多,但我相當推薦這篇,裏頭順便講了如何在 VS code 裡面啟用 ZSH,對於測試程式是個相當實用的功能。也因為在 WSL 預設的終端機下會有中文亂碼問題,要解決也是可以,將預設 UTF-8 編碼改掉即可,不過直接使用 cmder 會更加方便。
openssh-server 出錯
當一切就緒後 port 也開了,會發現無法從另一台電腦連過來,使用
ssh -vvv
查看發現其實有連上,可是交換一些資訊後就突然被中斷連線,這篇文章有提到因為 WSL 預裝的 openssh-server 並不完整,因此建議刪除重裝。cmder 設定 zsh
上面的連結設定頁面似乎跟現在的不太一樣,可以按照這篇去做設定,裡面也有安裝教學,可以交互參考。
VS Code 設定 zsh
按住
Ctrl + Shift + P
輸入 Select Default Shell
即可找到 WSL Bash這邊我是使用 Steeef 主題,在
~/.zshrc` 裡面設定 `ZSH_THEME="steeef"
即可home 目錄設定
WSL 的 home 目錄就是它自己的 home 目錄,Windows 的 C 槽是掛載在 /mnt/c/ 中,而我有弄個 symlink 指到自己的 Windows 的使用者目錄方便我存取。
$ link -s /mnt/c/Users/USER_NAME MyHome
總結
換到 WSL 之後,我就不用再去煩惱 Windows 的 Schedule Task 該怎麼使用,找了老半天不曉得為何就是沒反應,直接使用 crontab 就好XD。而使用 crontab 原因在於我需要 DDNS,目前宿舍房東沒有申請固定 IP address,有時候會需要從外面連回台操作拿檔案,因為目前的 domain name 託管於 Cloudflare 且有提供方便的 API,就寫了支簡單的小程式來更新 Cloudflare 上的 IP address。
留言
張貼留言