linux编程yum 命令详解( 二 )


无论你用什么桌面系统,都是通过startx启动的,那么startx究竟是什么呢?一个应用程序还是一个脚本文件?为什么它能够启动各种桌面系统,并且能够按照相应的配置文件来设置呢?带着疑问,我在console里面输入whereis startx.
在 找到了存放startx的路径以后,用编辑器打开它发现原来是一个脚本文件 。这个脚本文件的内容可能根据发行版不同,会有差异,如果你懂一些shell的 语言,那么你可以尝试看看,不一定要全部看懂,但是你大致看过以后会发现最后有一个xinit的命令,然后跟着一些参数 。我尝试在console下面输入 xinit(注意,不要在图形界面下做此操作)
发现图形界面启动拉,但是很丑陋,什么功能都没有,鼠标可以动,还有一个可以输入命令的小窗口 。怎 么退出来?ctrl+alt+backspace. 原来如此,startx只是一个脚本,里面通过对一系列配置文件的分析设置,最终利用xinit命令启动图形界面 。不管是kde还是gnome,都是在这 个脚本中完成的 。那么让我们再打开startx脚本看看里面还做了些什么 。你仔细看看,会发现有一个东西很显眼,就是/etc/X11/xinit /xinitrc,这个xinitrc好像很眼熟,在配置输入法的其他贴中总是看到,这里出现了肯定是里面运行了这个脚本 。再看其他的一些东西,其实都是利用shell配置出一个xinit启动的参数,用来配置桌面系统用的,不用管它 。目前已知的就是startx的时候它会去执行一个/etc/X11 /xinit/xinitrc的脚本,让我们打开来看看里面有什么 。
打开一看,其中一段我觉得最有价值,是一个for循环,他依次执行了/etc /X11/xinit/xinitrc.d/下面的所有脚本 。你可以耐心的找一下,一定可以发现 。那么这个目录里面有些什么内容呢?有一个文件看名字就知道和输入相关,它叫xinput 。等等,让我们理一下,是怎么从startx到xinput的 。
首先是执行startx这个脚本文件,里面他会执行xinitrc这个脚本,然后xinitrc脚本里面的,叫xinput 。OK, 我们继续,打开xinput看看 。
4.安装软件包
rpm -Uvh scim-0.8.2-1.i586.rpmrpm -Uvh scim-chinese-0.2.6-1.i586.rpm5.修改配置文件接下来重要的一步就是,修改一下/etc /X11/xinit/xinitrc.d/xinput文件,让SCIM在X启动的时候也启动 。我看到网上很多文章也说过,但总是不得要领,经过自己试 验,最简单的就是把xinput文件里的Chinput全部替换为SCIM,chinput替换为scim,保存重启X就可以了 。zh_CN*)     if [ -e /usr/bin/scim ]; then   XIM="SCIM"            elif [ -e /usr/X11R6/bin/xcin ] ; then                 export LC_CTYPE=zh_CN.GB2312                 XIM="xcin-zh_CN.GB2312"       fi;;..............................SCIM)XIM_PROGRAM=scim        XIM_ARGS="-d";;然后修改/etc/gtk-2.0/gtk.immodules,找到这一行:"xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:zh"改为:"xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:zh"可能表示输入英文时也使用该输入法安装完毕后运行scim-setup,将输入法的切换键改为ctrl+space
文章内容仅代表个人观点,如有不正之处,欢迎批评指正,谢谢大家 。
不积跬步无以至千里,学习C/C++,Linux,Nginx,golang,ZeroMQ,MySQL,redis,fastdfs,MongoDB,ZK,ffmpeg,流媒体,音视频,CDN,P2P,K8S,Docker,Golang,TCP/IP,协程,嵌入式,ARM,DPDK等等 。。。
可以后台私信‘资料’即可领取相关学习资料




推荐阅读