linux – xterm没有找到shell的绝对路径

weixin_38081402 2019-09-12 11:34:30
我正在尝试使用ProcessBuilder从Java在SUSE Linux Enterprise 12中运行脚本.代码如下: ProcessBuilder pb = new ProcessBuilder("xterm", "-e", "script_path"); Process pr = pb.start(); 然后我读取了来自Process的消息,它是在说xterm:找不到shell的绝对路径:script_path 所以我尝试从SUSE中的Gnome-Terminal,并使用命令xterm script_path但发现了相同的错误消息.我尝试了表单root和本地用户.我完全没有关于这个错误的线索. 主要条件是我必须能够以root身份运行此代码,因为我的java代码必须仅以root身份调用. 更新: 我再次尝试过,现在我实际上有一个来自ProcessBuilder的新错误消息.我从错误流中得到的消息如下: error extracting:: error message: Warning: This program is an suid-root program or is being run by the root user. The full text of the error or warning message cannot be safely formatted in this environment. You may get a more escriptive message by running the program as a non-root user or by removing the suid bit on the executable. xterm: Xt error: Can't open display: %s xterm: DISPLAY is not set 我试图执行的脚本是unZipper.sh: #!/bin/bash sudo unzip -o postgresql-9.4.6-linux-64.zip -d some_path/db/ sleep 3
...全文
417 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38097244 2019-09-12
  • 打赏
  • 举报
回复
xterm对执行命令所涉及的路径名进行了一些(不同的)检查.这是一个中间人: >如果你说“xterm -e command”,xterm将依赖你现有的$SHELL设置和/或luit的配置(它也以不同的方式使用$SHELL)来决定命令是否成功.>如果你说“xterm命令”(没有-e选项),xterm会将其视为特殊情况,要求它是绝对路径名.这是通常出现问题的地方. 在从patch #301开始的更改中(除了特殊的无-e情况)xterm检查现有的$SHELL以确保它在/ etc / shells中列出. (这里有一个很长的故事,但总结一下,它注意到它在安全方面有所改善……).如果您阅读更改日志,您可以看到正确的尝试需要几次尝试来处理特殊情况. 从给出的信息: >由于你在一个案例中使用-e(来自ProcessBuilder)而不是在另一个案例中,因此可能存在一些问题.>或者你的$SHELL可能没有在/ etc / shells中列出.>最后,可能会有一些资源设置(结合不正确的区域设置变量)导致程序意外执行luit.例如,如果xterm尝试使用luit但是localeFilter资源设置为相对路径,则会产生此错误.
本系统提出了一套面向MRI全心脏分割任务的端到端深度学习解决方案,其核心创新在于将Swin Transformer作为编码器骨干网络,充分挖掘心脏MRI图像中的全局上下文信息与局部细节特征,同时引入4通道输入机制,在传统RGB三通道图像基础上额外拼接一个点提示编码通道,支持用户通过鼠标交互在图像上自由标注前景(心脏区域)与背景点,从而将先验空间信息显式地融入网络前向传播过程,实现基于稀疏标注引导的精准分割。在解码阶段,系统采用U型对称结构,通过逐步上采样与跳跃连接逐级恢复特征图分辨率,最终输出二值分割掩膜(前景/背景),有效区分心脏区域与其他组织。训练过程中,系统选用交叉熵损失函数,配合AdamW优化器与余弦退火学习率调度策略,确保模型在训练集和验证集上稳定收敛,并在每个epoch结束后自动计算全局像素准确率、平均交并比(mIoU)、平均Dice系数、平均精确率、平均召回率及平均F1分数等多项评估指标,全方位监控模型性能。系统内置了完整的训练日志保存、损失曲线与性能曲线绘制、学习率衰减可视化等功能模块,便于用户直观分析训练过程并调优超参数。在推理应用层面,系统封装了基于Tkinter框架的图形化交互界面,用户可上传任意MRI切片图像,通过鼠标左键/右键分别添加前景/背景点,点击“执行分割”按钮后即可实时生成叠加了红色半透明掩膜的分割结果图像,支持点集的增删与重置操作,交互响应灵敏,操作逻辑直观清晰。整体而言,本系统不仅实现了从多模态数据加载、交互式标注编码、基于Transformer的分割建模到图形化推理部署的全链路覆盖,更在算法层面通过点提示引导机制与Swin Transformer结构的高效结合,显著降低了对大规模标注数据的依赖,同时提升了模型对心脏边界模糊、形态变异及邻近组织干扰的鲁棒性,为心血管疾病的计算机辅助诊断、术前规划及定量分析提供了一种兼具精度与灵活性的智能
针对心脏MRI图像中边界模糊、器官形变复杂以及标注成本高昂等痛点,本研究构建了一套以Swin Transformer为编码基座、融合人机交互机制的轻量化分割系统。该方案跳出传统全自动分割的思维定式,转而采纳“模型推理+专家微调”的协同策略,在模型输入层开辟了一条额外的点提示通道,允许操作者通过鼠标标记少量前景或背景点,将这些位置信息与图像特征并行馈入网络,从而将抽象的空间先验转化为可微分的学习信号,使得分割结果能够灵活响应个体差异与局部歧义。编码端采用基于移位窗口注意力的Transformer结构,以分层递降的分辨率捕获全局感受野下的解剖结构关联,解码端则通过逐步上采样与跨层特征拼接恢复空间细节,最终输出逐像素的二分类概率图。训练数据来自心脏MRI多切片序列,每张样本不仅包含原始影像与对应金标准掩膜,还通过随机采样前景点的方式模拟真实交互场景,迫使模型学会如何从稀疏的点监督中推断完整器官轮廓。损失函数选用标准交叉熵,用以衡量预测概率与真实标签之间的分布差异,同时引入混淆矩阵模块对训练与验证阶段的像素精度、召回率、F1分数、Dice系数及平均交并比进行逐轮次追踪,所有评估曲线均自动落盘保存,便于横向对比不同超参数配置下的性能演变规律。在工具链末端,系统配套开发了一个基于Tkinter的事件驱动型图形界面,将模型推理、点标注、结果渲染与图像交互四个环节无缝串联。用户上传图像后,可通过左键与右键分别部署正负样本点,随后系统自动完成坐标缩放、通道拼接、前向传播与掩膜重采样,最终在原始影像上叠加半透明彩色蒙层,清晰勾勒出模型判定的心脏区域。整套代码逻辑紧密、模块边界清晰,既可作为医学影像分割领域的教学范例,亦可经过少量适配迁移至其他器官或模态的交互式标注任务中,具备良好的扩展潜力与实用价值。

479

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧