シェル間の切り替え、現在再生中の音楽を停止

シェル間の切り替え、現在再生中の音楽を停止

音楽を聴いて++に仮想コンソールを変更すると、突然音楽が停止しました。 Xサーバー++を実行しているコンソールに戻るか、Ctrl現在Alt使用中のコンソール(++)にユーザーとしてログインすると、音楽が再び再生を開始します。F2CtrlAltF7CtrlAltF2

Linux(私はUbuntuを使用しています)はマルチユーザーオペレーティングシステムです。私が知る限り、ユーザーが同時にログインして作業できる7つの仮想コンソールがあります。それでは、なぜこれが起こるのですか?コンソールの切り替え中にシステムが更新された場合はどうなりますか?

ベストアンサー1

Linux には複数の仮想コンソールがあります。Ctrl+ Alt+ このコンソールを切り替えます。コンソール 7 からコンソール 2 に切り替えると、入出力ペリフェラルがコンソール 7 からコンソール 2 にパスを変更します。コンソール7が無効になっていると、入出力周辺機器にアクセスできなくなります。モニターに画面が表示されず、アプリケーションがキーボード入力を受け取らないなどの現象が発生します。Fn

歴史的な理由から、サウンドの入出力はキーボード、マウス、ビデオモニタなどの入力デバイスとはまったく異なるチャンネルを使用しています。コンソールデバイス(オペレーティングシステムの抽象化)にはキーボードとビデオが含まれていますが、サウンドは含まれていません。 Unixシステムでは、最も一般的なサウンドベースの実装はそのシステムとは無関係であり、サウンドペリフェラルのアクセス許可はコンソールの所有権ではなくグループメンバーシップに基づいて付与されます。これは実際には設計上の欠陥です。

Ubuntuは、コンソールにログインしているセッションのみがオーディオデバイスにアクセスできるように設定されています。コンソールを切り替えると、他のコンソールにもログインしていないとオーディオデバイスにアクセスできません。これは事実、最初からやるべきことですが、コンソールインターフェースデザイナーがサウンドを考慮していないためです。

別のコンソールに切り替えると、CPUがコンソールではなくコンピュータに接続されているため、プログラムは実行を続けます。そのコンピュータにアカウントを持っている人は誰でもCPU時間を使用できます。メモリ、ファイルなどの他のリソースの場合も同様です(権限によって異なります)。ユーザーとの対話のみがコンソール所有権によって制御されます。ログインしていないコンソールに切り替えると、プログラムがサウンド出力デバイスにアクセスできないため、サウンドの再生が停止します。

私はUbuntuが次のようにアクセス制御を実装していると思います。ポルキットしかし、正確にどのように動作するのかわかりません。

おすすめ記事