系统复杂了,什么毛病都会出,最近在使用Gentoo和Debian的过程中,都出现了其他程序能正常使用ibus输入法,偏偏Emacs不能的情况。
不过最终都被征服了。解决方案放在这里,备查。

  • 英文系统中使用ibus。中文系统请无视。英文系统emacs需要设置locale的支持。
    不管是Gentoo还是Debian,如果无法正确调出ibus输入法,即ibus不能将emacs识别为输入窗口,请检查环境变量LC_CTYPE是否为zh_CN.utf8.
    可以使用如下命令,执行emacs。至少经过这一步,ibus就能将emacs识别为输入窗口了。
$LC_CTYPE=zh_CN.utf8 emacs

##或者直接增加一个小脚本启动emacs

#!/bin/sh
export LC_CTYPE=zh_CN.utf8
/usr/bin/emacs $*
  • 在emacs中,ibus有输入框,能显式备选汉字,但无法输入到emacs界面中。我在Gentoo和Debian中都遇到了这个问题。

Gentoo: 当时按照参考1,稀里糊涂的安装了几个字体之后问题解决。

[ebuild  N    ] media-fonts/font-adobe-75dpi-1.0.0  USE="X nls" 0 kB
[ebuild  N    ]  x11-apps/bdftopcf-1.0.2  USE="-debug" 0 kB
[ebuild  N    ]  media-fonts/font-alias-1.0.1  USE="-debug" 0 kB
[ebuild  N    ]  media-fonts/font-util-1.1.1  USE="-debug" 0 kB

Debian: 若在Debian上采用英文系统,多半不能自动增加中文的locale,就是因为没有中文的locale。执行如下命令,增加对zh_CN.utf8 locale的支持即可。

$ sudo dpkg-reconfigure locales
  • 若以上方案都不能解决你的问题,那推荐你试试Ibus Mode

 

 

今天需要对Debian中的默认启动程序做配置,就顺便重新认识一下Linux下的启动过程,并总结对比Debian和Gentoo。

Init创世纪!

再来回顾一下Linux PC的启动过程

  1. BIOS检测硬件,并查找硬盘MBR(Master Boor Record)上的指令
  2. MBR指向GRUB,LILO之类的boot loader
  3. Grub查询载入操作系统内核的位置,并载入指定的内核
  4. 内核载入之后启动init进程。
  5. init启动脚本/etc/rc.d/rc.sysinit, 接着根据运行级别不同,启动指定的进程。

init是系统中所有进程的父进程,它确保所有的文件系统(/etc/fstab中指定的)都已经正确挂在,接着就执行/etc/init.d下的一系列脚本来启动服务。接着init就会激活终端,并将进程agetty和他绑定。agetty确保用户能在终端登录。

实际上init会根据不同的运行级别来启动不同的进程。这个运行级别的控制在/etc/inittab中。 Continue reading »

 
  1. root密码多少? loongson
  2. 如何添加新用户? adduser username
  3. 怎么修改IP? vim /etc/network/interfaces
  4. 如何重启网络? /etc/init.d/networking restart
  5. 如何启动ssh? /etc/init.d/ssh start
  6. 为啥root账户在/目录下修改,都提示 read only filesystem?因为根分区在挂载时以只读挂载.可以执行 mount / -o remount,rw. 如果以后都想要root在/下可写,可以修改/etc/init.d/discover,把倒数第二行mount的命令注掉即可。 Continue reading »
 

本博在实际工作中,曾经安装过不少龙芯电脑的系统,可谓稍有经验,这里略微介绍一些常见问题。

  1. 内核通用吗?一般龙芯2F使用MIPSIII的指令级,内核格式都为64位的文件。所以不管时O32系统还是N32系统,只要硬件相同都是通用的,不过别忘了连同/lib/modules 和/lib/firmware一起使用:)
  2. 龙芯到底有多少种系统?很多,按照ABI分为3类:O32,N32,N64.O32是出厂时自带的系统,一般龙芯盒子中的华镭,龙芯本中的loonux、红旗和龙芯一体机中的共创都是O32系统。这类系统基本都是在debian的基础上做做山寨化。当然也有英文版的debian系统,这个比较干净一些。对于O32的系统,源的问题最头疼,因为各个公司画地为牢,大家都努力维护自己的源,又都缺人手,所以都不完美,试了几个都不太好,装着装着就会出依赖问题,除非一直跟着升级,不然一次apt-get dist-upgrade,那简直是噩梦。N32的系统,zhllg基于Gentoo的已经有了,龙芯论坛里就能找到下载链接。因为Gentoo是自己直接编译,问题相对少些。debian的还没有。N64的系统,有憨牛LFS的,没有试过。至于为啥会有这么多系统,得问问MIPS,因为有不少改进,就产生了不少问题。请参考本博<好大一筐梅普斯>.N32系统据说比O32快20%-30%。因为龙芯本身是64位处理器,所以64位系统也没问题.
  3. Continue reading »

 

要在玲珑电脑上安装qtcreator,发现默认的源,同创的完全连不上,龙梦的没有想要的东西。又从盒子里拷了rays的源还是没有qtcreator。。。。。。
龙芯的源太混乱了,大家都在维护自己的,倒不如都按照debian的标准来做,画地为牢太劳民伤财了,一起努力做好一个源就不错了。
推荐一个现在在用的源,unstable的:
deb ftp://210.51.187.182/loongson2f/sid/ ./
deb-src ftp://210.51.187.182/loongson2f/sid/ ./
deb ftp://210.51.187.182/debian sid main non-free contrib
deb-src ftp://210.51.187.182/debian sid main non-free contrib
Continue reading »

 

这是gcc maillist中某国际友人 laurent@guerby.net 做的2个小时报告的ppt,报告题目为GCC Toulibre 20091216。最近一直想深入了解gcc,而这个ppt基本包含本博想了解的内容,所以将其翻译并分享到这里。翻译过程中,很多地方可能有错,请大家不吝赐教。原版的ppt见文末。

  • 什么是GCC

GCC–GNU Compiler Collection,即GNU 编译器集合。GCC即可作为本地编译器也能作为交叉编译器,它支持很多高级语言和多个编译和目标平台。GCC的网址 http://gcc.gnu.org.它是FSF基金会版权所有的自由软件. Continue reading »

 
  • 啥是nanojit?

Javascript的JIT后端,原先firefox直接使用javascript解释器,效率比较低。nanojit可以将频繁执行的javascript代码直接翻译为机器码执行,效率更高,性能更好。详细的介绍可以参看这篇文章:an overview of TraceMonkey,  (我是中国人,我要看中文 ).本博还有一篇英文介绍,自己的蹩脚英语拙作。确实闲着无聊可以猛击这里

  • 咋又蹦出来个tracemonkey?

这得先从spidermonkey说起,spidermonkey是firefox里的Javascprit解释器。因为增加了Nanojit,这种通过跟踪(trace)热JAVAscript代码的JIT。所以改名叫tracemonkey。

  • 我只关心这个firefox!

那就从这个地址下载吧,firefox_release.mips1-1_mipsel.deb. 下载之后切换到root帐号或者直接执行。注意目前Nanojit只测试了O32的龙芯,龙芯默认的操作系统和其他Debian衍生系统都能使用(目前测试了debian-en和Rays,没有问题).目前2E和2F的机器都能使用。N32的gentoo系统还不支持。 Continue reading »

 

选项 -fPIC

PICPosition-Independent
Code
的缩写。在计算机系统中,PICPIE(Position-Independent
Executable)
是可以在主存中不同位置执行的目标代码。PIC经常被用在共享库中,这样就能将相同的库代码为每个程序映射到一个位置,不用担心覆盖掉其他程序或共享库。

要想实现位置无关,代码必须通过特定的方式编写、编译才行。比如对于固定地址的绝对跳转指令,就需要使用相对应的相对跳转指令代替,相对位置的计算通过对指令计数器的计算得到。在某些特定的体系结构上(AMD64),共享库就必须支持PIC

Continue reading »

2009-2011© 编译点滴 Suffusion theme by Sayontan Sinha

无觅相关文章插件,快速提升流量