ユーザー空間で/dev/fb0をコンソールとして使用するか、テキストを出力する方法

ユーザー空間で/dev/fb0をコンソールとして使用するか、テキストを出力する方法

だから私はPalm Pre(オリジナルP100EWW)モデルを持っていて、開発者モードを有効にしてDebian Squeeze chrootをインストールしました。良い結果。私はそれを携帯電話以外のもの(ビットトレントピア、Webサーバー)に使用する予定です。

これにより、実際にエラーが生成されるcat /dev/urandom > /dev/fb0まで画面にランダムなピクセルが記録されることがわかりました。No space left on deviceいいですね。これでモニターを使用できるようになります。

A)テキストを出力できるコンソールとして/ dev / fb0を使用するか、B)コマンドラインから/ dev / fb0にテキストをレンダリングするユーティリティがありますか?

私はこれを行うためにカーネルを再コンパイルすることはまだわかりません(最終的にWebOSを完全に削除して最小限のARMサーバーに切り替えたいと思います)。したがって、ユーザースペースツール(存在する場合)は私が尋ねるものです。また、Xを使用する代わりに/ dev / fb0に直接レンダリングすることを好みます。

ベストアンサー1

複数の人々がすでにカーネルとバッチに関する質問の部分に答えています。(テキストの代わりに)をフレームバッファに保存しましたが、残りはこれまで解決されていません。はい、カーネル仮想端末サブシステムを使用して、いわゆるスピーチを作成できます。フレームバッファコンソール。ただし、フレームバッファデバイスを使用して次の作業を実行できるツールはいくつかあります。ユーザー空間仮想端末。これには以下が含まれます。

  • チョンカンダーバン) - カーネルサブシステムよりもCJK I / Oを処理するように設計されたユーザースペース仮想端末。特に強みは、ISO 2022非UTFエンコーディングを処理することです。特に弱点はUTFエンコーディングです。
  • Facebookの用語ダーバン) — 次のような複数のフォークを作成したユーザー空間仮想端末共同用語。これには、さまざまなCJK入力方式プラグインがあります。
  • ボグ-bterm(ダーバン) — 分岐したユーザ空間仮想端末です。ニテム
  • アリ・ゴラミ・ルディ鍵盤- Xライブラリに依存しない最小限のユーザースペース仮想端末。
  • console-terminal-emulatorそしてツールconsole-fb-realizerおやつ- LinuxおよびFreeBSD / PC-BSDカーネル仮想端末を複製するように設計されたユーザー空間仮想端末。また、Xライブラリに依存しません。
  • キロメートルスコーン— システムと密接に接続されたユーザー空間仮想端末logindsystemdのサーバーと「座席」の概念。

特にAli Gholami Rudiは、単純なフレームバッファ操作以上の端末エミュレータを作成しました。 彼も書いたDirect-to-framebuffer PDFビューア、VNCビューア、メディアプレーヤー、Quranリーダー。

完全な並列比較はこの回答の範囲外ですが、以下は質問に関連するいくつかの重要な点です。

  • 前述のように、一部のユーザー空間仮想端末プログラムは、フォント処理、キーボードマッピング、CJK入力方法などのためにXライブラリを利用しています。 X クライアントではありませんが、X ライブラリに依存しています。 fbpadnoshツールはXライブラリを使用するようには設計されていません。
  • フォント処理にXライブラリを使用するプログラムだけでなく、Xフォントも使用します。他の人は別の計画を持っていました。
    • bogl-btermとfbpadはどちらも独自の特殊フォントフォーマットを持っています。 1つは、このツールを使用してbdftoboglBDFフォントをBOGLフォントに変換することです。もう1つは、ft2tfを使用してTTFをfbpadに変換することです。アーチ)ツール。
    • noshconsole-fb-realizerツールの使用と新しいFreeBSD 10.1カーネル仮想端末サブシステムこれが実際に本当であるため、FreeBSDフォント操作ツールが共有されました。vtfontcvtBDFフォントを変換するために使用されます。
  • Xライブラリを使用するプログラムはXキーマップを使用します。他のすべての人の場合:
    • noshツールには、ISO "Universal" Group 2用の完全なISO 9995-3機能キーボードを提供するように設計された独自のキーマップ形式があります。このconsole-convert-kbdmapツールを使用して、BSD kbdmapファイルをこの形式に変換できます。繰り返しますが、このkbdmapファイルはFreeBSD/PC-BSD vtサブシステムで使用
    • fbpad は独自のキーマッピングをまったく実行しませんが、カーネル仮想端末サブシステムとそのキーマッピングメカニズムの存在に依存します。
  • 通話と必須権限にはいくつかの違いがあります。
    • zhcon、fbterm、bogl-bterm、fbpad、およびkmsconは、端末から直接シェル/ログインプログラムを子プロセスとして生成する端末エミュレータによって動作します。を作成するにはスーパーユーザー権限が必要ですlogin
    • noshツールは既存の/etc/ttys(BSD)、/etc/inittab(Linux System 5 init)、または他のシステムと統合するように設計されており、getty / login / shellの作成操作はこれらのシステムに委ねられます。 console-fb-realizerフレームバッファと入力イベントデバイスを開いて(スーパーユーザー権限は必要ありません)、管理するFIFOおよび一般ファイルにアクセスするのに十分な権限が必要です。これは特別なconsole-terminal-emulator権限を必要としません。

これらはすべて端末エミュレータ確かに。端末エミュレーションを削除し、フレームバッファにテキストを直接配置するには、次のようないくつかのオプションがあります。

  • bogl-btermはもちろん、Ben Pfaffに基づいています。Benの独自のグラフィックライブラリシステム設定/構造環境で使用するように設計されたフレームバッファI / Oライブラリ(および「PDA用GUI」)。もちろん、それを直接使用するプログラムを書くこともできます。
  • セルフレンダリングを実行するためにフレームバッファライブラリを使用するプログラムの作成とターミナルであると思うことにエスケープシーケンスを生成するプログラムとの間の中間の切り替えのために:noshユーザー空間仮想ターミナルはモジュール式であり、コンポーネント部分に分けられます。まったく動作しませんconsole-terminal-emulator

    console-fb-realizer/dev/vcsa*Unicodeコードポイント、ECMA-48属性、および24ビットRGBカラーを持つ通常のファイル(文字特殊デバイスファイルではない)に似た文字セル配列を持つ表示ファイルを使用します。したがって、これを実行してから、文字+属性+色を文字セル配列ファイルに直接書き込んでから、フォントをconsole-fb-realizerフレームバッファにレンダリングできます。

    ところで:これは次のようにはなりません。BRLTTYとの統合を使用しますconsole-terminal-emulatorが、実行されませんconsole-fb-realizer

おすすめ記事