使用Gui运行程序而不在Ubuntu中显示

时间:2015-08-22 13:28:42

标签: ubuntu x11

我有一台运行Ubuntu 14.04的服务器。我想在上面运行一个3D建模软件。我将发送一些参数,软件将根据这些参数自动生成模型并将数据发回。在整个过程中,我不需要与软件的Gui进行交互,但软件会在调用时启动GUI。

有没有办法在不需要显示的情况下运行它。

我尝试过X11转发,但这只是在我的本地机器上启动了Gui。我需要一种方法,让应用程序在服务器上完全运行,无需显示。

2 个答案:

答案 0 :(得分:7)

您需要Xvfb来虚拟化X11服务器,所以首先要做:

apt-get install xvfb 

您可能还需要这些包含xvfb:

sudo apt-get install x11-xkb-utils xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic x11-apps

然后您可以在没有任何GUI的情况下运行您的应用程序:

Xvfb :19 -screen 0 1024x768x16 &
export DISPLAY=:19
myapp &

答案 1 :(得分:-1)

我使用了一个带有轻量级窗口管理器的Xvnc服务器来实现类似的功能。这是我使用过的设置。在我的情况下,我正在运行Java程序,因此最后一步可能与您的情况不同。

安装Xvnc

Xvnc是一个虚拟帧缓冲区,可用于代替实际显示(以及鼠标和键盘)。它还包含VNC服务器,允许连接到机器并查看它显示的内容。

sudo apt-get install vnc4server

安装IceWM

IceWM是轻量级的,也是我尝试过的最稳定的窗口管理器。 默认选项无法正常运行我的应用,但对您来说可能已经足够了。以下是我尝试过的其他一些内容:

  • matchbox-window-manager遇到了我需要的助记符问题
  • fluxbox在某些对话框窗口中存在问题

使用apt-get:

安装IceWM以及主题(不确定是否需要主题)
sudo apt-get install icewm icewm-themes

必须配置Xvnc才能运行此管理器。更改(或创建文件,如果不存在)主目录~/.vnc/xstartup:上的配置文件。这又取决于你需要什么。

#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
icewm &

安装应用程序使用的必需库

Java需要一些我认为与X服务器一起提供的库。可以通过以下命令轻松安装它们。注意:尝试使用不同的窗口管理器时可能已安装了其中一些库,但我事先手动安装了它们。

sudo apt-get install libxrender1
sudo apt-get install libxtst6
sudo apt-get install libxi6 libgconf-2-4

运行您的应用

首先为vncserver设置密码。该命令将要求输入密码并验证密码。

vncpasswd

真实的显示在linux中用数字标识,这个数字通过DISPLAY env变量提供给应用程序。使用以下命令设置display和vncserver:

vncserver :10 -depth 16 -geometry 1600x900

深度和几何图形是显示器的颜色深度和分辨率参数。

设置DISPLAY属性:

export DISPLAY=:10

运行该应用。现在,如果要查看,可以连接到vnc。