x11vncが動作するようにgdmでデフォルトのDISPLAY変数を設定する方法(CentOS 8のCentOS 7で変更)

x11vncが動作するようにgdmでデフォルトのDISPLAY変数を設定する方法(CentOS 8のCentOS 7で変更)

問題:GDM / KDEはデフォルトでCentOS 8でDISPLAY:0の代わりにDISPLAY:1を使用します。 CentOS 7のようにDISPLAY:0を使いたいです。これはx11vncに影響を与え、システムのVNCをさらに面倒にします(現在のログイン画面ではVNCをまったく使用できません)。

前/作業バージョン

  • オペレーティングシステム7
  • KDE SCバージョン4.14.8
  • GDM バージョン 3.28.2

以前のシステムにSSHで接続してx11vncを実行すると、次のことがわかります。 0 は DISPLAY です。

$ w -us
USER   TTY   FROM  IDLE   WHAT
user   :0    :0    ?xdm?  /bin/sh /usr/bin/startkde

壊れた/新しいバージョン

  • CentOSストリーム8
  • KDEプラズマバージョン:5.18.4
  • GDM バージョン 40.0

新しいシステムにSSHで接続してx11vncを実行すると、次のことがわかります。 1はDISPLAYです。

$ w -us
USER   TTY   FROM  IDLE   WHAT
user   :1    :1    ?xdm?  /usr/libexec/gdm-x-session --register-session --run-script /usr/bin/startplasma-x11
user   pts/0 :1   46:05  kded5

CentOS 8のログインセッションでx11vncを起動するには、を実行する必要があります。x11vnc -display :1これは大きな問題ではなく、少し迷惑で、いくつかのスクリプトに影響を与えます。より大きな問題は、現在VNCを介してログイン画面にアクセスできないことです。 offバリアントを使用ssh -X x11vnc -display :1してrootとして実行するなどの操作を実行します。

どちらもまったく同じSSH構成(X11転送など)を持ちます。

編集する:

VNCを介してログイン画面に移動中にエラーが発生しました:

~> ssh user@centos8
$ echo $DISPLAY 

$ x11vnc # this works on CentOS 7 w/ and w/o X11 forwarding 
...
10/06/2021 16:28:55 *** XOpenDisplay failed. No -display or DISPLAY.
Invalid MIT-MAGIC-COOKIE-1 key10/06/2021 16:28:59 XOpenDisplay(":0") failed.
10/06/2021 16:28:59 Trying again with XAUTHLOCALHOSTNAME=localhost ...
Invalid MIT-MAGIC-COOKIE-1 key10/06/2021 16:28:59 XOpenDisplay(":0") failed.
10/06/2021 16:28:59 Trying again with unset XAUTHLOCALHOSTNAME ...
Invalid MIT-MAGIC-COOKIE-1 key10/06/2021 16:28:59 
...
10/06/2021 16:28:59 ***************************************
10/06/2021 16:28:59 *** XOpenDisplay failed (:0)
...

$ x11vnc -display :1
10/06/2021 16:30:16 *** XOpenDisplay failed (:1)
$ exit

~> ssh -X user@centos8
$ echo $DISPLAY
localhost:10.0
$ x11vnc
...
10/06/2021 16:24:16 WARNING: DISPLAY starts with localhost: 'localhost:10.0'
10/06/2021 16:24:16 WARNING: Is this an SSH X11 port forwarding?  You most
10/06/2021 16:24:16 WARNING: likely don't want x11vnc to use that DISPLAY.
10/06/2021 16:24:16 WARNING: You probably should supply something
10/06/2021 16:24:16 WARNING: like: -display :0  to access the physical
10/06/2021 16:24:16 WARNING: X display on the machine where x11vnc is running.
...
X11 MIT Shared Memory Attach failed:
  Is your DISPLAY=localhost:10.0 on a remote machine?
  Note:   DISPLAY=localhost:N suggests a SSH X11 redir to a remote machine.
  Suggestion, use: x11vnc -display :0 ... for local display :0

caught X11 error:
10/06/2021 16:24:17 deleted 53 tile_row polling images.
X Error of failed request:  BadRequest (invalid request code or no such operation)
  Major opcode of failed request:  130 (MIT-SHM)
  Minor opcode of failed request:  1 (X_ShmAttach)
  Serial number of failed request:  56
  Current serial number in output stream:  111

$ x11vnc -display :1 
...
10/06/2021 16:26:16 *** XOpenDisplay failed (:1)
...

rootとして実行すると同様のエラーが発生する

ベストアンサー1

CentOS7 gdm-3.28.2-26.el7.x86_64.rpm と pulseaudio-gdm-hooks-10.0-6.el7_9.x86_64.rpm を使って Rocky Linux 8 (8.4) にこれをダウンロードしてインストール(ダウングレード)しました。両方のパッケージ:dnf gdm-3.28.2-26.el7.x86_64.rpmpulseaudio-gdm-hooks-10.0-6.el7_9.x86_64.rpmのインストール

この少し古いバージョンのgdmは「DISPLAY:0」を使用し、x11vncを使用してログイン画面にログインできます。 gdmにどのような依存関係があり、どの副作用が発生するのかわかりません。オペレーティングシステムを更新すると、「DISPLAY:1」を使用して最新のgdmバージョンのRocky Linux 8が再インストールされます。

おすすめ記事