先強調一下,我是在Ubuntu里安裝windows虛擬機,如果要看如何安裝linux虛擬機的話,那么你走錯地方了.
我一直使用Linux系統做開發的,選擇Ubuntu是因為多數常用軟件對Ubuntu支持的不錯,能少折騰就少折騰,程序員的時間不能全瞎折騰.
問題是!!!,現在連公司VPN只能用的深信服的EasyConnect客戶端,這個客戶端目前沒有穩定的Linux官方或是第三方支持版,我折騰一陣子着實沒辦法,只能上windows虛擬機了.
#環境准備
1.Ubuntu版本(宿主機):

2.virtualbox安裝
1.virtualbox可以直接使用 sudo apt-get install virtualbox安裝
2.https://www.virtualbox.org/ 直接下載對應的Ubuntu18.04發行版,然后執行sudo dpki -i xxx.deb, 如果提示缺少包就先安裝依賴包.
3.准備一個Windows鏡像, 即一個windows系統的iso文件
推薦這個網站 https://msdn.itellyou.cn/ ,上面可以下載到純凈的windows鏡像,不像其他國內軟件站的鏡像,安裝完系統后多了一堆垃圾軟件.
對了,這里我選擇windows7,因為我不會為這個虛擬機分配太多的資源(就2G內存) ,因為我覺得win7比較合適.
PS:事實證明2G內存的Windows7使用起來也非常地流暢.
4.打開virtualbox,創建一個虛擬機.
創建虛擬機的過程很簡單,這里就不說了,重點是后面.
#過程和排錯記錄
1.windows分辨率識別有問題
2.共享文件夾,粘貼板,文件拖拽無法使用
這兩個問題一般安裝一下增強功能就能實現:
1.確保虛擬機處於運行的狀態下
2.選擇設備->安裝增強功能.
我這里選擇后提示虛擬光驅未配置,請在設置->存儲中先添加虛擬光驅之類的問題,然后根據提示,點擊下面這個小圖表(更改配置需要先關閉虛擬機),

添加后再啟動虛擬機.
3.再次點擊安裝增強功能后不報錯,但沒有反應.
這里我們直接手動安裝即可,在我的電腦里找到這個光驅,點進去.

然后點擊下面這個安裝程序,進行安裝即可.

4.重啟virtualbox,重啟虛擬機,增強功能安裝成功.一般到這里上面兩個問題就解決了.
3.安裝和使用secureCRT.
首先,windows下的telnet客戶端主要有putty,xshell,和secureCRT. putty開源,但功能太單一,xshell從來沒用過,這里直接上secureCRT.
1.下載和安裝secureCRT
secureCRT是收費軟件,並且不像windows縱容盜版,一般不是很好破解,這里推薦一個下載地址.
這里我推薦這個 https://blog.csdn.net/gbh666666/article/details/88029042
2.使用secureCRT的一些推薦配置
1.外觀更改
默認的外觀如下,平時習慣了多彩顯示的linux終端,這種界面無法忍受.

選擇配置選項->會話選項,配置為如下情況:

還是這種黑底白字+多彩顯示的界面好看.字體是consolas, 大小12.

3.secureCRT編碼問題的解決.
如果有用過putty的同學,這里可能會想secureCRT是不是內嵌了一套putty的那個東西,因為這里遇到的編碼問題和putty一樣
1.首先說明幾個點:
1.我這里裝的是windows7中文版,默認編碼GBK,windows系統默認編碼是無法更改的.
2.服務器默認編碼是UTF-8, 可以輸入locale進行確認.
2.為了保證你能編輯中文,並且在服務器也能正常讀取編輯中文, (比如寫的shell腳本含有中文注釋或中文輸出),你需要統一編碼.
目前主流的開發環境都是UTF-8編碼了,我們也沒啥好糾結的,在會話選項進行如下配置.

3.亂碼依然存在
如果不進行步驟2,你是無法和服務器一起處理編輯中文文件的, 因為你輸入的中文會按GBK編碼寫入文件 和解碼並打印到屏幕 ,服務器上會按UTF-8編碼
和解碼打印到屏幕,因為進行步驟2可以保證工作能夠繼續進行.
但是,當你使用某些命令是,發現輸出亂碼,這是由於secureCRT所在的操作系統是windows,默認編碼是GBK,有些命令並不讀取locale獲得編碼
,而是直接讀取系統調用,那么得到的編碼就是GBK,就是說你怎么設置都沒用了.
這個問題和Cygwin中亂碼的問題是一個原因,官方的解釋如下

4.傳輸文件遇到的問題.
在secureCRT中,可以輸入 rz上傳文件,輸入sz下載文件,一般服務都會安裝這個包,沒有話自己安裝一個即可
使用sz下載沒有問題,發現在用rz上傳時,傳着傳着就會話就卡住了,只能重登,而且文件還是上傳失敗,最后從網上找到答案,使用 rz -be
就能解決問題. 至於-b -e的意思, 輸入man rz自己看下就明白了
