是否有可能在Linux裸机服务器中拥有一个C / C ++ GUI应用程序?

时间:2009-12-09 05:05:42

标签: c++ c linux user-interface ssh

我在学校的linux服务器上做家庭作业时非常失望。 原因是:我的作业需要进行GUI应用。

我拥有的所有工具是: - 从我的本地机器到学校机器的ssh - 我学校机器中的gcc / g ++

我一直在思考并尝试了一周不同的解决方案。 我仍然无法弄清楚如何将GUI引入我的应用程序。

以下是我尝试的一些解决方案: - 安装一些图形库(sdl,ncurses ...),但学校计算机不允许安装,因为我不是root用户 - 尝试使用/ X11 /编译以生成X-GUI应用程序。然后运行它throgh ssh(隧道)。这不起作用,因为学校计算机没有位于X11中的头文件。

那么,我能做什么?有人有建议吗? 如果你能为解决方案提供帮助,我将万次感谢你。

非常感谢你。 翼

5 个答案:

答案 0 :(得分:4)

如果从源代码安装它们,应该可以在用户空间(在主目录中)安装大多数东西,比如ncurses甚至X11。使用Gnu包,您只需使用--prefix =作为参数进行配置,如下所示:

./configure --prefix=/name/of/directory/to/install/into 

我不确定其他包裹。

答案 1 :(得分:2)

如果没有链接的GUI库,您将无法在该服务器上开发C / C ++应用程序。在我看来,你有几个选择:

1)在其他地方开发此GUI应用程序。如果它必须在Linux中,并且您是Windows / Mac用户,则可以在虚拟机上安装Ubuntu(或其他一些Linux Distro)并获得功能齐全的环境。

2)联系Linux管理员解释作业分配并说服他们为您安装GUI包。 (让教授也联系Linux管理员可能会有所帮助)(如果您不知道linux管理员是谁,请尝试通过电子邮件发送root @ linuxbox

3)修改“GUI”环境的规则。例如,您的C / C ++应用程序是否可以通过Web浏览器输出HTML文件以获得类似GUI的体验?

4)尝试在服务器上的帐户中安装某种GUI包。这可能会失败,除非你非常非常擅长管理一个linux盒子,并且你之前已经手工构建了包。

答案 2 :(得分:1)

可以使用ncurses

执行此操作

答案 3 :(得分:0)

也许您可以放弃学校服务器并使用Virtualbox在您的计算机上本地运行Linux VM并进行开发。它是免费的。

答案 4 :(得分:0)

来自ncurses源档案中的“INSTALL”文件:

The package gets installed beneath the --prefix directory as follows:

In $(prefix)/bin:          tic, infocmp, captoinfo, tset,
          reset, clear, tput, toe
In $(prefix)/lib:          libncurses*.* libcurses.a
In $(prefix)/share/terminfo: compiled terminal descriptions
In $(prefix)/include:      C header files
Under $(prefix)/man:       the manual pages

Note that the configure script attempts to locate previous
     

安装       ncurses,并根据找到的位置设置默认前缀       ncurses标题。

Do not use commands such as

  make install prefix=XXX

to change the prefix after configuration, since the prefix value
     

被使用       对于某些绝对路径名,例如TERMINFO。而是这样做

  make install DESTDIR=XXX

因此我建议使用“make install DESTDIR = XXX”,其中XXX是您写入权限的位置。

HTH