コンテンツにスキップ

「XDMCP」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
en:Xdmcpへの転送ページ
 
Blackteahamburger がページ「Xdmcp」を「XDMCP」に移動しました: Sync title
(他の1人の利用者による、間の2版が非表示)
1行目: 1行目:
[[Category:リモートデスクトップ]]
#redirect[[en:Xdmcp]]
[[Category:X サーバー]]
[[en:Xdmcp]]
このページでは "X Display Manager Control Protocol" (XDMCP) を使ってリモートセッションを実現する方法を説明します。パラメータについては GDM のドキュメントを見て下さい: [http://library.gnome.org/admin/gdm/3.6/configuration.html.en#xdmcpsection]。

== グラフィカルログインの設定 ==

=== XDM ===

{{ic|/etc/X11/xdm/xdm-config}} を開いて以下をコメントアウトしてください:

DisplayManager.requestPort: 0

以下のようになります:

!DisplayManager.requestPort: 0

次に {{ic|/etc/X11/xdm/Xaccess}} を編集して全てのホストでログインウィンドウを表示できるようにしてください。以下のようになっている行を見て下さい:

* #any host can get a login window

行頭のハッシュ記号 '#' を削除してください。

ネットワークインターフェイスが複数ある場合は以下のように行を追加します:

LISTEN 192.168.0.10

192.168.0.10 はサーバーの IP アドレスに置き換えて下さい。

設定後 X サーバーと xdm デーモンを再起動してください。

=== GDM ===

{{ic|/etc/gdm/custom.conf}} を編集して以下を記述:

[xdmcp]
Enable=true
Port=177

そして Gnome Display Manager を再起動:

# systemctl restart gdm

inittab を使っている場合、root で他の tty にログインして以下を実行:

# telinit 3
# telinit 5 && exit

=== KDM ===

Xdmcp 機能のサポートはあまり安定していません。LightDM を使うほうが簡単です。

kdmrc ({{ic|/opt/kde/share/config/kdm/kdmrc}} [KDE 3x] または {{ic|/usr/share/config/kdm/kdmrc}} [KDE 4x]) を編集して以下のように記述してください:

[Xdmcp]
Enable=true

変更を適用するには X サーバーを再起動する必要があります:

# systemctl restart kdm

=== LightDM ===

{{ic|/etc/lightdm/lightdm.conf}} を編集して以下を記述:

[XDMCPServer]
enabled=true
port=177

そして LightDM を再起動:

# systemctl restart lightdm

=== SLiM ===

SLiM は Xdmcp をサポートしていません。

== LAN 上のリモートマシンから X にアクセス ==
以下のコマンドでネットワーク上の 192.168.0.10 のコンピュータのログインマネージャにアクセスすることができます。TCP と UDP ストリームが開きます。SSH 接続でログインマネージャにアクセスすることはできません。

# Xnest -query 192.168.0.10 -geometry 1280x1024 :1

もしくは、Xnest で描画が更新されない問題が起こる場合、Xephyr を使用:

# Xephyr -query 192.168.0.10 -screen 1280x1024 -br -reset -terminate :1

もしくは、ランレベル3の場合:

# X -query your_server_ip

Xserver がモニターを認識して適切な解像度が設定されるはずです。

{{Note|リモートホストから XDMCP Direct/Query と Broadcast 接続を有効にすることでリモートホストで XDM を使ってローカル X サーバーを起動しなくてもよくなります。}}
上述のように XDMCP のアクセスを許可したら、{{ic|/etc/X11/xdm/Xservers}} を編集して以下をコメントアウト:
#:0 local /usr/bin/X :0
root で XDM を起動して下さい。例: {{ic|xdm -config /etc/X11/xdm/archlinux/xdm-config}}。

==シンクライアントの設定==
dhcp と tftp サーバーを設定する必要があります。[[Dnsmasq]] が両方のサーバーの働きをします。ネットワークブートイメージは [http://www.thinstation.org/ thinstation] プロジェクトを見て下さい。ネットワークカードが PXE をサポートしていない場合、[http://etherboot.org/wiki/ Etherboot] を試すことができます。

=== GUI ベースのクライアント ===
*{{Pkg|remmina}}
*Xming for Windows

==トラブルシューティング==

=== Session declined: Maximum Number of Sessions Reached ===
{{ic|/etc/gdm/custom.conf}} を編集して最大セッション数を追加してください:
[xdmcp]
Enable=true
'''MaxSessions=2'''

=== ログイン画面や GNOME にチラつきが発生する ===
ログイン画面が何度も作成されて反応しない場合、リモートマシンの GNOME Shell にアクセスしようとしています。ワイヤレスで接続されているなど、ネットワークの速度が原因です。GNOME Shell を無効化/アンインストールしてください:
# pacman -R gnome-shell

2020年8月22日 (土) 02:07時点における版

このページでは "X Display Manager Control Protocol" (XDMCP) を使ってリモートセッションを実現する方法を説明します。パラメータについては GDM のドキュメントを見て下さい: [1]

グラフィカルログインの設定

XDM

/etc/X11/xdm/xdm-config を開いて以下をコメントアウトしてください:

DisplayManager.requestPort:    0

以下のようになります:

!DisplayManager.requestPort:    0

次に /etc/X11/xdm/Xaccess を編集して全てのホストでログインウィンドウを表示できるようにしてください。以下のようになっている行を見て下さい:

*             #any host can get a login window

行頭のハッシュ記号 '#' を削除してください。

ネットワークインターフェイスが複数ある場合は以下のように行を追加します:

LISTEN 192.168.0.10

192.168.0.10 はサーバーの IP アドレスに置き換えて下さい。

設定後 X サーバーと xdm デーモンを再起動してください。

GDM

/etc/gdm/custom.conf を編集して以下を記述:

[xdmcp]
Enable=true
Port=177

そして Gnome Display Manager を再起動:

# systemctl restart gdm

inittab を使っている場合、root で他の tty にログインして以下を実行:

# telinit 3
# telinit 5 && exit 

KDM

Xdmcp 機能のサポートはあまり安定していません。LightDM を使うほうが簡単です。

kdmrc (/opt/kde/share/config/kdm/kdmrc [KDE 3x] または /usr/share/config/kdm/kdmrc [KDE 4x]) を編集して以下のように記述してください:

[Xdmcp]
Enable=true

変更を適用するには X サーバーを再起動する必要があります:

# systemctl restart kdm

LightDM

/etc/lightdm/lightdm.conf を編集して以下を記述:

[XDMCPServer]
enabled=true
port=177

そして LightDM を再起動:

# systemctl restart lightdm

SLiM

SLiM は Xdmcp をサポートしていません。

LAN 上のリモートマシンから X にアクセス

以下のコマンドでネットワーク上の 192.168.0.10 のコンピュータのログインマネージャにアクセスすることができます。TCP と UDP ストリームが開きます。SSH 接続でログインマネージャにアクセスすることはできません。

# Xnest -query 192.168.0.10 -geometry 1280x1024 :1

もしくは、Xnest で描画が更新されない問題が起こる場合、Xephyr を使用:

# Xephyr -query 192.168.0.10 -screen 1280x1024 -br -reset -terminate :1

もしくは、ランレベル3の場合:

# X -query your_server_ip

Xserver がモニターを認識して適切な解像度が設定されるはずです。

ノート リモートホストから XDMCP Direct/Query と Broadcast 接続を有効にすることでリモートホストで XDM を使ってローカル X サーバーを起動しなくてもよくなります。

上述のように XDMCP のアクセスを許可したら、/etc/X11/xdm/Xservers を編集して以下をコメントアウト:

#:0 local /usr/bin/X :0

root で XDM を起動して下さい。例: xdm -config /etc/X11/xdm/archlinux/xdm-config

シンクライアントの設定

dhcp と tftp サーバーを設定する必要があります。Dnsmasq が両方のサーバーの働きをします。ネットワークブートイメージは thinstation プロジェクトを見て下さい。ネットワークカードが PXE をサポートしていない場合、Etherboot を試すことができます。

GUI ベースのクライアント

トラブルシューティング

Session declined: Maximum Number of Sessions Reached

/etc/gdm/custom.conf を編集して最大セッション数を追加してください:

[xdmcp]
Enable=true
MaxSessions=2

ログイン画面や GNOME にチラつきが発生する

ログイン画面が何度も作成されて反応しない場合、リモートマシンの GNOME Shell にアクセスしようとしています。ワイヤレスで接続されているなど、ネットワークの速度が原因です。GNOME Shell を無効化/アンインストールしてください:

# pacman -R gnome-shell