Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 打开并显示linux终端?_Java_Linux_Terminal_Console - Fatal编程技术网

Java 打开并显示linux终端?

Java 打开并显示linux终端?,java,linux,terminal,console,Java,Linux,Terminal,Console,我正在用java打开并显示默认的windows命令提示符: Runtime.getRuntime().exec("cmd.exe /C dir & start cmd.exe /k dir "); 很好用 但是我想知道我是否可以在linux上(在WindowsX环境中)用linux终端做同样的事情?(请注意,终端/控制台应该对用户可见,接受输入等,而不是隐藏在后台运行)这在linux中相当困难,因为没有默认终端,大多数系统甚至同时安装了多个终端。您可以尝试启动xterm。但用户最喜欢的

我正在用java打开并显示默认的windows命令提示符:

Runtime.getRuntime().exec("cmd.exe /C dir & start cmd.exe /k dir ");
很好用


但是我想知道我是否可以在linux上(在WindowsX环境中)用linux终端做同样的事情?(请注意,终端/控制台应该对用户可见,接受输入等,而不是隐藏在后台运行)

这在linux中相当困难,因为没有默认终端,大多数系统甚至同时安装了多个终端。您可以尝试启动
xterm
。但用户最喜欢的终端将是他的个人偏好,因此为其添加配置设置是明智的。@Ferrybig默认启动xterm(用户可选覆盖)应该不会有问题。但是默认(xterm)是否支持启动第二个终端,因为当我使用java启动xterm(如上面的代码)时,它开始隐藏,换句话说,它不接受用户输入。许多解决方案只是简单地尝试三种典型安装方法,一些解决方案检测当前的桌面环境,这表明首选的终端仿真器是什么,最后并非最不重要的一种解决方案通常有一个特定的目标系统,在这个系统中,用户确切地知道自己想要启动什么仿真器。@arkascha干杯!您是否介意分享“典型安装方法”(仅名称就足够了,我们可以找出其余的方法),这将是对本文的一个很好的补充;-)嗯,我会按以下顺序尝试:
gnome终端
konsole
guake
yakuake
xterm
。还有更多,但其中一个肯定是可用的。但是请注意,这并不能解决窗口不弹出的问题,因为这不是特定仿真器(在您的例子中是xterm)的问题,而是在传统X环境中实现的附加权限层的问题。请注意,与MS Windows不同,所有unixoid环境(Linux也是如此)都是多用户环境。听起来您的进程无法访问活动的图形显示。