繁体   English   中英

使用 applescript 登录 mac

[英]Login to mac using applescript

我写了一个小脚本在远程机器上打开 Safari:

tell application "Safari"
    activate
    set URL of first document to "http://www.stackoverflow.com/"
end tell

我会远程运行 applescript,因为我可以通过 SSH 连接。

但是,如果机器没有实际登录(即,我没有上去并输入我的详细信息),则不会发生任何事情。 请注意,我仍然可以使用 SSH 连接到机器,因此仍然可以运行脚本。

那么我可以使用 applescript 远程登录机器吗?

name="theshortname";
password="thePassword";

osascript <<EOF
tell application "System Events"
    keystroke tab
    keystroke (ASCII character 8)
    keystroke tab
    keystroke (ASCII character 8)
    keystroke return
    delay 0.5
    keystroke tab
    keystroke "$name"
    keystroke tab
    delay 0.5
    keystroke "$password"
    delay 0.5
    keystroke return
    keystroke return
    keystroke return
    keystroke return
end tell
EOF

是。 这就是我用的。 只需更改前两行。 我以root身份执行; 尚未使用sudo测试过。 暂停将确保文本已出现,并且插入光标已移至下一个字段,然后再继续。 开头的额外内容可确保凭据最终显示在正确的字段中(ASCII字符8为退格键)。

已知的错误:尽管插入光标闪烁,有时Snow Leopard的登录窗口仍不允许输入文本。 我还没有找到一种方法来发送在名称字段中获得实际焦点所需的单击(用鼠标单击(即使通过vnc)也可以使脚本正常工作)。

编辑:ACK! 忘了提及使用系统事件进行GUI交互取决于OS X内置的Universal Access系统。它只是一个复选框,只需要打开一次即可。 系统偏好设置>通用访问>启用辅助设备的访问。

您可以根据您的安全要求通过 mac 中的defaults命令设置自动登录。 https://apple.stackexchange.com/questions/264068/can-autologin-be-set-up-from-the-command-line-how

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM