2014-06-10 90 views
15

我目前在用adafruit的touch-tft和覆盆子凸轮来播放我的全新树莓。在没有startx的情况下在Raspberry Pi上显示GUI

我注意到,如果我运行raspivid -p,它会在bash顶部的框架中显示预览。

如何创建应用程序(java,python,C++(首选))来显示GUI而不必startx

我很乐意使用adafruit的touch-tft作为一个项目,但startx需要大量的资源。当然,拥有触摸功能也是很酷的。

编辑:

也许是我表达自己有点困惑:我想创建一个不需要startx的,但具有某种GUI的应用。

下面的答案不是100%准备就绪,但他们指出我正确的方向。因为我看到很多类似的问题,我会尽量给一步一步的解决方案:

  1. 设置你的覆盆子与Adafruit的的TFT:https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/overview (你没有与HDMI更换TFT作为非标准显示器)

  2. 一定FRAMEBUFFER=/dev/fb1 startx是TFT屏幕上正确运行,我有我的电视在HDMI端口中插入,这样我可以使用电视屏幕上,并运行X在bash的TFT

  3. 关注本教程创建您的第一个pygame:http://www.pygame-doku.laymaxx.de/tut/intro/intro.html (你可以复制粘贴&,wget ball.gif

  4. 插入这2条线在beggining:(github.com/notro/fbtft/wiki/Pygame)

    import os 
    os.environ["SDL_FBDEV"] = "/dev/fb1" 
    
  5. 如果你想测试触摸屏,你可以改变线路15: 来源:

    if event.type == pygame.QUIT: sys.exit() 
    

    要:

    if event.type == pygame.MOUSEBUTTONDOWN: sys.exit() 
    

    ,如果你触摸屏幕

  6. 保存文件例如这将退出该应用程序pygame1.py与$python pygame1.py

您现在应该看到在你的TFT反弹球,而HDMI输出仍然显示BASH在电视上(但不活跃,当然)触摸屏幕将退出执行游戏如果你完成第6步

为什么我这么做?这样你就可以显示一个简单的GUI,例如按钮可以执行一些操作,例如,如果您使用RPI进行家居控制,请将灯打开/关闭。

+0

我相信你需要某种类型的窗口管理器来显示像gedit这样的应用程序。 –

+0

这只适用于pygame吗?我正在运行一个kivy应用程序。我想在启动时运行该程序,并且不想通过startx进入应用程序,因为我使用的是没有GUI的发行版,因为我需要在许多树莓上实现此功能。我会尝试你的小费,如果它能够工作,我会找到你,并为你买一瓶啤酒,因为我一直在抨击我的大脑,将我的应用程序移植到piTFT几天。 –

+0

它不起作用。最奇怪的是,应用程序被移植到HDMI,然后接受来自piTFT的触摸事件,所以我可以在piTFT上移动鼠标,但没有图形显示。太令人沮丧了。 –

回答

0

总而言之,像gedit这样的应用程序是建立在桌面环境(例如Gnome,Kde)之上的。

+0

在Rasbian中,标志显示在bash的顶部怎么可能? –

+0

因为raspvid库完全独立于桌面环境。有关更多信息,请参阅http://www.raspberrypi.org/documentation/raspbian/applications/camera.md – Kei

+0

这很明显,因为它在没有startx的情况下运行。问题是:我怎样才能用我自己的程序来实现这一目标? –

6

下面,您将找到如何成为最小的窗口管理器以启动您选择的图形程序的详细说明。

- 安装所需的软件包:

apt-get update 
apt-get install xorg - no-install-recommends gdm3 matchbox-window-manager Iceweasel rsync-y 

- 系统有问题,选择添加新的用户界面gdm3。终端是将使用的默认名称。

adduser kiosk 

-reate-xsession。该脚本将在用户登录时执行。

xset s off 
xset -dpms 
matchbox-window-manager & 
while true; do 
rsync -qr --delete --exclude='.Xauthority’ /opt/kiosk/ $HOME/ 
firefox http://www.google.com (Replace your application!!!) 
done 

保存Ctrl + O;退出:Ctrl + X

chmod a + x. xsession 
cp/opt/kiosk/.xsession/home/kiosk 

设置自动登录。信息亭用户将在启动后自动进入。

nano/etc/gdm3/daemon.conf 
[Daemon] 
AutomaticLoginEnable = true 
AutomaticLogin = kiosk 

我们选择配置,程序,如果在没有加载整个屏幕必要

- 屏幕校准:

/ Boot/config.txt file, clear the comment: 
disable_overscan = 1 

我希望我帮助

+0

yeesh我该怎么做,所以它不会自动启动?我如何从控制台调用start-matchbox脚本。 (我也喜欢控制台) – Phlip

1

检出Urwid,一个基于文本的ui,可以在终端中运行,或者我假设,在没有startx的情况下启动Raspberry Pi。

相关问题