java - 没有 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 的提及,因为没有它,错误是可重现的。
解决方案
推荐阅读
- javascript - 如何处理 Angular 流中多个位置的捕获错误?
- sql - SQL Server 触发器显示“异步”行为
- ubuntu - 为 samba 服务器扩展磁盘空间
- python - 保存我可以调用打印函数的嵌套 JSON 响应?
- python - Pandas 错误:索引包含重复条目,无法重塑
- html - Tailwind css 适用于新课程不起作用
- node.js - 在 Windows 中更改 nodeJS 可执行文件的默认路径(没有管理员权限)
- registry - 使用 Inno Setup 以二进制格式将当前日期存储到注册表
- terraform - 为什么我会收到此 GRPCProvider UpgradeResourceState terraform 错误?
- sql - 在 GROUP BY 中按行数获取前 N 行