GNU/Linux >> Linux の 問題 >  >> Linux

フレームバッファデバイスでテキストコンソールを開始するSystemdサービスはどれですか?

組み込みプラットフォームを使用しているので、/dev/fb0が必要です 私自身の使用のためにクリアします(画面が情報を表示するために使用されている間、Xなしでシリアルコンソールを介してアクセス可能なデバイス)。

すでにdefault.targetを変更しました グラフィカルからマルチユーザーまでですが、フレームバッファデバイスでログインプロンプトが表示されてgettyが開き、が見つかりません。 サービスはそれです。シリアルコンソールログインを偶然無効にしたくないので、lsof /dev/fb0では何も表示されません 開く。

ディストリビューションはYoctoLinuxです。それが役に立ったら、

承認された回答:

lsof /dev/fb0では何も表示されません 開く。

そうではありません。 Linuxカーネルに組み込まれているターミナルエミュレータプログラムがあります。ファイルハンドルが開いている実行中のプロセスとしては表示されません。フレームバッファと入力イベントサブシステムの上に階層化されており、内部カーネルインターフェイスを使用してアクセスします。これは、一連のカーネル仮想端末としてアプリケーションモードシステムに表示されます。 デバイス、/dev/tty1 など。 /sysの下の疑似ファイル アクティブなKVT番号を示します。および一連のCGAスタイルのビデオバッファデバイス、/dev/vcsa1 など。

これらのアプリケーションモードシステムの1つは、もちろんgettyです。 +login これらのカーネル仮想端末で動作するように構成できるシステムであり、(ご存知のとおり)デフォルトです。 gettyを簡単に取り除くことができます 文書化されたsystemdメカニズムを使用したプロセス。

古いシステムでは5init システム、各getty /etc/inittabのレコードになります 。 BSDのinit システム、各getty /etc/ttysのレコードです 。 systemdシステムでは、物事は少し間接的です。

  • 「ログイン」デーモン、logind 、systemdslangの「シート」と呼ばれるものについて知っています。 「シート」ゼロは、プライマリフレームバッファとそれらすべてのカーネル仮想端末を備えたものです。
  • その席については、logind Nを開始しようとします [email protected]という名前のsystemdサービス [email protected]N.service Nの値 NAutoVTsで設定されます /etc/systemd/logind.confでの設定 。
  • これらのsystemdサービスは、サービステンプレートユニットから作成されます。 、[email protected]という名前 。 テンプレートパラメータ 上記のように、カーネル仮想端末のデバイスファイルのデバイス名です。 、/dev/内 。
  • [email protected] デフォルトの構成では、[email protected]へのシンボリックリンクです。 。
  • [email protected] gettyの実行について説明しています プログラム、カーネル仮想端末デバイスファイルを介して入出力を行うように設定します。

したがって、これを停止するには、/etc/systemd/logind.confにアクセスしてください。 logindを構成します autovtを自動起動しない サービス(徹底的に知りたい場合は、仮想端末を予約しないでください)。

関連:PDFのページのサイズを変更するにはどうすればよいですか?

しかし、それだけではありません。ターミナルエミュレータプログラムはカーネルで引き続きアクティブであり、カーネルVTに送信されるログメッセージからカーソルの定期的な点滅まで、ターミナルエミュレータがフレームバッファの使用を妨害します。ただし、これは、フレームバッファを使用してカーネルターミナルエミュレータプログラムとネゴシエートするプログラムをコーディングする場合の問題です。このプログラムについては、すでにここで回答しています。

ちなみに、シリアルコンソールのログインはまったく異なるルートで行われます。 ジェネレーター [email protected]のインスタンスを作成します テンプレートユニットは起動時に起動し、検出した、または通知されたカーネルコンソールデバイスごとに1回インスタンス化します。

さらに読む

  • ビデオをフレームバッファにレンダリングするときに仮想コンソールを非表示にするためのベストプラクティス
  • https://superuser.com/a/723442/38062
  • logind.conf 。 systemdのマニュアルページ。 freedesktop.org。
  • 「マルチシート」systemd。 freedesktop.org。
  • systemd-getty-generator 。 systemdのマニュアルページ。 freedesktop.org。

Linux
  1. Rc.localを再作成する代わりに、SystemdでRc.localを正しく置き換えますか?

  2. Linux – Linuxカーネルはどのようにしてデバイスのメジャー番号とマイナー番号を認識しますか?

  3. Linux –どのモジュールがカーネルを汚染しているかを判断する方法は?

  1. ビデオをフレームバッファにレンダリングするときに仮想コンソールを非表示にするためのベストプラクティス?

  2. systemd サービスを停止する方法

  3. Kate は、起動元のコンソールでデバッグ メッセージを表示します。

  1. 名前がハイフンで始まるファイルの名前を変更できません

  2. systemd ジャーナルへのカーネル ログを無効にするにはどうすればよいですか?

  3. /proc 内のどのファイルが、起動プロセス中にカーネルによって読み込まれますか?