通过 ssh 在 Windows 上远程启动 matlab?不可能的?

2024-01-16

你好,我正在尝试通过与 Cygwin 一起安装的 OpenSSH 在 Windows 上远程运行 matlab,但是在没有 GUI 的情况下在 Windows 中启动 matlab 似乎是不可能的。

如果我在本地登录,我可以启动 matlab -nodesktop -nodisplay -r 脚本,matlab 将启动一个精简的 GUI 并执行命令。

然而,这是不可能通过 ssh 远程完成的,因为 matlab 需要显示 GUI。

有人有任何建议或解决方法吗?

Thanks,

Bob


短篇故事:你的脚本调用 exit() 吗?您使用“-wait”吗?

长话短说:我认为如果你想与它交互,你基本上就不走运,但如果你只想批量处理作业,这应该可行。 Windows 上的 Matlab 是 GUI 应用程序,而不是控制台应用程序,并且不会与纯字符远程连接交互。但您仍然可以启动该过程。 Matlab 实际上会显示 GUI - 它只是在您无权访问的远程计算机上的桌面会话中。但是,如果您可以让它在没有进一步输入的情况下完成您的工作,那么就可以使其发挥作用,以获得某些“工作”价值。

您的“-r script”开关是正确的方向。但要意识到,在 Windows 上,Matlab 的“-r”行为是完成脚本,然后返回到 GUI,等待进一步的输入。您需要显式地包含“exit()”调用来完成您的工作,并添加 try/catch 来确保到达 exit()。另外,您应该使用“-logfile”开关将所有命令窗口输出的副本捕获到日志文件中,以便您可以看到它正在做什么(因为您看不到 GUI)并记录之前的运行。

此外,matlab.exe 默认情况下是异步的。除非您添加“-wait”开关,否则您的 ssh 调用将启动 Matlab 并立即返回。检查您要通过 ssh 连接的计算机上的进程; Matlab 可能实际上正在运行。如果您希望它阻塞直到完成,请添加 -wait 。

执行此操作的一种方法是使用 -r 调用标准作业包装器脚本,该脚本初始化您的库和路径、运行作业以及清理和退出。您还需要创建一个 .bat 包装器,将 -logfile 开关设置为指向包含作业名称、时间戳和其他信息的文件。 M 代码级别与此类似。

function run_batch_job(jobname)
try
   init_my_matlab_library(); % By calling classpath(), javaclasspath(), etc
   feval(jobname); % assumes jobname is an M-file on the path
catch err
   warning('Error occurred while running job %s: %s', jobname, err.message)
end
try
   exit();
catch err
   % Yes, exit() can throw errors
   java.lang.System.exit(1); % Scuttle the process hard to make sure job finishes
end
% If your code makes it to here, your job will hang

我之前曾在 Windows Scheduler、Tidal 和 TWS 中使用这种风格设置批处理作业系统。我认为它在 ssh 或其他远程访问下应该以相同的方式工作。

像这样的 Windows 上的 Matlab 批处理系统很脆弱且难以管理。 Windows 上的 Matlab 从根本上来说并不是一个无头批处理执行系统;关于交互式 GUI 的假设在其中很普遍并且很难解决。低级错误或许可证错误将弹出模式对话框并挂起您的工作。 Matlab 启动序列似乎存在竞争条件。您无法设置 MATLAB.exe 的退出状态。无法使用 Matlab GUI 来调试作业抛出的错误。日志文件可能会被缓冲,并且您会在挂起和崩溃附近丢失输出。等等。

认真考虑移植到 Linux。 Matlab 更适合作为批处理系统。

如果您有钱或有多余的许可证,您还可以使用 Matlab 分布式计算工具箱和服务器在远程工作节点上运行代码。这适用于并行化或远程批处理作业。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 ssh 在 Windows 上远程启动 matlab?不可能的? 的相关文章

  • Matlab dec2bin 给出错误的值

    我正在使用 Matlab 的 dec2bin 将十进制数转换为二进制字符串 但是 我得到了错误的结果 例如 gt gt dec2bin 13339262925365424727 ans 101110010001111010010100111
  • 如何将复杂的 csv 文件导入到 Matlab 中的数值向量

    我想知道我们应该如何读取由字符串 双精度数和字符等组成的复杂 csv 文件 例如 您能否提供一个可以在此 csv 文件中提取数值的成功命令 Click here http www ecb europa eu stats money yc d
  • 正确使用 fft2 和 fftshift 进行着色形状

    我正在尝试从 Trucco Verri 文本 3d 计算机视觉入门技术 中看到的着色算法重新创建经典形状 但我很难理解 matlab 中的 fft 函数 本质上 我需要使用可积性约束来获取图像的深度 Z 我不确定在这种情况下何时使用 fft
  • 快速有效地计算已知特征值的特征向量

    我的问题的简短版本 计算矩阵特征向量的最佳方法是什么A 如果我们已经知道属于特征向量的特征值呢 更长的解释 我有一个很大的随机矩阵A由于它是随机的 因此具有非负左特征向量x 这样A Tx x 我正在寻找快速有效的方法来数值计算这个向量 最好
  • 如何在 Google Compute Engine 上创建的两个实例之间进行 ssh?

    我在 Google Compute Engine 上创建了两个实例 Instance A hostname robot a ip addr 10 111 0 11 Instance B hostname robot b ip addr 10
  • MATLAB:在不使用循环的情况下提取矩阵的多个部分

    我有一个巨大的 2D 矩阵 我想从中提取 15 个不同的 100x100 部分 我有两个向量 x 和 y 其中保存了零件的左上角索引 我用过这样的东西 result cam1 x 1 end x 1 end 99 y 1 end y 1 e
  • 检测分段常数信号中的阶跃

    我有一个分段恒定信号 如下所示 我想检测步骤转换的位置 标记为红色 我目前的做法 使用移动平均滤波器平滑信号 http www mathworks com help signal examples signal smoothing html
  • Git Bash:无法打开与身份验证代理的连接[重复]

    这个问题在这里已经有答案了 我是 Github 新手 生成 SSH 密钥看起来很有必要 我的老板已经通知了这件事 所以我必须遵守 我成功创建了 SSH 密钥 但是当我要将其添加到 ssh agent 时 这就是发生的事情 似乎有什么问题 看
  • MATLAB:按扩展名从文件夹加载文件

    将具有相同扩展名的文件夹中的所有文件加载到 MATLAB 中的最简单方法是什么 我以前的解决方案 Will load a file if its filename is provided USAGE Best save data to a
  • Matlab:从一定范围内不重复的随机整数

    我想获得一个包含在范围内且不重复的随机整数的数组 我使用了 randperm 15 3 输出是 8 10 12 这个函数不使用范围 我只想从 10 中随机取值 例如 如果您有统计工具箱 则可以使用randsample https www m
  • 给定三点计算仿射变换

    我有两张图像 并使用筛选找到了三个相似的二维点 我需要计算图像之间的仿射变换 不幸的是 我错过了讲座 而且那里的信息对我来说有点密集 计算这个 2x3 矩阵的一般方法是什么 我有 2x3 矩阵 x1 y1 x2 y2 x3 y3 中的点矩阵
  • 有没有一种简单的方法来提供基于 Matlab 的 Web 应用程序或 Web 服务?

    我和一位同事花了几年时间开发一个非常酷的 Matlab 应用程序 MDLcompress 在 Matlab 中 我可以输入 MDLcompress filename txt 它会告诉我有关 filename txt 内容的各种非常酷的内容
  • 确定时间序列数据的 SOM(自组织映射)中的集群成员资格

    我也在做一个需要对时间序列数据进行聚类的项目 我正在使用在 MATLAB 中运行的 SOM 工具箱进行聚类 但遇到了以下问题 我们如何确定哪些数据属于哪个集群 SOM从数据集中随机选择数据样本 并为每个数据样本找到BMU 据我所知 SOM算
  • Matlab中皮尔逊系数和协方差的计算

    我想计算皮尔逊相关系数 http en wikipedia org wiki Pearson product moment correlation coefficient在Matlab中 不使用Matlab的corr功能 简单地说 我有两个
  • VS Code / Bitbucket / SSH - 权限被拒绝(公钥)

    我试图通过 ssh 从 vscode 访问 bitbucket 但总是得到权限被拒绝 公钥 SSH 密钥位于 ssh 公钥已正确设置在bitbucket settings security sshkeys 按键已经过测试并且可以工作 启动后
  • 为什么不使用 sshrc 中设置的 $PATH?

    我正在尝试在 OS X 服务器上通过 ssh 设置 svn 为了做到这一点 我读到我需要一个包装器来设置 umask 并 在我的例子中 设置存储库根 一种快速而肮脏的方法是重命名 usr bin svnserve并将包装器脚本放置在该位置
  • 如何使用 C# 打开 Putty 会话

    我想知道如何在 Visual Basic Express 中使用 C 打开 putty 然后通过 ssh 会话执行命令 您可以使用 plink exe 进行 SSH 使用 pscp exe 进行 SCP https www chiark g
  • 如何使用 Mikolajczyk 的特征检测器/描述符评估框架?

    我正在尝试使用事实上的标准评估我的 SURF 描述符实现的正确性Mikolajczyk 等人的框架 阿尔 http www robots ox ac uk vgg research affine 我使用 OpenCV 来检测和描述 SURF
  • 评估函数卷积时出错

    这是我第一次尝试用 matlab 编写任何东西 所以请耐心等待 我正在尝试评估以下 ODE 的解 w N w w f t 与柯西条件 w 0 w 0 0 这里 N 是给定的非线性函数 f 是给定的源 我也需要这个功能 其中 G 是以下 OD
  • MATLAB 中的神经网络

    我在 MATLAB 中训练了异或神经网络并得到了这些权重 iw 2 162 2 1706 2 1565 2 1688 lw 3 9174 3 9183 b 1 2 001 2 0033 b 2 3 8093 出于好奇 我尝试编写 MATLA

随机推荐

  • 如何包含文件上传对话框

    我获得了一些 C 图形扩展代码来上传 Excel 文件 以便导入到 购买收据 屏幕上的 分配 弹出屏幕中 未包含的是似乎用作对话框的 PXSmartPanel 任何关于如何设置 配置此智能面板以实现给定代码中的目的的帮助将不胜感激 有问题的
  • 我应该如何本地化现有的 JavaScript Web 应用程序?

    我有一项非常棘手的任务要做 有一个现有的 Web 项目 2 个 HTML 文件 一些插件和一个包含大约 2000 行代码的主要 JavaScript 文件 我现在必须对其进行本地化 毫无疑问 这应该早点考虑到 但他们只是错过了 您将如何寻找
  • 为什么 R 和 Python 之间得到不同的 RandomForest 结果?

    我正在尝试比较使用 R 和使用 Python 的随机森林模型的结果 我要比较的模型性能的关键衡量指标是 AUC ROC 曲线下面积 原因是 AUC 值代表预测值 即概率 的分布 我确实发现 R 和 Python 之间的 AUC 值存在一些显
  • 如何在不使用 Java 中的日历并且没有时间戳的情况下获取昨天的日期? [复制]

    这个问题在这里已经有答案了 我写了一个方法来获取当前日期的格式yyyy MM dd并希望能够创建另一种方法来获取昨天的日期 即当前日期的前一天 所有这些需要的是日期而不是时间戳 我不想使用Calendar以及 我这样设置当前日期 publi
  • phpmyadmin启用删除数据库语句

    我的托管提供商提醒我 我超出了 1000 桌限制 我有很多数据库 想一次删除更多 不幸的是 他们没有多选功能 所以我决定在 phpmyadmin 中使用查询 当我尝试类似的事情时DROP database some name I get D
  • 如何计算手机从静止状态到垂直方向的移动量?

    我正在使用 android 操作系统开发一个应用程序 我需要知道如何计算设备在垂直方向上的移动 例如 设备处于静止状态 A点 用户将其拿在手中 B点 现在A点和B点之间存在高度变化 我将如何计算 我已经阅读了有关传感器和加速度计的文章 但我
  • CodeBehind 中的动态上下文菜单

    我只想为我动态创建的几个对象添加 ContextMenu 但是 我发现的唯一方法是在运行时创建 ContextMenu 如下所示 ContextMenu pMenu new ContextMenu MenuItem item1 new Me
  • 如何在 Doxygen 示例中保留注释

    我有一个简单的方法 带有一条注释 我想在我的 doxygen 主页中用作示例 code void showNum int numToDisplay This is just a method to display a value std c
  • 有没有办法对打印媒体和默认布局使用相同的 CSS 样式表?

    我正在寻找一种方法 为打印媒体使用与默认屏幕布局相同的样式表 对我来说的好处是我不必每次更新 CSS 时都更新 2 个文件 我更喜欢有一个样式表 并通过以某种方式表示它们来指定印刷媒体的特殊规则 这可能是不可能的 但我想我应该把问题放在那里
  • Python - 解析 Json 和 XML 哪个更快? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 更改 php 中检索到的日期的时区

    我正在从数据库中检索格式为 2013 09 15 08 45 00 的日期 该日期是在 UTC 中设置的 我需要将其更改为另一个动态时区 基于用户 到目前为止我已经 datetime row gt field data field perf
  • 乌龟的笔触可以改变吗?

    我需要使用 Python 的海龟图形来绘制条形图 我认为简单地将笔做成粗正方形会更容易 这样我就可以像这样绘制条形图 而不必担心制作数十个矩形并填充它们 当我使用设置乌龟形状时turtle shape square 不过 它只会改变笔的外观
  • Pycharm Django 调试真的很慢

    我有一个中等大小的网站 但 PyCharm 需要大约 30 秒才能启动 Runserver 并准备好运行应用程序 如果我 运行 应用程序而不是 调试 则启动只需大约 3 秒 我可以做哪些事情来加快代码更改和调试周期 我使用的是带有 16Gb
  • Cassandra 节点几乎空间不足,但 Nodetool 清理正在增加磁盘使用?

    我们的一个节点的磁盘使用率为 95 我们向集群添加了另一个节点 希望能够重新平衡 但该节点上的磁盘空间并没有下降 我尝试执行nodetool cleanup 假设节点上有多余的键 但磁盘空间正在增加 清理真的会减少尺寸吗 是的 会的 但是您
  • 验证出生日期并检查年龄[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在我的表单中 我使用下拉菜单来显示日 月 年 你能帮我验证一下日期吗 我必须验证输入的年龄是否大于 15 岁 还要检查闰年等 PHP
  • 如何在react中不添加url的情况下导航到特定路线

    我在用着react router我有一些嵌套的路线 stories and stories storyId 现在我的问题是我有一个组件是一个单一的故事并使用这个特定的storyId导航至路线 stories storyId 单击它即可查看该
  • Asp.net Core 模型绑定器接受布尔类型的随机整数

    鉴于模型具有布尔属性 public class Person public string Name get set public bool IsMale get set 当尝试发布以下有效负载时 name Bob isMale 12345
  • 将数据帧添加到 Spark 中的列表

    我正在尝试创建 n dataframes根据一的数据 我正在检查 a 的整数值column in dataframe并循环创建 n 的sql语句dataframes像 一样多Integers在专栏中 这是我的代码 val maxvalue
  • 为什么使用带有硬编码种子的随机总是产生相同的结果? [复制]

    这个问题在这里已经有答案了 下面的简单 Java 程序使用了java util Random类 使其始终显示 hello world 代码片段如下所示 package nomain import java util Random final
  • 通过 ssh 在 Windows 上远程启动 matlab?不可能的?

    你好 我正在尝试通过与 Cygwin 一起安装的 OpenSSH 在 Windows 上远程运行 matlab 但是在没有 GUI 的情况下在 Windows 中启动 matlab 似乎是不可能的 如果我在本地登录 我可以启动 matlab