这几天研究内核的模块机制,接触到了一些关于模块的操作命令,比如lsmod命令可以列出内核中已经安装的模块,insmod命令可以安装一个指定的模块,rmmod可以删除一个指定的模块。
也是处于好奇,就试了试这几个命令,我先试了试lsmod命令,罗列出了内核当前的模块,从中看到一个名字叫psmouse的模块,而且其使用计数为0,所以我猜测如果卸载这个模块应该没有什么问题,不行就重新安装这个模块或者重启呗。
于是,进入超级用户模式,rmmod psmouse,回车,然后,lsmod,发现没有这个模块的信息了,然后,insmod psmouse,就出错了,说找不到psmouse这个文件。。。
后来,我发现觸控板不能使用了。很明显,psmouse是觸控板的驱动程序模块,卸载了,觸控板就i不能使用了。
于是我在网上找解决方法,原理肯定是重新安装psmouse模块。找到一个:
modprobe -r psmouse
modprobe psmouse proto=imps
执行这两条命令之后,觸控板就可以使用了,但是重启之后无效。于是我将这两条命令写入.bashrc中,每当登陆的时候就会执行安装psmouse模块,但是,竟然也不好使。现在想想,应该是权限问题,因为命令必须在超级用户的权限下执行,而我是将其写入普通用户的.bashrc文件中的,执行时没有相应的权限,如果以超级用户的身份写入开机执行的脚本中应该可以。
但是,上面的命令有一个缺点,