我试图在linux中使用Java代码打开vi编辑器( java代码通过shell脚本执行)。编辑器应该在前台打开&成为活动终端,而java应该在后台运行。
我尝试使用这两个命令:-
在上面的代码中,如果检查ps -ef \ grep,我可以处理这个进程,但是它在后台运行。我想在前台运行它,作为一个活动终端,作为用户将文本输入编辑器。而java将在后台运行。任何建议或片段。
我已经提到了这个Open VIM with Java application,但还是徒劳无功。
发布于 2017-06-02 04:24:25
如果您想要创建一个新的xterm ,并且在该终端中执行一个命令,则需要使用-e传递该命令。试试这个:
ProcessBuilder pb = new ProcessBuilder("xterm", "-e", "vi", "/home/user/test.txt");发布于 2017-06-20 10:06:42
调试步骤是尝试通过命令打开终端&在Java代码中使用相同的命令。注意到我需要设置DISPLAY=:0。如果我通过root用户运行,则不需要其他用户导出显示。
String []command = {"/usr/bin/xterm","-e", "vi", "/home/hscpe/test.txt"};
Process pr = Runtime.getRuntime().exec(command);由于我是通过shell脚本运行java代码的,所以我将在shell脚本中添加导出,即导出DISPLAY=:0。现在将尝试使编辑器成为可编辑的(通过按I来刺激,即由java机器人插入)。
https://stackoverflow.com/questions/44320649
复制相似问题