web-dev-qa-db-ja.com

startxを使用せずにRaspberry PiにGUIを表示する

私は現在、adafruitのtouch-tftとラズベリーカム。

raspivid -p、bashの上のフレームにプレビューを表示します。

startxを使用せずにGUIを表示するアプリケーション(Java、python、c ++(推奨))を作成するにはどうすればよいですか?

Adafruitのtouch-tftはプロジェクト用ですが、startxには多くのリソースが必要です。もちろん、タッチ機能もあるのはクールです。

編集:

たぶん、私は少し混乱することを表明しました。startxを必要としないが、ある種のGUIを備えたアプリケーションを作成したいと思います。

以下の回答は100%準備ができているわけではありませんが、正しい方向を示してくれました。私は多くの同様の質問を見たので、段階的な解決策を提供しようとします:

  1. AdafruitのTFTでラズベリーをセットアップします: https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/overview TFTを標準ディスプレイとしてHDMIに置き換えます)

  2. 必ずFRAMEBUFFER=/dev/fb1 startxはTFT画面で正常に動作しています。テレビをHDMIポートに接続しているため、テレビ画面でbashを使用してTFTでxを実行できます

  3. このチュートリアルに従って、最初のpygameを作成します。 http://www.pygame-doku.laymaxx.de/tut/intro/intro.html (コピーして貼り付けるだけで、wget ball.gif

  4. 最初に次の2行を挿入します:(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

HDMI出力がまだテレビにBASHを表示している間にTFTで跳ねるボールが表示されるはずです(もちろんアクティブではありません)画面に触れると、手順6を完了するとゲームが終了します

なぜこれをしているのですか?このようにして、シンプルなGUIを表示できます。 RPIをホームコントロールに使用する場合にライトをオン/オフにするなどのアクションを実行するボタン。

15
G-M

たとえば、pygameライブラリを使用できます!このチュートリアルを確認してください http://archive.furtherfield.org/rp-resources/RP-workshop-handout.pdf pg。 17

11
Dimitry K

以下に、選択したグラフィックプログラムを起動するための最小ウィンドウマネージャーになる方法の詳細な説明があります。

-必要なパッケージのインストール:

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

-問題のシステム、[新しいユーザーインターフェイスの追加] gdm3を選択します。ターミナルはデフォルト名が使用されます。

adduser kiosk

-Create-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

私が助けたことを願っています

6
Bmuller

rwid 、ターミナルで実行できるテキストベースのUI、またはstartxなしで起動したRaspberry Piで確認してください。

1
Alex Poulsen

要するに、geditのようなアプリケーションはデスクトップ環境(Gnome、Kdeなど)の上に構築されます。

0
Kei