Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我能';t通过SSH结束自动启动的X11应用程序_Ssh_X11_Expect - Fatal编程技术网

我能';t通过SSH结束自动启动的X11应用程序

我能';t通过SSH结束自动启动的X11应用程序,ssh,x11,expect,Ssh,X11,Expect,我希望在用户退出使用SSH连接启动的程序后立即关闭SSH连接。我现在的剧本是 #!/usr/bin/expect set login "pi" set addr "192.168.0.102" set pw "password" spawn ssh -X $login@$addr expect "$login@$addr\'s password:" send "$pw\r" expect "#" send "wpa_gui; exit\n" interact 当我退出wpa_gui应用程序

我希望在用户退出使用SSH连接启动的程序后立即关闭SSH连接。我现在的剧本是

#!/usr/bin/expect

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

spawn ssh -X $login@$addr
expect "$login@$addr\'s password:"
send "$pw\r"
expect "#"
send "wpa_gui; exit\n"
interact
当我退出wpa_gui应用程序时,我得到

logout
没有提示或其他任何提示,它只是说
注销
。我必须用
^C

如果我尝试在没有X11的情况下做类似的事情,它会起作用

#!/usr/bin/expect

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

spawn ssh $login@$addr
expect "$login@$addr\'s password:"
send "$pw\r"
expect "#"
send "man ls; exit\n"
interact
这将在I
q
ui进入
man
页面后立即关闭shell窗口

如果我手动启动wpa gui:

#!/usr/bin/expect

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

spawn ssh -X $login@$addr
expect "$login@$addr\'s password:"
send "$pw\r"
expect "#"
interact
然后在命令行中:

$ wpa_gui
$ exit
logout
同样的事情也会发生。因此,问题一定出在X11区域,而不是在SSH启动时运行命令

请帮忙


-Gabriel

我知道,如果仍有X会话通过ssh的隧道运行,ssh将不会完全关闭连接。因此,当您认为wpa\U gui会停止时,它可能不会真正停止。这听起来像是一个WiFi工具,它可能会在系统托盘中添加一个图标…

它确实会进入系统托盘。但我右键点击并退出。然后终端执行退出,但这不会关闭终端窗口。好吧,我在这里不知所措。但是,当会话最后看到“注销”时,您不能让
expect
强制关闭会话吗?就像你按^C?我想这是可能的。我不是什么了不起的
专家。但我会用谷歌搜索它。