簡體   English   中英

Java在前台打開vi編輯器

[英]Java open a vi editor in foreground

我正在嘗試在linux env中使用Java代碼打開vi編輯器(通過外殼腳本執行Java代碼)。 編輯器應在前台打開並成為活動終端,而Java應該在后台運行。

我試過使用兩個命令:

  1. 字符串[] command = {“ xterm”,“ vi”,“ /home/user/test.txt”}; 進程pr = Runtime.getRuntime()。exec(command);

  2. 進程p = new ProcessBuilder(“ vi”,“ /home/user/test35.txt”)。start();

在上面的代碼之一中,如果檢查ps -ef | grep vi,我能夠運行該程序,但是它在后台運行。 我想作為用戶將其輸入編輯器的用戶身份作為活動終端在前台運行。 而java將在后台運行。 任何建議或摘要。

我已經將此帶有Java應用程序的Open VIM提到了,但還是徒勞。

如果要創建新的xterm 在該終端中執行命令,則需要使用-e傳遞命令。 嘗試這個:

ProcessBuilder pb = new ProcessBuilder("xterm", "-e", "vi", "/home/user/test.txt");

我所做的調試步驟是我嘗試通過命令打開終端並在Java代碼中使用相同的命令。 問題發現,我需要設置DISPLAY =:0。 如果我是通過root用戶運行的,那么對於其他用戶,則不需要DISPLAY

String []command = {"/usr/bin/xterm","-e", "vi", "/home/hscpe/test.txt"};
 Process pr = Runtime.getRuntime().exec(command);

由於我是通過外殼腳本運行Java代碼的,因此我將在外殼腳本中添加導出,即export DISPLAY =:0。 現在將嘗試使編輯器可編輯(將通過按I來刺激,即通過Java robot插入)。

在這里這里提到

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM