デスクトップ環境なしで大きなテキストを表示(グラフィックモードで?) [複製]

デスクトップ環境なしで大きなテキストを表示(グラフィックモードで?) [複製]

前提:

自動車ドア自動化シナリオでは、私はUbuntuヘッドレスサーバーで実行されると思われるデーモンを構築しています。

      linux headless host
    +----------------------+
    |                      |
    |                      |
    |                      |
    |   +--------------+   |
    |   | graphic card |   |
    +---+------+-------+---+
               | HDMI
               |
               |
+--------------v---------------+
|                              |
| Please contact the operator. |
| Push the emergency button    |
|                              |
|                              |
|                              |
|                              |
+------------------------------+
     high resolution screen

ターゲット:

デーモンは画面に簡単なテキストを表示する必要があります。デフォルトではstdoutにテキスト行を作成するだけですが、デスクトップ環境でgnome端末を使用するのと同じように、設定可能な大きなサイズのフォントと幾何学的図形を使用できます。要点は、問題を解決するためにデスクトップ環境をインストールすることを避けることです。

端末例の大きなテキスト

clear && echo "Please contact operator"スクリーンショットは、フォントサイズ設定が異なるgnome端末のコマンドを示しています。

しかし、大きなフォントを必要とするのは、トラックドライバーがコンピュータモニタから1/2メートルの距離で表示されたテキストを読み取るからです。

メモ:

質問:

ヘッドレスコンピュータで大きなフロントテキスト(グラフィックモード)をどのように表示しますか?

ベストアンサー1

私は最悪のIMHOから最高のIMHOまで、私が見つけた3つのソリューションを共有するために自分自身に答えました。

  1. toiletまたは同じプログラムを使用してください。figlet
clear && printf "push the\nemergency\nbutton" | toilet -t --font=mono12

                               ▄▄                            ▄▄
                               ██                    ██      ██
 ██▄███▄   ██    ██  ▄▄█████▄  ██▄████▄            ███████   ██▄████▄   ▄████▄
 ██▀  ▀██  ██    ██  ██▄▄▄▄ ▀  ██▀   ██              ██      ██▀   ██  ██▄▄▄▄██
 ██    ██  ██    ██   ▀▀▀▀██▄  ██    ██              ██      ██    ██  ██▀▀▀▀▀▀
 ███▄▄██▀  ██▄▄▄███  █▄▄▄▄▄██  ██    ██              ██▄▄▄   ██    ██  ▀██▄▄▄▄█
 ██ ▀▀▀     ▀▀▀▀ ▀▀   ▀▀▀▀▀▀   ▀▀    ▀▀               ▀▀▀▀   ▀▀    ▀▀    ▀▀▀▀▀
 ██




  ▄████▄   ████▄██▄   ▄████▄    ██▄████   ▄███▄██   ▄████▄   ██▄████▄   ▄█████▄  ▀██  ███
 ██▄▄▄▄██  ██ ██ ██  ██▄▄▄▄██   ██▀      ██▀  ▀██  ██▄▄▄▄██  ██▀   ██  ██▀    ▀   ██▄ ██
 ██▀▀▀▀▀▀  ██ ██ ██  ██▀▀▀▀▀▀   ██       ██    ██  ██▀▀▀▀▀▀  ██    ██  ██          ████▀
 ▀██▄▄▄▄█  ██ ██ ██  ▀██▄▄▄▄█   ██       ▀██▄▄███  ▀██▄▄▄▄█  ██    ██  ▀██▄▄▄▄█     ███
   ▀▀▀▀▀   ▀▀ ▀▀ ▀▀    ▀▀▀▀▀    ▀▀        ▄▀▀▀ ██    ▀▀▀▀▀   ▀▀    ▀▀    ▀▀▀▀▀      ██
                                          ▀████▀▀                                 ███


 ▄▄
 ██                    ██        ██
 ██▄███▄   ██    ██  ███████   ███████    ▄████▄   ██▄████▄
 ██▀  ▀██  ██    ██    ██        ██      ██▀  ▀██  ██▀   ██
 ██    ██  ██    ██    ██        ██      ██    ██  ██    ██
 ███▄▄██▀  ██▄▄▄███    ██▄▄▄     ██▄▄▄   ▀██▄▄██▀  ██    ██
 ▀▀ ▀▀▀     ▀▀▀▀ ▀▀     ▀▀▀▀      ▀▀▀▀     ▀▀▀▀    ▀▀    ▀▀


  1. フレームバッファ内の画像の可視化

テキストが「静的」(固定)の場合、回避策はフレームバッファにビットマップ(必要なテキストを含む画像)を表示することです。

古いが良いユーティリティは次のとおりですfbi

$ sudo apt install fbi

したがって、画像がフルスクリーンfullscreen_text_image.PNGビットマップ(PNG形式など)の場合、画像を5秒間表示するコマンド(トリック)は次のようになります。

sudo fbi --noverbose --timeout 5 --once fullscreen_text_image.PNG

  1. フレームバッファ端末エミュレーション

fbterm古いフレームバッファ端末エミュレーションプログラム。良い機能は、選択できるオプションが多いことです。たとえば、非常に大きなフォントサイズを使用できます。

sudo apt install fbterm

# run the terminal emulation on the framebuffer
fbterm --font-size=300

# remove prompt
PS1=''

# remove cursor
setterm --cursor off

# other settings (e.g. change background color)
# setterm --background red

# font change
# setfont /usr/share/consolefonts/Uni3-Terminus32x16.psf.gz

示されているようにfbtermを実行すると、「通常の」stdoutを得ることができますが、非常に高いグラフィック品質を持つ非常に大きなテキストを得ることができます!図を参照してください。

ここに画像の説明を入力してください。

おすすめ記事