我正在使用一个非常简化的Linux版本,我想在没有安装X窗口环境的系统上创建一个自包含的GTK应用程序。 我想使用GTK GUI类和小部件,而不是创建禁用GUI的服务器版本。
唯一可以期待的是工作的glibc。
根据我的理解,它将涉及以下内容:
答案 0 :(得分:5)
GTK和X是独立的程序。您通常需要同时安装两个程序才能运行。或者,您可以通过为GTKfb切换GTK来使用Linux framebuffer。如果您不想分发库,则需要静态编译GTKfb及其依赖项。如果你这样做,请仔细阅读LGPL。 Red Hat有一篇关于使用GTKfb构建小型应用程序的论文:http://www.redhat.com/f/pdf/gtkfb.pdf。
答案 1 :(得分:2)
X库是用于连接X11服务器的X11客户端库。您的设备不运行此类服务器,X11客户端库将没有任何帮助。在嵌入式设备上,好的选择可能是使用直接访问帧缓冲区(例如,gtk-directfb,gtk-fb)
答案 2 :(得分:0)
你应该能够做到这一点;然而,大多数X / Gtk库通常是动态编译的,虽然它们应该静态编译,但您可能会遇到一些比特腐烂。
您是否考虑过将所有必需的共享库与您的应用程序捆绑在一起?您可以通过shell脚本包装器启动应用程序,该包装器设置库搜索路径以指向包含共享库的目录。
这类似于Firefox在Linux上用于插件路径的方法。
答案 3 :(得分:0)
您可以使用X Virtual Framebuffer。在Debian上,它是xvfb包。以下是包描述:
Xvfb提供了一个可以的X服务器 在没有显示的机器上运行 硬件,没有物理输入 设备。它模仿了一个愚蠢的人 framebuffer使用虚拟内存。该 这个服务器的主要用途是 打算进行服务器测试,但是 它的其他新用途 发现,包括测试客户 对不寻常的深度和屏幕 配置,进行批处理 用Xvfb作为背景渲染 发动机,负载测试,作为辅助 将X服务器移植到新服务器 平台,并提供一个不引人注目的 运行没有的应用程序的方法 真的需要一个X服务器,但坚持 反正有一个。
此软件包还包含一个 便利脚本叫做xvfb-run 这简化了自动化 在虚拟中执行X客户端 服务器环境。这方便 脚本需要使用xauth 程序
有关X.Org的更多信息可以 发现于:
http://lists.freedesktop.org/mailman/listinfo/xorg
此软件包是从X.org构建的 xserver模块。