【題外話】
最近入了個樹莓派玩,系統裝的官方推薦的Hard Float的Raspbian,由于衍生自Debian,所以Mono什么的非常好裝。但是官方源中的Mono在Hard Float的Raspbian下是沒法完整支持.NET程序的,比如沒法在LXDE上運行Winform,但是裝Soft Float的話又感覺很虧,所以我們要在Hard Float的Raspbian下裝支持Hard Float的.NET環境。
【文章索引】
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
不過眾所周知的,Dropbox在天朝的下載速度實在是太慢了,我拖下來然后把它共享在百度云上,有需要的可以從國內下載直接解壓縮就好了:http://pan.baidu.com/share/link?shareid=1961660956&uk=2181301491
如果要是之前已經安裝過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)
裝支持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
不過貌似gnome的網站的速度也挺慢,傳送門:http://pan.baidu.com/share/link?shareid=2574551187&uk=2181301491。
裝完后去LXDE下就能打開Winform的程序了。不過如果locale設置的不是zh-cn的話,即使安裝了中文字體,界面中的字仍然是方塊,如下圖。
比較簡單的方法是修改字體的映射,我們可以修改“/etc/fonts/conf.d/49-sansserif.conf”,將最后<edit></edit>中的sans-serif修改為喜歡的中文字體即可,比如“WenQuanyi Micro Hei”,如下圖。
在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
如果喜歡使用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下創建個鏈接。
【相關鏈接】
- Mono (C#) 2.11.4 hard-float for Raspberry Pi (EXPERIMENTAL):http://www.raspberrypi.org/phpBB3/viewtopic.php?t=37174
- 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono):http://www.cnblogs.com/mayswind/p/3189724.html
文章列表