在FreeBSD上運行Windows軟件
FreeBSD最大的優(yōu)勢是,在一臺雙啟動計算機上,無需退出FreeBSD就能夠訪問其他操作系統(tǒng)分區(qū)中的數(shù)據(jù)。在FreeBSD中安裝其他分區(qū)后,讀、寫或者刪除該分區(qū)的文件是相當簡單的。也許有讀者會問,在FreeBSD中能夠執(zhí)行其他分區(qū)中的可執(zhí)行文件嗎?如果安裝的另外一種操作系統(tǒng)是微軟開發(fā)的,并且在在FreeBSD上運行有Wine(一種Windows操作系統(tǒng)模擬器),那就能夠在FreeBSD上運行許多Windows應用程序。 在本篇文章中,我將討論如何配置和使用Wine,在一臺專門運行FreeBSD、其硬盤上不包含Windows分區(qū)的計算機上運行一些Windows軟件。 我們將從向網(wǎng)絡中的二臺計算機上安裝Wine開始。第一臺計算機可以使用Windows98和 FreeBSD 4.3雙啟動,第二臺機器只安裝有FreeBSD4.3。下面我們將以超級用戶身份登錄計算機,開始安裝Wine: su Password: cd /usr/ports/emulators/wine make install clean;
安裝完畢后,我們需要檢查每臺機器的內核配置文件,確認它包含運行Wine所必需的所有選項。我們仍然以超級用戶的身份進行如下的檢查: cd /usr/src/sys/i386/conf cp GENERIC WINE 然后,使用文本編輯器打開WINE,確保其中包含下面的4個選項: options USER_LDT options SYSVSHM options SYSVSEM options SYSVMSG;
在我們的FreeBSD 4.3中,3個以SYS開頭的選項已經(jīng)有了,我只需要添加USER_LDT選項即可。如果添加了任何選項,則必須保存所作的修改,并執(zhí)行下面的命令,新編譯操作系統(tǒng)內核: /usr/sbin/config WINE cd ../../compile/WINE make depend && make && makeinstall && reboot;
上面最后一行命令實際上包含4條獨立的命令,&&符號可以使只有上一條命令執(zhí)行完畢,下一條命令才能執(zhí)行。如果其中包含有reboot命令,要確保在執(zhí)行期間沒有其他用戶在執(zhí)行其他命令。 Wine安裝成功后,文檔被安裝在了man 1 wine和/usr/local/share/doc/wine中。對于第一次安裝Wine的用戶而言,這個文檔非常有用。 我們首先在FreeBSD 4.3和Windows 98雙啟動的計算機上運行Wine。為了在這臺計算機上運行Wine,我們需要完成如下的準備工作: 1、查找并安裝Windows partition。 2、雙擊Wine的配置文件。 3、通過是否能夠運行Windows應用程序,測試Wine的配置。 由于在這臺計算機上安裝FreeBSD 4.3已經(jīng)有一段時間了,因此我們需要使用sysinstall再次檢查分區(qū)情況。以超級用戶身份執(zhí)行下面的命令: /stand/sysinstall Configure Fdisk spacebar ad0;
我們會看到如下的屏幕顯示:
Offset; Size(ST);;;;;End;;Name;PTypeDesc 0;;;63 62;;;;;-;;;;6unused 63 4176837;4176899;ad0s1;;;;2;;;fat 4176900 4016250;8193149;ad0s2;;;;3; freebsd;
看完后,我們使用q命令退出屏幕,中斷sysinstall的運行。Windows應該是安裝在被FreeBSD識別為ad0s1的FAT格式分區(qū)中。為了安裝這一分區(qū),我們需要首先創(chuàng)建一個被稱作dos的安裝點: mkdir /dos 下面我們來檢查這一安裝點的權限: ls -l / | grep dos drwxr-xr-x 2 root wheel 512 Aug 31 13:07dos;
所有用戶都有read(讀)和execute(執(zhí)行)權限,只有根用戶才享有write(寫)權限。 在向/etc/fstab添加一個永久的安裝點前,我們需要確定可以以手動方式無誤地安裝那一個分區(qū): mount -t msdos /dev/ad0s1 /dos;
注意:我們使用了-t msdos來指定文件系統(tǒng)的類型,使用/dev/ad0s1指定了分區(qū)的名字,安裝點的名字為/dos。由于已經(jīng)收到了系統(tǒng)返回的提示,安裝是成功的,我們還可以使用df命令確認一下: df -h Filesystem Size Used Avail Capacity Mountedon /dev/ad0s2a 97M 36M 53M 40% / /dev/ad0s2f 1.7G 567M 1.0G 35% /usr /dev/ad0s2e 19M 2.0M 16M 11% /var procfs 4.0K 4.0K 0B 100% /proc /dev/ad0s1 2.0G 783M 1.2G 38% /dos;
我們還可以使用ls命令來確認一下安裝分區(qū)的內容,使用F開關可以通過在目錄中添加一個/字符把文件和目錄區(qū)分開。
ls -F /dos
AUTOEXEC.BAT*COMMAND.COM*;MSDOS.SYS*;;;SCANDISK.LOG* BOOT.INI*;;;;CONFIG.SYS*;;My Documents/SETUPLOG.TXT* BOOTLOG.PRV*;DETLOG.TXT*;;NETLOG.TXT*;;WINDOWS/ bootsect.bsd*IO.SYS* Program Files/; RECYCLED/ ntdetect.com*ntldr*
如果讀者在此前沒有安裝過任何其他操作系統(tǒng)的分區(qū),需要花幾分鐘的時間來熟悉一下cd和ls命令。需要注意的是,F(xiàn)reeBSD對大小寫是敏感的,需要正確地輸入命令和文件名。一些文件名中有空格,可以通過先輸入文件名然后使用tab鍵自動完成文件名的輸入或者象下面的格式那樣使用符號跳過文件名中的空格: cd Program Files;
如果希望Windows分區(qū)在啟動時就安裝在系統(tǒng)上,可以小心地在/etc/fstab文件中添加下面的命令: /dev/ad0s1 /dos msdos rw 0 0;
注意一定要正確地輸入分區(qū)名。我們應該通過輸入下面的命令確保對/etc/fstab文件的修改有效: shutdown now;
再次回到提示符狀態(tài)下時按回車鍵,然后再輸入下面的命令: exit;
一旦能夠登錄,就可以再次使用df -h命令確保分區(qū)已經(jīng)安裝成功。 下面我們來編輯Wine的配置文件。使用文本編輯器打開/usr/local/etc/wine.conf文件,由于缺省的配置文件無需任何改變就能使系統(tǒng)正常運行,下面我們將省略掉大部分輸出,只顯示為匹配我們的配置而需要修改的部分: more /usr/local/etc/wine.conf WINE REGISTRY Version 2 All keys relative to MachineSoftwareWineWineConfig <snip> [Drive A] 'Path' = '/mnt/fd0' 'Type' = 'floppy' 'Label' = 'Floppy' 'Serial' = '87654321' 'Device' = '/dev/fd0'
[Drive C] 'Path' = '/c' 'Type' = 'hd' 'Label' = 'MS-DOS' 'Filesystem' = 'win95' <snip>
這就是需要修改的部分,用你的安裝點的名字取代Path一行中的/c,由于我的安裝點是/dos,因此,這一行應該改成這樣: 'Path' = '/dos';
保存所作的修改。我們會發(fā)現(xiàn),要使Wine能夠正常地工作,必須將這一配置文件拷貝到用戶的目錄中。下面,我們將以超級用戶的身分完成用戶genisis目錄需要的改動: mkdir ~genisis/.wine chown genisis ~genisis/.wine cp /usr/local/etc/wine.conf ~genisis/.wine/config;
在向genisis' .wine目錄進行拷貝時,我把配置文件的名字改成了config。至此,由于配置工作已經(jīng)完成,我們需要退出超級用戶帳號。我們將以用戶genisis的身份啟動XWindows: startx;
XWindows啟動成功后,我們將打開一個xterm窗口,尋找一個可供執(zhí)行的Windows應用程序: cd /dos/WINDOWS ls | more;
我們注意到了Windows程序管理器PROGMAN.EXE,下面我們來試試一下是否能夠通過Wine在FreeBSD上運行它: wine -winver win98 -managed PROGMAN.EXE;
經(jīng)過數(shù)秒鐘后,Windows程序管理器順利啟動成功了。點擊File(文件)菜單,然后選擇Run(運行)選項,點擊Browse(瀏覽)按鈕,就會顯示出一個在Windows分區(qū)中運行的應用程序的清單。 有興趣的讀者可以試試都有哪些應用程序能夠以這種方式運行,或者也可以參考相關的網(wǎng)站。 下面我們將做一些更有趣的探索性工作。以超級用戶身份登錄,看是否能夠通過Wine安裝Windows應用程序,并運行它。我們直接到Download.com上找應用程序,這個網(wǎng)站上的游戲很多,我們就下載Solsuite2001吧。下載它的可執(zhí)行文件solsuite.exe并保存在/dos中。退回到xterm窗口: cd /dos wine -winver win98 -managed solsuite.exe;
我們會看到一條有關沒有.wine目錄的返回信息,創(chuàng)建一個.wine目錄,并拷貝以超級用戶身份創(chuàng)建的配置文件: mkdir ~/.wine cp /usr/local/etc/wine.conf ~/.wine/config;
再次重復執(zhí)行wine命令時,程序的安裝向導就出現(xiàn)了,根據(jù)出現(xiàn)的提示將文件都拷貝到正確的目錄中。但在最后,安裝過程似乎停止了,但顯示的信息表明,安裝過程還需要的時間為0分0秒,使用Ctr+C鍵結束安裝過程,然后輸入下面的命令: cd Program Files/SolSuite wine -winver win98 -managed Solsuite.exe;
哈哈!我成功地在FreeBSD中安裝并運行了一個Windows應用程序。 那么在Windows 98中能夠運行我們剛才在FreeBSD上安裝的Solsuite2001嗎?下面我們就來試試吧!重新啟動計算機,讓它運行Windows 98操作系統(tǒng)。點擊“開始”菜單中的“程序”菜單項,我們會看到一個新的條目“Solsuite-Solitaire Card Games”,但它是空的,沒有內容。進入文件管理器Explorer,依次雙擊“程序文件”和SolSuite選項,會發(fā)現(xiàn)所有的可執(zhí)行文件都在這一文件夾中。然后依次雙擊Windows文件夾->開始菜單->程序->Solsuite,然后使用鼠標右鍵將SolSuite.exe文件拖到這一文件夾,出現(xiàn)一個菜單后,選擇“創(chuàng)建快捷方式”。 現(xiàn)在再依次點擊“開始”菜單->程序->Solsuite->SolSuite的快捷方式,這么樣,程序又開始運行了吧! 下面我們來解決在只安裝有FreeBSD的計算機上運行Windows應用程序的問題。首先我們需要以超級用戶的身份創(chuàng)建一些Windows應用程序需要乃至的目錄和空文件: su Password: mkdir -p /usr/local/lib/win/windows cd /usr/local/lib/win/windows mkdir system touch win.ini cd system touch shell.dll shell32.dll winsock.dll wsock32.dll
需要注意的是,我們必須修改/usr/local/etc/wine.conf中的Path一行內容,以便它能夠指向安裝點,這次它指向的是我們“假冒”的Windows目錄,我們把它改成如下的內容: [Drive C] 'Path' = '/usr/local/lib/win' 然后,我們創(chuàng)建恰當?shù)哪夸洠⑴渲梦募瑫r拷貝到超級用戶和用戶genisis的適當?shù)哪夸浿校?mkdir ~/.wine cp /usr/local/etc/wine.conf ~/.wine/config mkdir ~genisis/.wine chown genisis ~genisis/.wine cp /usr/local/etc/wine.conf ~genisis/.wine/config;
我們兩次以超級用戶身份到Download.com上下載Solsuite2001,并將它保存在/usr/local/lib/win,然后啟動XWindows,打開一個xterm窗口,并輸入下面的命令: cd /usr/local/lib/win wine -winver win95 -managed solsuite.exe;
Solsuite 2001的安裝程序界面再次出現(xiàn)了。我們會收到一條有關找不到Explorer.exe的命令,不要理它。安裝程序結束后,輸入下面的命令: cd Program Files/SolSuite wine -winver win95 -managed SolSuite.exe
速度有些慢(可能與這臺計算機比較舊有關吧),而且還需要對顯示進行一些調節(jié),但我們畢竟能夠在只安裝有FreeBSD的計算機上運行Windows平臺上的應用程序了。
相關文章:
