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

使用Gui运行程序而不在Ubuntu中显示,ubuntu,x11,Ubuntu,X11,我有一台运行Ubuntu 14.04的服务器。我想在上面运行一个3d建模软件。我将发送一些参数,软件将根据这些参数自动生成模型并将数据发送回。在整个过程中,我不需要与软件的Gui交互,但只要调用Gui,软件就会启动Gui 有没有一种不需要显示器就可以运行的方法 我尝试了X11转发,但这只是在本地机器上启动Gui。我需要一种应用程序完全在服务器上运行的方式,而不需要显示器。您需要Xvfb来虚拟化X11服务器,因此首先要: apt-get install xvfb 您可能还需要这些xvfb软件包

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

有没有一种不需要显示器就可以运行的方法


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

您需要
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 &

我使用了带有轻量级窗口管理器的Xvnc服务器来实现类似的功能。这是我使用的一个设置。在我的例子中,我运行的是一个Java程序,所以最后一步在您的例子中可能会有所不同

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

sudo apt-get install vnc4server
安装IceWM IceWM是我尝试过的最轻量级和最稳定的窗口管理器。 默认选项无法正确运行我的应用程序,但对您来说可能已经足够好了。以下是我尝试过的其他一些方法:

  • 火柴盒窗口管理器出现了我需要的助记符问题
  • 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变量提供给应用程序。使用以下命令设置显示器和vncserver:

vncserver :10 -depth 16 -geometry 1600x900
深度和几何图形是显示器的颜色深度和分辨率参数

设置显示属性:

export DISPLAY=:10

运行应用程序。如果您想查看vnc,现在可以连接到它。

比我的容易多了。