在树莓派Raspbian下安装支持Hard Float的.NET环境

【题外话】

最近入了个树莓派玩,系统装的官方推荐的Hard Float的Raspbian,由于衍生自Debian,所以Mono什么的非常好装。但是官方源中的Mono在Hard Float的Raspbian下是没法完整支持.NET程序的,比如没法在LXDE上运行Winform,但是装Soft Float的话又感觉很亏,所以我们要在Hard Float的Raspbian下装支持Hard Float的.NET环境。

 

【文章索引】

  1. 安装支持Hard Float的Mono
  2. 安装Gtk#
  3. 安装xsp
  4. 安装mod_mono

 

【一、安装支持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

不过众所周知的,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)

 

【二、安装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

不过貌似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”,如下图。

 

【三、安装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下创建个链接。

 

【相关链接】

  1. Mono (C#) 2.11.4 hard-float for Raspberry Pi (EXPERIMENTAL):http://www.raspberrypi.org/phpBB3/viewtopic.php?t=37174
  2. 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono):http://www.cnblogs.com/mayswind/p/3189724.html
posted @ 2013-08-24 19:13 大魔王mAysWINd 阅读(...) 评论(...) 编辑 收藏