首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java在前台打开vi编辑器

Java在前台打开vi编辑器
EN

Stack Overflow用户
提问于 2017-06-02 04:11:35
回答 2查看 409关注 0票数 0

我试图在linux中使用Java代码打开vi编辑器( java代码通过shell脚本执行)。编辑器应该在前台打开&成为活动终端,而java应该在后台运行。

我尝试使用这两个命令:-

  1. 字符串[]命令= {"xterm“、"vi”、"/home/user/test.txt"};Process pr =Runtime.getRuntime().exec(命令);
  2. Process p=新的ProcessBuilder("vi","/home/user/test35.txt").start();

在上面的代码中,如果检查ps -ef \ grep,我可以处理这个进程,但是它在后台运行。我想在前台运行它,作为一个活动终端,作为用户将文本输入编辑器。而java将在后台运行。任何建议或片段。

我已经提到了这个Open VIM with Java application,但还是徒劳无功。

EN

回答 2

Stack Overflow用户

发布于 2017-06-02 04:24:25

如果您想要创建一个新的xterm ,并且在该终端中执行一个命令,则需要使用-e传递该命令。试试这个:

代码语言:javascript
复制
ProcessBuilder pb = new ProcessBuilder("xterm", "-e", "vi", "/home/user/test.txt");
票数 0
EN

Stack Overflow用户

发布于 2017-06-20 10:06:42

调试步骤是尝试通过命令打开终端&在Java代码中使用相同的命令。注意到我需要设置DISPLAY=:0。如果我通过root用户运行,则不需要其他用户导出显示。

代码语言:javascript
复制
String []command = {"/usr/bin/xterm","-e", "vi", "/home/hscpe/test.txt"};
 Process pr = Runtime.getRuntime().exec(command);

由于我是通过shell脚本运行java代码的,所以我将在shell脚本中添加导出,即导出DISPLAY=:0。现在将尝试使编辑器成为可编辑的(通过按I来刺激,即由java机器人插入)。

我指的是here & here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44320649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档