在樹莓派Raspbian下安裝支援Hard Float的.NET環境
【題外話】
最近入了個樹莓派玩,系統裝的官方推薦的Hard Float的Raspbian,由於衍生自Debian,所以Mono什麼的非常好裝。但是官方源中的Mono在Hard Float的Raspbian下是沒法完整支援.NET程式的,比如沒法在LXDE上執行Winform,但是裝Soft Float的話又感覺很虧,所以我們要在Hard Float的Raspbian下裝支援Hard Float的.NET環境。
【文章索引】
【一、安裝支援Hard Float的Mono】
Raspberry的論壇上有好心人編譯好了Raspberry能用的支援Hard Float的Mono,所以我們分別敲入下列程式碼安裝即可,而且壓縮包內都是按目錄分好的,直接解壓縮到“/”下即可,Mono將安裝在“/usr/local/”下。
1 cd ~ 2 wget https://www.dropbox.com/s/sask17flot3zqlg/mono_2_11_4_armv6hf_binary.tgz 3 cd / 4 sudo tar zxf ~/mono_2_11_4_armv6hf_binary.tgz 5 sudo ldconfig
如果要是之前已經安裝過Mono的話,需要先將其完全刪除,然後再進行安裝。刪除可以使用以下命令:
1 sudo apt-get remove mono-complete mono-runtime mono-common cli-common libmono0 2 sudo apt-get remove --purge mono-runtime libmono-2.0 libmono-profiler mono-devel monodoc-browser
裝完後可以輸入mono -V看下,有了hardfp-abi好高興!(圖中下圖是官方源中的Mono)
【二、安裝Gtk#】
裝支援Hard Float的Mono就是為了這玩意,由於安裝的Mono不是從官方源中安裝的,所以從這步開始的很多元件都只能自己下載原始碼進行編譯安裝了。
首先安裝必須的元件
1 sudo apt-get install automake libtool libgdiplus libpango1.0-dev libatk1.0-dev libgtk2.0-dev libglade2-dev
然後下載Gtk#並安裝
1 cd ~ 2 wget http://ftp.gnome.org/pub/gnome/sources/gtk-sharp/2.12/gtk-sharp-2.12.10.tar.gz3 tar zxf gtk-sharp-2.12.10.tar.gz 4 cd gtk-sharp-2.12.10/ 5 ./configure 6 make 7 sudo make install
裝完後去LXDE下就能開啟Winform的程式了。不過如果locale設定的不是zh-cn的話,即使安裝了中文字型,介面中的字仍然是方塊,如下圖。
比較簡單的方法是修改字型的對映,我們可以修改“/etc/fonts/conf.d/49-sansserif.conf”,將最後<edit></edit>中的sans-serif修改為喜歡的中文字型即可,比如“WenQuanyi Micro Hei”,如下圖。
【三、安裝xsp】
在Linux下除了能跑Winform的程式外,比較有用的應該是跑Web應用,首先我們需要安裝xsp。
1 cd ~ 2 sudo wget http://download.mono-project.com/sources/xsp/xsp-2.10.tar.bz2 3 sudo tar jxf xsp-2.10.tar.bz2 4 cd xsp-2.10 5 ./configure 6 make 7 sudo make install
【四、安裝mod_mono】
如果喜歡使用apache2的話可以使用apache2的元件mod_mono來使apache2支援Mono,當然是用其他的Web伺服器也是可以的。
1 cd ~ 2 sudo wget http://download.mono-project.com/sources/mod_mono/mod_mono-2.10.tar.bz2 3 sudo tar jxf mod_mono-2.10.tar.bz2 4 sudo apt-get install apache2-threaded-dev 5 cd mod_mono-2.10 6 ./configure 7 make 8 sudo make install
不過由於Mono和Xsp並不是安裝在“/usr/”下,而是安裝在“/usr/local/”下,所以我們在配置的時候特別需要注意。比如可以使用MonoAutoApplication,即修改“/etc/apache2/mod_mono.conf”,在最後新增如下兩句:
1 MonoServerPath "/usr/local/bin/mod-mono-server2" 2 MonoAutoApplication enabled
然後將mod_mono.conf複製到“/etc/apache2/mods-enabled”下,然後重啟apache2即可。當然比較傳統的方式是將mod_mono.conf移動到mods-available下,然後再在mods-enabled下建立個連結。
【相關連結】