首页 > 解决方案 > 没有 X11 转发时远程运行 emacs 失败

问题描述

我一直在编写从终端开始的 java 程序。我的程序必须执行的任务之一是在我最喜欢的文本编辑器中打开一个文本文件。我已经用下面的命令很容易地完成了这个,但它只在某些情况下有效。

  Runtime.getRuntime().exec("emacs "+p.fullName);

当我在本地 Linux 上以及使用 -X 标志(对于 X11)连接到计算机时,这非常有用。在这些时候,编辑器会在一个单独的窗口中弹出。但是,如果我在没有 -X 的情况下 ssh,我心爱的文本编辑器将永远不会出现。这是我试图在与 Java 程序相同的终端中打开编辑器的时候。

这样做的原因似乎是有道理的,java 程序当前正在占用终端,因此编辑器要么在分离状态下创建,要么根本不创建。无论哪种方式,我想做的是以某种方式将我的程序置于后台并将我的编辑器设置为我的前台进程。还有比上下文切换更好的术语吗?

编辑:Emacs 此刻给了我这个错误:emacs: standard input is not a tty

编辑:删除了对 Lanterna 的提及,因为没有它,错误是可重现的。

标签: javalinuxemacs

解决方案


推荐阅读