我在我的 pi 上运行 OSMC,晚上我喜欢在晚上关闭 HDMI 而不会关闭整个 pi。现在我正在通过终端或通过我创建的一个小的 Automator 工作流程来做到这一点。最近我想把它合并到一个状态栏应用程序中。我遇到的问题是弄清楚如何使用 swift ssh 进入我的 pi,然后,一旦我进入它,就向 pi 发送命令。这是我现在拥有的,但不起作用:
@IBAction func OSMCClicked(sender: NSMenuItem) {
let task = NSTask()
task.launchPath = "/usr/bin/"
if (sender.state == NSOnState) {
sender.state = NSOffState
task.arguments = ["mosh osmc@172.19.32.246", "osmc stop", "exit"]
//task.arguments = ["mosh osmc@172.19.32.246"]
//task.arguments = ["OSMC stop"]
//task.arguments = ["exit"]
}
else {
sender.state = NSOnState
task.arguments = ["mosh osmc@172.19.32.246", "osmc start", "exit"]
//task.arguments = ["mosh osmc@172.19.32.246"]
//task.arguments = ["osmc start"]
//task.arguments = ["exit"]
}
task.launch()
}
最佳答案
所以我只是不太了解 ssh 或 NSTask。原来启动路径可以是 /usr/bin/ssh
,然后参数是 ["osmc@172.19.32.246", "osmc start", "exit"]
。除了 osmc
别名在我的 .bashrc 文件中,当它不是交互式时它不起作用,所以我最终用它代替实际命令,并使用 -t 标志而不是 exit .
关于xcode - 使用Swift通过ssh向树莓派发送命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29475894/