Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.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/4/c/56.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
C++ 有没有可能有一个C/C++;linux裸体服务器中的GUI应用?_C++_C_Linux_User Interface_Ssh - Fatal编程技术网

C++ 有没有可能有一个C/C++;linux裸体服务器中的GUI应用?

C++ 有没有可能有一个C/C++;linux裸体服务器中的GUI应用?,c++,c,linux,user-interface,ssh,C++,C,Linux,User Interface,Ssh,当我在学校的linux服务器上做作业时,我对它非常失望。 原因是:我的作业要求做GUI应用程序 我所有的工具都是: -从本地计算机到学校计算机的ssh -gcc/g++在我的学校机器中的应用 一周来,我一直在思考和尝试不同的解决方案。 我仍然不知道如何将GUI引入我的应用程序 以下是我尝试过的一些解决方案: -安装一些图形库(sdl、ncurses…),但学校计算机不允许安装,因为我不是root用户 -尝试使用/X11/编译以生成X-GUI应用程序。然后通过ssh(隧道)运行它。这也不起作用,因

当我在学校的linux服务器上做作业时,我对它非常失望。 原因是:我的作业要求做GUI应用程序

我所有的工具都是: -从本地计算机到学校计算机的ssh -gcc/g++在我的学校机器中的应用

一周来,我一直在思考和尝试不同的解决方案。 我仍然不知道如何将GUI引入我的应用程序

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

那么,我能做什么?有人有什么建议吗? 如果你能帮忙解决问题,我将万分感谢你

多谢各位。
tsubasa可以通过

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

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

我不确定其他软件包的情况。

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

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

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

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


4) 尝试在服务器上的帐户内安装某种GUI包。这可能会失败,除非您非常非常擅长管理linux机箱,并且您以前已经手工构建过包

也许您可以放弃学校服务器,使用它在您的机器上本地运行linux虚拟机并在此基础上进行开发。它是免费的。

来自ncurses源存档中的“安装”文件:

安装 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

我尝试了这个方法,但出现了错误:apt get install ncurses E:无法打开锁文件/var/lib/dpkg/lock-open(13权限被拒绝)E:无法锁定管理目录(/var/lib/dpkg/),您是root吗?@tsubasa:您不能使用apt get,因为您不是root,您应该下载源代码包ie.tar.gz.tar.bz2,您可能需要从源代码构建ncurses才能安装到主目录中;大多数包管理器需要root用户才能访问其元数据存储。我如何才能像您所说的那样从源代码构建ncurses?我已尝试使用./configure,它工作正常。但在执行“makeinstall”时,root权限再次出现问题。那么,如何从源代码构建ncurse呢?请提供帮助。特别是,
--prefix=$HOME
要安装到您的主目录中。
  make install DESTDIR=XXX