Beaglebone black上的简单GTK应用程序有一个空白的白色窗口

时间:2014-08-26 14:35:14

标签: gtk beagleboneblack

我开始为Beaglebone Black开发并刚刚为GTK编写了一个测试应用程序:

#include <gtk/gtk.h>

int main( int argc, char *argv[])
{
      GtkWidget *window;

      gtk_init(&argc, &argv);

      window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
      gtk_widget_show(window);

      gtk_main();

      return 0;
}

我使用

进行编译
gcc -o simple simple.c `pkg-config --libs --cflags gtk+-2.0`

并且按预期成功。但是当我在BBB上运行应用程序(运行Angstrom)时,我得到的只是显示屏左上方的白色方块。什么想法可能是错的?

3 个答案:

答案 0 :(得分:2)

听起来你的BBB并没有运行一个窗口管理器,你只是看到了未修饰的空窗口。尝试在窗口中添加一些小部件,看看它们是否出现

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

GtkWidget *button = gtk_button_new_with_title("Hello World!");
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show (button);

gtk_widget_show (window);

尝试在普通桌面上运行它,看看它是否符合您的期望

答案 1 :(得分:1)

我在BBB(2013-09-04)的最新Angstrom版本中也遇到了同样的问题。切换到Debian构建,一切正常。它可能是Gnome版本,但我没有足够的Linux经验来确认这个

答案 2 :(得分:1)

我今天下午花了同样的问题,我找到了一个适合我的解决方案。这里提出的解决方案:BeagleBoard forum post是将窗口管理器从gdm切换到xcfe。以下是步骤的记录:

1) Install lxdm

# opkg install lxdm

2)  Disable gdm

# systemctl disable gdm.service

3) Enable lxdm

# systemctl enable lxdm

4)  install xcfe 

# opkg install packagegroup-xfce-base

5)  reboot and then when you get the login screen in the lower left make sure you select en for language and xfce for desktop otherwise it just brings you back to the login prompt - you should not know how long it took me to figure that one out....

我刚刚完成了对此方法的测试,它对我有用:Screenshot of it working