2014-06-10 91 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。

相關問題