免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lhb1k
打印 上一主题 下一主题

[SCO UNIX] 如何在终端上不出现login,直接执行应用程序。 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2002-12-06 23:43 |只看该作者

如何在终端上不出现login,直接执行应用程序。

[这个贴子最后由f7zz在 2002/12/07 00:05am 编辑]

cc sterm.c -o sterm
cc tmgr.c -o tmgr -lcurses
这是编译命令。
sterm是个进程替换程序,主要解决环境变量问题。
tmgr是个终端管理程序,解决终端程序的启动和关闭问题。
还有个ttytab,格式是:

tty09 ansi
!end

方法有点笨,tty09是设备,ansi是TERM变量。如果在终端上,一般为vt100,文件以!end 结尾。这个文件记录命令1可以启动的全部终端。
\t  +========================================================+\n"
"\t  |     中国工商银行*****************终端管理程序 V1.2SP   |\n",
"\t  +--------------------------------------------------------+\n",
"\t  |                 1.激活ttytab中的全部终端               |\n",
"\t  |                 2.关闭ttytab中的全部活动终端           |\n",
"\t  |                 3.激活选定终端                         |\n",
"\t  |                 4.关闭选定终端                         |\n",
"\t  |                 5.查看全部活动终端的状态               |\n",
"\t  |                                                        |\n",
"\t  |                 9.退出程序                             |\n",
"\t  +========================================================+\n",
"\t                    请选择(1-5):",

另外的要由终端启动的程序,在某指定目录(可由环境变量指定,我太懒,没有做这个,就在当前目录下,所以有时不是很方便)下运行时创建一个文件,文件名为当前程序运行的终端设备名,内容为当前的进程号。 一个简单的示例如下:(处理的不是很好)

FILE *fp&#59;
char sTmp[32]&#59;
sprintf(sTmp,"%s",ttyname(1))&#59;
fp=fopen(sTmp+5,"w&quot&#59;
fprintf(fp,"%d",getpid())&#59;
fclose(fp)&#59;

在程序结束时,记得删除哦:
          remove(ttyname(1)+5)&#59;

这个实现很灵活,但感觉没写清楚,以后再说吧。
这个程序在sco5.0.5,5.0.4上没问题,在三个省用过,应该没什么问题(正常运行,不是指没有bug,需要完善改进的地方还很多,等有空吧)。:)
最后说一句,权限问题,不要忘了。

论坛徽章:
0
22 [报告]
发表于 2002-12-07 08:23 |只看该作者

如何在终端上不出现login,直接执行应用程序。

chmod 06755 sterm
chmod 06755 tmgr

论坛徽章:
0
23 [报告]
发表于 2002-12-07 11:19 |只看该作者

如何在终端上不出现login,直接执行应用程序。

经典呀

论坛徽章:
0
24 [报告]
发表于 2002-12-07 11:57 |只看该作者

如何在终端上不出现login,直接执行应用程序。

太棒了!

论坛徽章:
0
25 [报告]
发表于 2002-12-07 14:52 |只看该作者

如何在终端上不出现login,直接执行应用程序。

修改/etc/gettydefs文件可以使终端用设备名作为用户名执行注册程序,没试过,需要查资料。

论坛徽章:
0
26 [报告]
发表于 2002-12-07 18:12 |只看该作者

如何在终端上不出现login,直接执行应用程序。

好东西大家分享,多谢!

论坛徽章:
0
27 [报告]
发表于 2002-12-08 13:21 |只看该作者

如何在终端上不出现login,直接执行应用程序。

f7zz你好,你的tmgr终端管理程序,我编译时出现:
$ cc tmgr.c -o tmgr -lcurses
"tmgr.c", line 16: error: undefined symbol: charsCmd
"tmgr.c", line 16: error: cannot dereference non-pointer type
"tmgr.c", line 16: error: undefined symbol: sTmp
"tmgr.c", line 16: error: cannot dereference non-pointer type
"tmgr.c", line 25: warning: improper pointer/integer combination: arg #1
"tmgr.c", line 26: warning: improper pointer/integer combination: arg #1
"tmgr.c", line 32: error: undefined symbol: sCmd
"tmgr.c", line 33: warning: improper pointer/integer combination: arg #1
"tmgr.c", line 34: warning: improper pointer/integer combination: arg #1
"tmgr.c", line 123: error: undefined symbol: charsErr
"tmgr.c", line 123: error: cannot dereference non-pointer type
"tmgr.c", line 135: error: undefined symbol: sErr
"tmgr.c", line 135: warning: improper pointer/integer combination: arg #2
"tmgr.c", line 136: warning: improper pointer/integer combination: arg #2
"tmgr.c", line 147: error: undefined symbol: charsTmp
"tmgr.c", line 147: error: cannot dereference non-pointer type
"tmgr.c", line 148: error: Syntax error before or at: *
"tmgr.c", line 159: error: undefined symbol: fp
"tmgr.c", line 159: warning: improper pointer/integer combination: op "="
"tmgr.c", line 160: error: undefined symbol: sTmp
"tmgr.c", line 160: warning: improper pointer/integer combination: arg #1
"tmgr.c", line 160: warning: improper pointer/integer combination: arg #3
"tmgr.c", line 161: warning: improper pointer/integer combination: arg #1
怎么回事,请指教???


还有前面的fdlj53u的朋友你的文件2:face.c (一个屏幕显示的操作界面,修改一下可以用的)
我用cc face.c -o face -lcurses也出现:
"face.c", line 190: warning: statement not reached
"face.c", line 297: warning: end-of-loop code not reached
"face.c", line 343: warning: argument is incompatible with prototype: arg #2
"face.c", line 373: warning: improper pointer/integer combination: arg #1
这是怎么回事,要改正哪里,请哪位大侠指教!

论坛徽章:
0
28 [报告]
发表于 2002-12-09 11:36 |只看该作者

如何在终端上不出现login,直接执行应用程序。

这是警告,没有关系的.程序可以正常执行.

论坛徽章:
0
29 [报告]
发表于 2002-12-09 12:07 |只看该作者

如何在终端上不出现login,直接执行应用程序。

精华

论坛徽章:
0
30 [报告]
发表于 2002-12-09 13:05 |只看该作者

如何在终端上不出现login,直接执行应用程序。

好象不要这么复杂。先为你的应用建一个用户,如aaaa,再改/etc/inittab,
21a:23:respawn:/bin/login aaaa </dev/tty21a >;/dev/tty21a 2>;&amp;1
我一直就这么用着。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP