1. 程式人生 > >在樹莓派Raspbian下安裝支援Hard Float的.NET環境

在樹莓派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.gz
3 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下建立個連結。

【相關連結】