2015-04-06 137 views
2

我在我的pi上运行OSMC,晚上我喜欢在晚上关闭HDMI而不关闭整个pi。现在,我正在通过终端或通过我创建的一个Automator工作流程来完成此操作。最近我想将它合并到状态栏应用程序中。我遇到的问题是想办法如何使用swift ssh进入我的pi,然后,一旦我进入它,发送命令到pi。这就是我现在所拥有的,这是不工作:使用Swift通过ssh向Raspberry Pi发送命令

@IBAction func OSMCClicked(sender: NSMenuItem) { 
    let task = NSTask() 
    task.launchPath = "/usr/bin/" 
    if (sender.state == NSOnState) { 
     sender.state = NSOffState 
     task.arguments = ["mosh [email protected]", "osmc stop", "exit"] 
     //task.arguments = ["mosh [email protected]"] 
     //task.arguments = ["OSMC stop"] 
     //task.arguments = ["exit"] 
    } 
    else { 
     sender.state = NSOnState 
     task.arguments = ["mosh [email protected]", "osmc start", "exit"] 
     //task.arguments = ["mosh [email protected]"] 
     //task.arguments = ["osmc start"] 
     //task.arguments = ["exit"] 
    } 
    task.launch() 
} 

回答

0

所以,我只是不知道太多关于ssh或NSTask。发现启动路径可以是/usr/bin/ssh,然后参数将是["[email protected]", "osmc start", "exit"]。除了osmc别名在我的.bashrc文件中,当它不是交互式时它不起作用,所以我只是用实际命令代替它,并使用-t标志而不是退出。

+0

但你会如何插入密码? –

+0

按照此页上的说明http://steve.dynedge.co.uk/2012/05/30/logging-into-a-rasberry-pi-using-publicprivate-keys/ –