Chinaunix首页 | 论坛 | 博客
  • 博客访问: 491531
  • 博文数量: 118
  • 博客积分: 5003
  • 博客等级: 大校
  • 技术积分: 1213
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-07 20:29
文章存档

2011年(8)

2010年(4)

2009年(12)

2008年(85)

2007年(9)

我的朋友

分类: LINUX

2008-12-09 11:49:10

    这两天公司刚搬新家,只好又忙着将原来的VNC、与linux的无线调试环境重新搭建起来,到今天基本OK,我的minigui移植也已经改完了,相对于qt来说,minigui的移植简直太简单了。。。记录一下这几天解决的一些问题吧,不然容易忘了。linux就是这样的
    1、rdesktop与compiz冲突的问题,我们的vnc可以选为全屏操作,对于我的nc6000只有1024的分辨率,大部分的windows的系统支持的最小的分辨率,如果将vnc选为800的话,很多软件将无法正常运行,所以将vnc的显示选为全屏模式操作,当你将ubuntu的特效打开之后,ctrl+alt+enter将不能使vnc从全屏模式退出。原因就是与compiz冲突。解决办法:
sudo apt-get install compizconfig-settings-manager
然后选择系统---》advanced desktop effects settints,选择工具(Utility)标签,然后选择workarounds,将对传统屏的支持去除掉,即可,发现,googleearth与compiz也有冲突,会出现刷屏的现象,解决办法就是关掉特效后再使用goole。
     2、evolution的使用,其实这个邮件客户端是非常强大的,大家可以修改一下支持下面的功能,就像下面这些功能,
     地址簿,可以有效的将你的朋友分类,别人发过来的邮件之后,信件--》将发件人添加到地址薄,就可以添加联系人了,然后选择 编辑--》首选项--》自动补全--》将你建立的地址簿加入,然后你写信时填写联系人时会自动补全,避免你出错。
     信件分类,像我可能信件比较多,那么就需要对信件进行分类,在收件箱下面--》新建文件夹,建立朋友、客户、工作、垃圾等各个目录,然后选择编辑--》信件过滤,添加规则,很好懂的,一般使用发送者含有某些特定字符来判断,添加活动--》一般使用--》移动到你相应的文件夹,完成信件的分类,对于已经收到的信件,选择 信件--》应用过滤规则,则完成已收邮件的分类。
     不足的地方:带附件的时候,不能使用中文名,否则附件会乱码

     每次用Evolution发送邮件给一个非Evolution的邮件客户的时候,一旦附件为中文或者长文件名,系统将自动把文件名替换为XXX.dat。由于比较喜欢Evolution的任务管理模式,不想更换客户端。搜了半天解决方案,总算明白了:Evolution使用RFC2231作为标准,而其他客户端一般仅支持RFC2047。而且似乎没有什么解决的方法。
等待解决办法。
     3 putty的linux版本 以前一直使用minicom,非常的不爽,很容易就出溢出的错误,后来想到用wine来模拟windows下的putty,串口的也好用,后来到ubuntu下面一看,其实有putty,使用apt-get install putty安装即可。只是这是英文版,有点美中不足啊。
     4 eclipse环境和交叉编译调试 朋友说eclipse比kdevelop好使用,eclipse很好配置就能完成一般的项目的功能,建立新项目时,我们一般先将源文件拷贝到我们需要建项目的目录下,然后新建一个项目,如何使用arm交叉编译这个项目?选择项目--》属性--》c/c++ build--》setting--》tool settings下面修改编译器,连接器为arm的交叉编译arm-softfloat-linux-gnu-g++等即可,关心几个标签:Directories下面指定包含头文件的路径,optimization选择优化级别,我们程序开发阶段不要选择优化。debugging是编译时的调试选项,选择缺省。warning要求all warnings,可以保证我们发现所有的错误。在连接器linker下面注意选择Libraries,这里是定义我们程序连接是需要包含的哪些动态库在libraries(-l)下面添加需要的库,不要带lib前缀,每个库一行,不要一起添加。同时要添加搜索库文件的路径Library search path(-L),尽量使用workspace.最后还有汇编器,在build artifact标签下,选择类型,有三种类型可以选,包含了我们常用的执行文件,动态库,静态库,以及生成的文件名。交叉调试在另外的文章中已经详细的描述了
    5、minigui的移植:
由于例子在使用时依赖于你的libminigui库文件,所以我们尽量使用默认的prefix,不要随意指定。
1、编译pc上用的虚拟的minigui
libminigui-1.6.10
./configure --with-osname=linux


编译例子程序
./configure --prefix=/home/yongtao/embed-system/minigui/mg-samples-1.6.10/install




2、编译arm架构的minigui
./configure --prefix=/home/yongtao/embed-system/minigui/libminigui-1.6.10/install --host=arm-softfloat-linux-gnu --target=arm-softfloat-linux-gnu --build=i486-linux-gnu --enable-shared --disable-static --with-osname=linux --with-targetname=st7529 --enable-videoshadow

make &make install
注意!与pc机上不一样的地方在于:这里你要指定prefix,然后在你指定的路径下将出现lib库文件,include头文件,etc头文件。要将你编译生成的库文件拷贝到你的交叉编译器的库文件目录下:头文件拷贝到你的交叉编译器的头文件目录,如我的机器就是:
/home/yongtao/pc-software/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/arm-softfloat-linux-gnu/include/(头文件)
/home/yongtao/pc-software/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/arm-softfloat-linux-gnu/lib(库文件)
不然下面在例子的编译configure配置的时候会报出没有安装libminigui的错误。就是由于没有找到头文件和库文件。

这里你要理解一点,你在编译libminigui是即使不使用prefix参数,使用默认的安装参数,在例子的交叉编译configure配置的时候一样会出错的!!这是由于你配置使用的是交叉编译器,而交叉编译器是不认默认的/usr/local/lib和/lib等目录,交叉编译器认的是自己的本地目录!这对我们理解gcc编译器和交叉编译器的行为很有帮助的,记住!
编译例子程序
./configure --host=arm-softfloat-linux-gnu --target=arm-softfloat-linux-gnu --build=i486-linux-gnu


6 有用的firefox插件
当你打开含有大量的flash的网页时,firefox会非常缓慢,所以我们安装一个软件flashblock:apt-get install flashblock,这样只有我们点击flash时,flash才能自动打开。
打开mht文件的插件,mht是一个比较特殊的网页文件,将所有的图片、文字等信息放在一个文件中,但firefox本来不支持,要安装一个插件maf,在网上搜索即可。

7 项目管理软件
  关于项目管理,我们在windows下面一般使用ms project来画画甘特图,作作计划,而我们在linux下面使用什么软件来替代ms project?使用ganttproject,当前最新的版本是2.0.8,这是一个基于java的软件,所以你必须安装好java的环境,我们使用java 6的环境。但是这个一般就用来导入一下mcp文件,我们的项目管理建议使用dotproject,这是一个基于web的多用户系统,他在linux下依赖mysql,apache2和php,他的安装请按照如下的流程:
安装php与apache2
apt-get install apache2 libapache2-mod-php5 php5 php5-mysql
安装mysql
apt-get install mysql-client-5.0 mysql-server-5.0
然后配置msql的数据库,当你不知道mysql的密码的时候,使用此命令来修改密码
dpkg-reconfigure mysql-server-5.0
下面我们要专门建立一个用户来访问dotproject项目
以管理员的身份登录mysql数据库
$ mysql --user=root --password
Enter password: ********

登录进入了之后,建立一个用户dotproject‘@‘localhost’,密码为dotproject
mysql> CREATE USER ’dotproject‘@‘localhost’ IDENTIFIED BY 'dotproject';
Query OK, 0 rows affected (0.00 sec)
将所有的dotproject的表格的所有权限赋予你添加的用户
mysql> GRANT ALL ON dotproject.* TO dotproject@localhost;
Query OK, 0 rows affected (0.00 sec)

退出mysql
mysql>\q

重启apache2:/etc/init.d/apache2 restart,在firefox中输入下面的地址,
如果弹出让你打开还是保存的对话框,那么就在后面加上一个index.php,如果你确认你安装了php5。然后系统会自动
进入安装阶段,在系统满足要求之后,连接数据库时使用如下配置即可:
  • Database server type: MySQL

  • Hostname: localhost

  • User: dotproject

  • Password: dotproject

在这之前,你需要手工创建一个文件/var/www/dotproject/include/config.php,并给予所有的
用户写入的权限。
Install db & write cfg.,然后系统安装会完毕
我们已经使用bugfree来对我们的测试与研发的沟通流程进行了规范,我们可能要推进使用dotproject来对我们的项目来进行进行管理。

8 今天学了一招,可以休息了,今天,呵呵,使用windows的远程桌面连接和linux下的vnc连接远程终端服务器时,可以将自己的硬盘直接连到服务器上,这样本机和服务器文件的互相拷贝将非常的方便。
vnc下的配置:
本地资源---》remote map your disk drive---》勾上add my local drive to the remote computer。就可以了

9、笔记软件,在windows下有很多的笔记软件的版本,适合于做一些笔记,能够方便的贴图,检索,例如one-note,ererynote等,在linux下我一直没有使用,今天搜索了一下,网上对basket的评价不错,就是有个问题,当日记比较多时,搜索功能比较慢,我决定试用一下,如果不行,就用wine来模拟onenote。apt-get install basket

10 、linux下写日记的东东,我有个习惯,写日记,以前没有,呵呵,当我参加工作以后突然有了这个想法,起源于我舅,某天,我和我舅在电话里聊天的时候我突然跟我舅说:舅,你写回忆录吧,呵呵,舅一想,是啊,他一辈子经历的政治斗争可能是我们永远都无法了解的。对我们的人生路也是个指导,后来想了一下又说,不行阿,年纪大了,记不住了,当时我就想,我要记日记,将来将我写回忆录给自己的儿子女儿看,看看当年他们的老子是怎么生活的,哈哈,linux下写日记的工具我找了很久,没有找到合适的,意外的发现一个java平台的:jdiary,最后版本是2.0.04,我找到了这个软件的作者,要了一份,挺好用的,就用他了!作者叫胡悦,挺厉害的,写软件是乐趣,不是为了生活,这种境界,人也挺随和的。

11、linux下flash的全屏和中文显示问题
在google上下载adobe flash的最新版本,然后将现在的adobe flash的9.0版本禁用,然后安装10.0.的最新版本,就会出现在firefox的最新flash组件,禁用9.0版flash
中文显示:修改
cd /etc/fonts/conf.d目录
gedit ./49-sansserif.conf
   
       
            wqy-zenhei
       

       
            wqy-zenhei
       

       
            monospace
       

       
            wqy-zenhei
       

   

修改字体为本机有的字体,就能正常显示中文字体。

12、rmvb文件的播放
按照ubuntu的wiki上的帮助建立的多媒体播放,会发现不能播放rmvb文件,解决办法就是:

在终端输入:
sudo apt-get remove totem-gstreamer

在终端输入:
sudo apt-get install totem-xine totem-mozilla totem





阅读(1846) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~