gdm3 start Xを別のパスにインストールするにはどうすればよいですか(またはパーソナライズされたパスでXを実行しますか?)

gdm3 start Xを別のパスにインストールするにはどうすればよいですか(またはパーソナライズされたパスでXを実行しますか?)

テストのためにgitで完全なXserverを構築しました。使用することをお勧めします。build.shgitツリーのすべてのモジュールをコンパイルし、その/opt/xorgパスにインストールする簡単な方法としてfreedesktop.orgで提供されています。問題は、gdmXserverと関連バイナリをロードする場所を決定する方法が見つからないことです。

私が読んでX.orgウェブサイトその部分は「実際に適合テストを実行しています」ですが、私が使用できるスクリプト/ヘルパーは404を返します。

Xorg実行可能ファイルとそのリンクの場所を知っていますが、カスタムパスに構築されインストールされているXserverをテストしたいので、これがすべてが期待どおりに機能するのに十分かどうかはわかりません。

私はDebian 7.0とGDM 3.4.1を使用しています。

使用できる他の方法はありますか?

ベストアンサー1

2単語で答えてください。 GDMのXserverの場所は、コンパイル時にconfigure.acにハードコードされています。1199ラインX_SERVER変数にあり、構成できません。したがって、おそらくシンボリックリンク、リンク/usr/bin/Xorg(または可能性は低いが/usr/bin/X参照)を使用できます。これ)をXserverバージョンに変更してください。

詳細:

私もDebian 7を持っており、これは私のプロセスツリーです:

 |-gdm3-+-gdm-simple-slav-+-Xorg
 |      |                 |-gdm-session-wor-+-gnome-session-+-bluetooth-apple---{bluetooth-apple}
 |      |                 |                 |               |-evolution-alarm---2*[{evolution-alarm}]
 |      |                 |                 |               |-gdu-notificatio
 |      |                 |                 |               |-gnome-fallback----2*[{gnome-fallback-}]
 |      |                 |                 |               |-gnome-panel-+-gnome-terminal-+-bash
 |      |                 |                 |               |             |                |-bash---vi
 |      |                 |                 |               |             |                |-bash-+-less
 |      |                 |                 |               |             |                |      `-pstree
 |      |                 |                 |               |             |                |-gnome-pty-helpe
 |      |                 |                 |               |             |                `-3*[{gnome-terminal}]
 |      |                 |                 |               |             |-iceweasel-+-plugin-containe-+-4*[gtk-gnash]
 |      |                 |                 |               |             |           |                 `-{plugin-containe}
 |      |                 |                 |               |             |           `-31*[{iceweasel}]
 |      |                 |                 |               |             |-pidgin
 |      |                 |                 |               |             `-3*[{gnome-panel}]
 |      |                 |                 |               |-gnome-screensav---2*[{gnome-screensav}]
 |      |                 |                 |               |-gnome-settings----2*[{gnome-settings-}]
 |      |                 |                 |               |-gnome-sound-app---{gnome-sound-app}
 |      |                 |                 |               |-metacity---3*[{metacity}]
 |      |                 |                 |               |-nm-applet---{nm-applet}
 |      |                 |                 |               |-notification-da---{notification-da}
 |      |                 |                 |               |-polkit-gnome-au---{polkit-gnome-au}
 |      |                 |                 |               |-ssh-agent
 |      |                 |                 |               |-tracker-miner-f---2*[{tracker-miner-f}]
 |      |                 |                 |               |-tracker-store---6*[{tracker-store}]
 |      |                 |                 |               `-3*[{gnome-session}]
 |      |                 |                 `-2*[{gdm-session-wor}]
 |      |                 `-{gdm-simple-slav}
 |      `-{gdm3}

したがって、Xorgはgdm-simple-slaveから始まります。言ったように、/etc/gdm/Init/DefaultXserverを起動することとはまったく関係ありません。ここそしてここ

いくつかあります表示、gdmでXを起動する方法を設定することは不可能です。

私はソースコードを使用することにしましたが、そのソースコードは非常によく構成されています。だから:

移動ソースコード、一つあります。悪魔含まれるフォルダ内部構造コードの構造を説明するドキュメントです。

ここから次の内容を読むことができます。

** GDMサーバー

ローカルXサーバーの動作を管理するためにスレーブデバイスが使用するクラス。

だから私たちに必要なファイルはhttps://git.gnome.org/browse/gdm/tree/daemon/gdm-server.c

Xサーバーの呼び出しとコマンドライン引数の生成を担当するいくつかの入れ子関数があります。

Xサーバープロセスの実行を直接担当する機能は次のとおりです。gdm_server_spawn、これはXを生成します。694号線話すg_spawn_async_with_pipes

argvそれでは、どうなったのか調べてみましょう。まあ、二つの言葉で表現すると293号線X_SERVERマクロの値が必要です(sysVinitの代わりにRedHatのsystemdを使用しない限り:)。

残念ながら、このマクロはconfigure.acで生成されているようです。1199ラインそしてハードコーディングされています。したがって、最良のオプションは、これらの場所の1つにXserverバージョンへのシンボリックリンクを配置することです。

おすすめ記事