Fab*_*her 1 x11 macos applescript telnet xterm
我一直试图将这个脚本正确地使用几个小时并且相当远,但是我被困在将命令传递到X11 xterm窗口.
我需要连接到xterm telnet服务器.这是正常的程序:
xterm -fa Monaco -fs 12这将打开一个X11窗口,具有更大的字体)telnet -l username server ip因为一些没有终端知识的用户必须能够访问这个连接,我尝试了几种编写可以在Mac上运行的脚本的方法.并打开连接以允许用户在打开的telnet窗口中工作.我最终使用AppleScript,并编写了以下脚本:
tell application "X11"
activate
end tell
tell application "System Events"
tell process "X11"
tell menu bar 1
tell menu "Applications"
click menu item "Terminal"
tell window 1
run
do script "xterm -fa Monaco -fs 12"
delay 2
do script "telnet -l meister 192.169.25.1"
end tell
end tell
end tell
end tell
end tell
Run Code Online (Sandbox Code Playgroud)
但不幸的是,这不起作用.它只打开一个X11 xterm窗口,没有更大的fonface,没有终端命令,它只是一个空窗口.
你是否有人知道如何更改脚本以便它可以正常工作,或者有可能用其他类型的脚本而不是AppleScript来实现它?
非常感谢您的帮助!
首先,启动xterm只需执行以下操作:
do shell script "xterm -fa Monaco -fs 12 -wf"
Run Code Online (Sandbox Code Playgroud)
如果需要,这将自动启动X11.
根据您的系统,/ usr/X11/bin可能不在路径上,因此您可能希望这样做:
do shell script "/usr/X11/bin/xterm -fa Monaco -fs 12 -wf"
Run Code Online (Sandbox Code Playgroud)
如果您希望xterm运行命令而不是仅打开shell,请使用-e参数:
do shell script "/usr/X11/bin/xterm -fa Monaco -fs 12 -e telnet -l meister 192.169.25.1"
Run Code Online (Sandbox Code Playgroud)
如果telnet命令失败,xterm窗口将立即关闭; 调试它,在"-e"之前添加"-hold".
既然你问过"其他类型的脚本而不是苹果脚本",那么同样的事情显然是bash中的一行,有两个与shebang:
#!/bin/sh
/usr/X11/bin/xterm -fa Monaco -fs 12 -e telnet -l meister 192.169.25.1
Run Code Online (Sandbox Code Playgroud)
如果将其保存为"doit"和"chmod + x doit",则可以将其作为"./doit"从终端运行.
或者,如果您希望在Finder中双击它,请将其重命名为"doit.command".
| 归档时间: |
|
| 查看次数: |
3854 次 |
| 最近记录: |