ルートとして実行されているXorgでVTスイッチが機能しないのはなぜですか?

ルートとして実行されているXorgでVTスイッチが機能しないのはなぜですか?

影響を受けるソフトウェアのバージョン:

$ rpm -q --whatprovides /usr/bin/Xorg
xorg-x11-server-Xorg-1.19.6-8.fc28.x86_64

(つまり、これは最新のFedora 28 Workstationインストールにあります。)

再現段階:

  1. Ctrl+Alt+F5 を使用して text vt 5 に切り替えてログインします。
  2. sudo -i
  3. Xorg :10
  4. ctrl+alt+f6 を使用してテキスト vt 6 に切り替えます。
  5. vt 5に戻すには、ctrl + alt + f5を使用してください。

予想される結果:グラフィックXセッションが表示されます(完全に黒い画面、マウスカーソルなし)。

実際の結果:Xorgのいくつかのログメッセージを含むテキストコンソールが表示されます。 Xorgプロセスはまだ実行中です。

追加情報:

画面に表示される最後の行は次のとおりです。

(II) AIGLX: Suspending AIGLX clients for VT switch

また、/var/log/Xorg.10.log は、Xorg が systemd-logind を使用しないことを示しています。

(II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration

答え1

Xorgがどのように機能したかを間違って覚えています:) VT1からVT6まではテキストコンソール用に予約されていたので、XはVT7以降で実行されていたことを覚えておいてください。

systemdとログインの場合、VTはデフォルトで要求に応じて設定されます。 VT2 に切り替えないと、VMwaregettyloginVMware の両方が VT2 から起動しません。対照的に、VT2はまだ利用可能であり、最初の無料VTを使用するXorgのようなプログラムで要求することができます。

Xorgセッションが実際にVT2にあることを確認するもう1つの方法は、それを制御端末としてマークするps -axことです。tty2

以前のシステムでは、テキストVTにログインしてXorgを起動した場合、現在のテキストVTは再利用されません。startx最新のシステムでテキストVTを再利用するのは混乱しています。しかし、これはログインを使用するためです。ログインすることで、Xは権限のないプロセスから始めることができます...他のVTに切り替える権限はありません。ログメッセージに記載されているオプションは、この目的の-keepttyために特別に追加されました。


Xorg -keepttyで実行しないことをお勧めしますsudo -i-keepttyこの状況のた​​めに特別に設計されていません。または、少なくとも私のシステムでは正常に動作しません。古いコードと新しいコードが互いに戦い始めるようです:) -

テキストカーソル(下線)が点滅しない画面が表示され、「ctrl + alt + f6」はテキストvt6に切り替わりません。まず、alt + sysrq + Rを使用する必要があります。 (私は持っています私のFedoraシステムでsysrqを有効にする)。 "ctrl + alt + f5"を使用すると、元のvtに戻り、期待していた黒い画面が表示されます。 Xプロセスの制御端末は、しかし開いているとマークさtty5れていlsof -pますtty2。 VT2に切り替えた後、VT5に戻り、Xorgでエラーが記録されました。

[ 40399.826] (II) AIGLX: Suspending AIGLX clients for VT switch
[ 40399.826] (II) AIGLX: Resuming AIGLX clients after VT switch
[ 40399.826] (EE) modeset(0): failed to set mode: Permission denied
[ 40399.826] (EE) 
Fatal server error:
[ 40399.827] (EE) EnterVT failed for screen 0
[ 40399.827] (EE) 
[ 40399.827] (EE) 
Please consult the Fedora Project support 
     at http://wiki.x.org
 for help. 
[ 40399.827] (EE) Please also check the log file at "/var/log/Xorg.10.log" for additional information.
[ 40399.827] (EE) 
[ 40399.828] (II) AIGLX: Suspending AIGLX clients for VT switch
[ 40400.029] (EE) Server terminated with error (1). Closing log file.

関連情報