如何在登录界面前嵌入自己的程序.


本实例说明:当用户在登录系统界面出现之前,如何运行自己编写的程序,以下是本人编写的一个密码小程序,仅作为验证效果.
方法一
步骤1:编写一个简单的密码程序.
内容如下:
#include
int main()
{
char ch[10];
char passwd[10]="lupa";   /*lupa为设置的正确密码.*/
while(1){
printf("please enter password:");
scanf("%s",ch);
if(strcmp(ch,passwd)==0){
break;}
printf("password error!\n");
}
}
步骤2:编译后,拷贝可执行程序test至/etc/rc.d/init.d/目录下.
gcc test.c -o test
cp test /etc/rc.d/init.d
步骤3:进入/etc/rc.d/rc5.d/目录中,并添加符号连接
cd /etc/rc.d/rc5.d
ln –s /etc/rc.d/init.d/test S99test

步骤4:重启后,系统会出现”start test:”提示符,如图1所示;然后输入正确密码后,才能出现登录界面.

图1
注:
以S开头(Start开启服务)再跟启动顺序数学(2位,00~99)再跟文件名
以K开头(Kill终止服务)再跟终止顺序数学(2位,00~99)再跟文件

方法二:
步骤1:用vim或gedit打开/etc/rc.d/rc.local脚本文件,在最后一行输入程序的路径及可执行文件.如下图2所示:

图2
步骤2:reboot重启系统.提示符为”please enter password:”,如图3所示,然后输入正确的密码即可.

图3

通过本实例可以让读者更加直观的了解linux系统启动服务的一个完整流程.
实例扩展:
(1) 写入其他脚本文件中,再进行测试,查看结果.
(2) 如何实现登录系统之后,自动运行程序的功能.(如,windows系统下自动运行QQ程序一样)

  1. vi 使用技巧
  2. Google欲推出Mac、Linux版Chrome
  3. 使用Linux 和Hadoop进行分布式计算(1)

相关内容