2013-07-16 52 views
0

我希望在用戶退出以SSH連接啓動的程序後立即關閉SSH連接。我現在的劇本是我無法通過SSH結束自動啓動的X11應用程序

#!/usr/bin/expect 

set login "pi" 
set addr "192.168.0.102" 
set pw "password" 

spawn ssh -X [email protected]$addr 
expect "[email protected]$addr\'s password:" 
send "$pw\r" 
expect "#" 
send "wpa_gui; exit\n" 
interact 

當我退出wpa_gui應用程序,我得到

logout 

無提示或任何東西后,它只是說logout。我必須和^C

關閉窗口,如果我試圖做同樣的事情,而不X11,它的工作原理

#!/usr/bin/expect 

set login "pi" 
set addr "192.168.0.102" 
set pw "password" 

spawn ssh [email protected]$addr 
expect "[email protected]$addr\'s password:" 
send "$pw\r" 
expect "#" 
send "man ls; exit\n" 
interact 

那將盡快關閉shell窗口,我q UIT的man頁面。

如果我開始手動WPA GUI:

#!/usr/bin/expect 

set login "pi" 
set addr "192.168.0.102" 
set pw "password" 

spawn ssh -X [email protected]$addr 
expect "[email protected]$addr\'s password:" 
send "$pw\r" 
expect "#" 
interact 

,然後在命令行:

$ wpa_gui 
$ exit 
logout 

同樣的事情發生。所以問題必須在X11區域,而不是在SSH啓動時運行命令。

請幫

-Gabriel

回答

0

我知道ssh將是否仍然存在通過隧道中運行的X會話不完全關閉連接。因此,當你認爲它確實沒有停止時,wpa_gui可能會停止。這聽起來像是一個WiFi工具,它可能會添加一個圖標到您的系統托盤...

+0

它確實進入系統托盤。但我右鍵單擊並退出它。終端然後執行'退出'但不關閉終端窗口。 – gabrield42

+0

好吧,我在這裏不知所措。但是,當它看到最終的「註銷」時,你難道不會讓「期望」強制關閉會話嗎?像你按^ C? – JvO

+0

我認爲這是可能的。我不是很棒的'期望'專家。但我會谷歌它。 – gabrield42

相關問題