I would go back to your users and ask them how they are running xbiff. The beauty of X Windows is that you don't need to run a program on the same machine as it is being displayed.
xbiff is an X-windows client application, and it could well be that they are running xbiff on the
email server, but displaying in on another
X-Windows server, probably on their own desktop.
That's certainly what I'd recommend if you want to run X-Windows programs on the server while minimising the overhead in terms of CPU and RAM.
To answer your specific questions:
1) No, it's not necessary to have X-Windows running on the physical graphics card to run an X-Windows server.
There are two options: You can have a virtual xserver device - which doesn't have a GUI but pretends to so that you can run X client programs without using the GUI. Useful for automated testing, but not much else.
3) I'll answer this out of order because this is the second option. You can use a VNC server like xvncserver or tightvncserver to run as many desktops as you like, which you can connect to using a VNC client much like remote desktop. The CPU overhead is relatively small, although they do take memory and GUI programs tend to be more CPU intensive than desktop programs.
2) This is Linux, so there are several options:
- xserver-xorg will install a server on the graphics card.
- vncserver is a good VNC server for a LAN, or
- tightvncserver works better over a lower bandwidth network connection.
- xrdp is another alternative, compatible with Windows' Remote Desktop clients.
Hope that helps,
—Robert J Lee