1. 程式人生 > >虛擬機器和主機之間文字的複製和貼上

虛擬機器和主機之間文字的複製和貼上

我們經常在虛擬機器平臺下的linux shell內執行命令如編譯或執行某些程式時出錯,這時想把錯誤的程式碼或執行情況複製到windows平臺下貼上到網上論壇內求助。但直接在虛擬機器下複製shell內的字元,在windows環境下是貼上不了的,如何使在windows環境下能夠複製貼上虛擬機器內linux shell中的字元呢,我們可以通過三種辦法解決這個問題。

一:通過ssh
     這種方法需要虛擬機器內的linux安裝ssh服務,預設是安裝的。為確保sshd服務是開啟的,redhat平臺可通過shell下執行命令:redhat-config-services,在彈出的服務配置視窗中檢視sshd服務是否已開啟,若沒有開啟,勾上sshd選項,重起執行。若linux沒有安裝ssh服務,下載ssh包重新安裝一下。
     ssh服務執行後,在windows平臺下下載ssh客戶端程式安裝,執行ssh客戶端,點選quick connect,輸入虛擬機器linux的IP地址、使用者名稱,埠預設22,提示輸入密碼後,即可登入linux ssh服務端。登入後可以在ssh客戶端的shell環境下執行linux命令,就如同在linux本地執行一樣,非常方便。ssh的shell環境下是可以複製當前shell內的字元的,並且可以在windows內貼上。這樣就可以將執行命令後的一些錯誤資訊貼上儲存到文字檔案或貼上到論壇上求助。還有一點需注意的是,虛擬機器下的linux和本地windows的ip地址應在同一網段,否則ssh客戶端程式是連線不上linux的ssh服務端的。linux下設定網絡卡IP的命令是ifconfig,如:ifconfig eth0 192.168.0.2 ,eth0為虛擬機器預設網絡卡名。

二:通過VMware Tools
     虛擬機器安裝過VMware Tools後,如果正在執行 VMware Tools,你可以在虛擬機器和主機的應用程式之間或者在兩臺虛擬機器之間複製和貼上文字。
要進行復制和貼上:
     1.   確保在你的虛擬機器中已經安裝並且啟動 VMware Tools。
     2.   使用來源視窗中的作業系統支援的方式在來源視窗中選擇要複製的專案。
     3.   更改游標和鍵盤控制到目標視窗,然後使用目標視窗中的作業系統支援的方式貼上專案。
你只能複製和貼上文字,而不是圖片或者其他專案。
(如何使用VMware Tools可參考相關資料)

三:通過linux的命令重定向
     將執行linux命令返回的資訊重定向到一個文字檔案,比如./gdbserver 192.168.0.1:1234hello>&info.txt ,"&"指輸出所有資訊。然後通過某種方式將包含輸出資訊的文字檔案info.txt拷回到windows下就可以查看了。拷貝的方式很多,ssd、ftp、虛擬機器自帶的共享檔案功能等等。這裡舉一個簡單的例子,ssh本身就自帶了一個檔案傳輸功能,windows下ssh客戶端連線上虛擬機器服務端後,點選工具欄上的new file transfer window ,即可開啟一個類似cuteftp的檔案傳輸介面,在這裡可以進行簡單的檔案上傳和下載,比較方便。
    
     這裡提出了三種解決辦法。若你經常使用ssh的話,無疑第一種辦法是最簡單方便的,而且ssh本身功能十分強大,同時提供了shell終端、檔案傳輸等功能,操作比較方便,而且安全性高。若你不會使用ssh,第二種辦法也較為方便,只是要注意每次在主機和虛擬機器之間相互複製文字前都必須先執行vmware-toolbox ,方法是虛擬機器安裝vmware tools後直接在shell內執行:vmware-toolbox命令。第三種辦法較適合於處理大量資料。如要進行復制和貼上的文字較多時可以使用檔案來傳輸。

 

注意:採用第二種方法時需要在終端輸入vmware-toolbox.命令,如果出現Gtk-WARNING **: Failed to load module "libgnomebreakpad.so": libgnomebreakpad.so: cannot open shared object file: No such file or directory錯誤,則是庫檔案的註冊出了問題,請參考下一篇文章迷失的 "libgnomebreakpad.so" ==Failed to load module "libgnomebreakpad.so"