直截了当;我想在 UNIX 中创建一个脚本,在屏幕上的特定位置打开两个窗口,输入用户名和密码(用户将作为参数给出),然后执行另一个脚本。
我想知道这是否可能,如果是的话;我应该去哪里看?
我是UNIX的新手,但对脚本和编程非常熟悉。
在泰铢和未反馈响应后编辑
我目前在OS X上运行SunOS 5.6
关于窗口的位置,请查看 X(7) -- 即,在终端键入命令 man 7 X
并查看结果 -- 并向下滚动该手册页到"几何规范"部分(如果您的手册页版本有这样的部分)。 简而言之,要让程序xfoo
打开其水平大小为 200 和垂直大小为 160 的窗口,其左上角位于坐标 (40, 100),请给出命令 xfoo -geometry 200x160+40+100
。
这可能不是对你问题的完整答案,因为你谨慎地没有提供完整的细节,但有人怀疑它会让你走上正确的轨道,可以这么说。
关于您的认证问题, crypt(3) 手册页及其 参见 部分可能会有所帮助。 有关更高级的处理,请参阅 Libpam,其中 PAM 代表可插拔身份验证模块。
如果两个窗口是 Xterms,那么有一种简单的方法可以做到这一点;
请注意,这是来自ksh
脚本,但应该在bash
## This is how big (how many columns & rows) your Xterm will be
GEOM0=198x20
GEOM1=98x45
## Colors
COLOR="-bg black -fg white -cr red"
## Xterm Options (See Man page)
XOPTS="+ah +ai -b 2 -cb +cn -j -ls -rw -aw -si +sk"
## Scroll-back Buffer
SCRLB="9999"
## Commands to execute (you could put an SSH command here)
CMD0="-e /bin/gtail -F /var/adm/messages"
CMD1="-e /bin/gtail -F /var/log/secure"
TITLE="-title Something Clever Here "
TERMBIN=/usr/openwin/bin/xterm
# PLACEMENT
# We specify where we want the window to pop-up by adding "+#+#" to the GEOM.
################################################################################
## Top-Left corner (For my monitor, that's "+2+2")
${TERMBIN} ${XOPTS} -sl ${SCRLB} -fn 6x10 ${COLOR} -geometry ${GEOM0}+2+2 ${TITLE} ${CMD0} &
## Top-Center (For my monitor, that's "+2+233")
${TERMBIN} ${XOPTS} -sl ${SCRLB} -fn 6x10 ${COLOR} -geometry ${GEOM1}+2+233 ${TITLE} ${CMD1} &