开门见山; 我想在 UNIX 中创建一个脚本,在屏幕上的特定位置打开两个窗口,输入用户名和密码(由用户作为参数给出),然后执行另一个脚本。
我想知道这是否可行,如果可以;我应该去哪里看?
我是 UNIX 新手,但对脚本和编程非常熟悉。
在 thb 和 notfed 响应后编辑
我目前在 OS X 上运行 SunOS 5.6
关于窗口的位置,查看 X(7)——也就是说,man 7 X
在终端输入命令并查看结果——然后向下滚动该手册页到GEOMETRY SPECIFICATIONS 部分,如果您的手册页版本有这样的一节。简而言之,要让程序xfoo
以坐标 (40, 100) 的左上角打开水平大小为 200,垂直大小为 160 的窗口,请给出命令xfoo -geometry 200x160+40+100
。
这可能不是您问题的完整答案,因为您谨慎地没有提供完整的细节,但可以这么说,有人怀疑它会让您走上正确的轨道。
关于您的身份验证问题,crypt(3) 联机帮助页及其SEE ALSO部分可能会有所帮助。有关更高级的处理,请参阅 Libpam,其中 PAM 代表 Pluggable Authentication Modules。
如果这两个窗口是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} &