无窗口 xterm? (为进程伪造终端)

无窗口 xterm? (为进程伪造终端)

我正在与 Matlab 的一个相当奇怪的问题作斗争。

启动脚本位于/opt/matlab_2013b/bin并称为matlab

  • 当我在终端中运行它时,它工作正常。

但我想在 Xfce 面板中为其制作一个启动器。

  • 就这样,它立即崩溃了:/opt/matlab_2013b/bin/matlab
  • 当我使用 时xterm -e "cd /opt/matlab_2013b/bin; ./matlab",它可以工作,但是我周围有一个无用的 xterm。 (如果我使用上面的内容并选择“在终端中启动”,结果相同 - 然后我有一个lxterminal,不是很大的改进)
  • sh -c "cd /opt/matlab_2013b/bin; ./matlab"不起作用(我想也许它会欺骗 matlab 认为它在终端中,但没有

我认为启动脚本必须以某种方式依赖于从交互式终端调用。

有没有办法在没有窗口的情况下运行 xterm 或其他终端?这样,在其中运行的进程就认为它在真实的终端中,但没有显示窗口?

答案1

您可以screen在分离模式下执行此操作。在你的启动脚本中添加类似这样的内容:

screen -d -m /opt/matlab_2013b/bin/matlab

它将创建一个分离的屏幕会话,这应该允许脚本启动。您可以随时正常附加到屏幕会话。

您几乎可以肯定可以使用 实现相同的效果tmux,但我还没有充分使用它来找出答案。

相关内容