当Matlab崩溃时,Mac OS上的X11连接中断
我正在linux机器上远程使用MATLAB(2013a)。 我使用当Matlab崩溃时,Mac OS上的X11连接中断,matlab,x11-forwarding,Matlab,X11 Forwarding,我正在linux机器上远程使用MATLAB(2013a)。 我使用ssh-X(OpenSSH_5.9p1,OpenSSL 0.9.8y 2013年2月5日)通过ssh转发X11。 X11服务器是Mac OS 10.8.5上的XQuartz 2.7.4(xorg服务器1.13.0) 当我的MATLAB崩溃时,它以某种方式终止了X11连接,我需要通过ssh重新连接以重新建立新的X11,否则MATLAB拒绝启动。 X11应用程序这样做正常吗?有没有办法在不通过ssh重新连接的情况下修复X11 当我没有
ssh-X
(OpenSSH_5.9p1,OpenSSL 0.9.8y 2013年2月5日)通过ssh转发X11。
X11服务器是Mac OS 10.8.5上的XQuartz 2.7.4(xorg服务器1.13.0)
当我的MATLAB崩溃时,它以某种方式终止了X11连接,我需要通过ssh重新连接以重新建立新的X11,否则MATLAB拒绝启动。
X11应用程序这样做正常吗?有没有办法在不通过ssh重新连接的情况下修复X11
当我没有飞溅(-nosplash)、没有gui、没有编辑器、也没有绘图时,就会发生这种情况
编辑:我正在
tmux
(或者有时screen
)中的一个shell(bash
)上运行MATLAB。您需要正确设置DISPLAY
变量,才能使X11转发正常工作——一些ssh-X
或ssh-Y
应该可以为您做些什么。崩溃前后(echo$DISPLAY
)的显示值是多少?它应该类似于localhost:10.0
。我想知道变量是否被弄乱了,并没有干净地退出
还有,看看这是否有什么不同。如果这没有帮助,请尝试在
/etc/ssh/ssh\u config
中添加ForwardX11Trusted yes
,显示用于启动连接和启动MATLAB的命令的完整序列以及所有错误消息会很有帮助。例如:
# batch mode
client$ ssh -v -x user@server # small "x" disables X11 forwarding
server$ unset DISPLAY
server$ nohup matlab -nodesktop -nodisplay -noFigureWindows -nosplash \
-r "ver; quit;" > m_output.out 2>&1 < /dev/null &
# interactive mode
client$ export DISPLAY=localhost:0.0
client$ ssh -v -X user@server # enable X11 forwarding
server$ matlab
批处理模式
客户端$ssh-v-xuser@server#小“x”禁用X11转发
服务器$unset显示
服务器$nohup matlab-nodesktop-nodisplay-noFigureWindows-nosplash\
-r“ver;quit;”>m_output.out 2>&1
一些想法:
- 打开更详细的输出(
),并调查ssh连接关闭的原因(调试输出消息或任何日志文件)ssh-vv
- 您是直接从
运行命令,还是分两步执行(使用ssh
连接,然后从分配的shell以交互方式启动命令)ssh
- 如果我理解正确,在不使用X11转发时也会发生这种情况
- 在使用或screen/tmux时是否也会发生这种情况?看
- 尝试将
添加到ssh配置中TCPKeepAlive
- 使用自动重新连接SSH连接怎么样
- 您是否使用任何自定义SSH配置?(如果是,则显示
和ssh_config
文件中的相关部分)sshd_config
- 在启动MATLAB之前,请尝试在后台运行另一个进程
一直以来,MATLAB有时会在返回时恢复。MathWorks建议改用不同的shell(如tcsh或zsh)。您是通过
ssh
命令启动MATLAB,还是在获得shell后手动启动MATLAB?问得好,我总是遇到这个问题,从来没有想过要问一个问题来解决它。@Werner当您的终端出现问题时,您始终可以尝试reset
和/或stty sane
:)出于测试目的,可以方便地找到一种使Matlab崩溃的方法@Amro在回答这个问题时发现了一些东西:哇,你真的可以用S=struct()使MATLAB崩溃;S=setfield(S,{},{},{},0)
!对于像我们这样的疯子来说,这是一个很好的建议。DISPLAY
仍然是localhost:10.0
。哦,好吧。这就是我在Linux上使用MATLAB和Cygwin的X Window服务器时经常出现的问题。是的。实际上,-Y
开关使它更加稳定。让我再测试一下,接受你的答案。