Ubuntu中SCIM输入法不能随机启动的问题

来源:互联网 发布:你知我情深txt微盘 编辑:程序博客网 时间:2024/06/06 14:23

  首先,linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件(脚本程序简单的说就是把要运行的程序写到一个文件里让系统能够按顺序执行,类似windows下的autorun.dat文件),另外在/etc这个文件夹里还有诸如名为rc1.d, rc2.d一直到rc6.d的文件夹,这些都是linux不同的runlevel,我们一般进入的X windows多用户的运行级别是第5级,也就是rc5.d,在这个文件夹下的脚本文件就是运行第5级时要随机启动的服务程序。需要注意的是,在每个rc (1-6).d文件夹下的文件其实都是/etc/init.d文件夹下的文件的一个软连接(类似windows中的快捷方式),也就是说,在 /etc/init.d文件夹下是全部的服务程序,而每个rc(1-6).d只链接它自己启动需要的相应的服务程序!

  要启动scim,我们首先要知道scim程序在哪里,用locate命令可以找到,scim在/usr/bin/scim这里,其中usr表示是属于用户的,bin在linux里表示可以执行的程序。这样,我就可以编写一个脚本程序,把它放到/etc/init.d里,然后在rc5.d里做一个相应的软链接就可以了。

  这个脚本其实很简单,就两行:

  #!/bin/bash

  /usr/bin/scim

  第一行是声明用什么终端运行这个脚本,第二行就是要运行的命令。

  还需要注意的一点是,在rc5.d里,每个链接的名字都是以S或者K开头的,S开头的表示是系统启动是要随机启动的,K开头的是不随机启动的。这样,你就可以知道,如果我要哪个服务随机启动,就把它名字第一个字母K改成S就可以了,当然,把S改成K后,这个服务就不能随机启动了。因此,我这个链接还要起名为SXXX,这样系统才能让它随机启动。

 

然后再输入

update-rc.d autorunscim defaults 90

 

update-rc.d 具体用法:

       从所有的运行级别中删除指定启动项

  update-rc.d -fremove

  按指定顺序、在指定运行级别中启动或关闭

  update-rc.dstart|stop

  实例:update-rc.d apachectl start 20 2 3 4 5 . stop 20 0 1 6 .

  解析:表示在2、3、4、5这五个运行级别中,由小到大,第20个开始运行apachectl;在 0 1 6这3个运行级别中,第20个关闭apachectl。这是合并起来的写法,注意它有2个点号,效果等于下面方法:

  update-rc.d apachectl defaults

  A启动后B才能启动,B关闭后A才关闭

  update-rc.d A defaults 80 20

  update-rc.d B defaults 90 10

  启动和关闭顺序为90,级别默认