ディスプレイマネージャを用いてユーザーを切り替える VNCサーバー や、X端末 を使うときに、ディスプレイマネージャをXDMCP に対応させる必要がある。gdm と lightdm でその設定を紹介する。ディスプレイマネージャを動作させるコンピュータのキーボードと画面はgdmやlightdmで管理せずCUIだけで使うものとする(そうしないとgdmは動作しないしlightdmも挙動不審になるため)。また、人間が操作するコンピュータでPulseAudioが動作している場合に、音声入出力をそちらに送る方法も述べる。
gdm の設定
Ubuntu の場合は /etc/gdm3/custom.conf
, Debian の場合は /etc/gdm3/daemon.conf
に以下を追加
[xdmcp]
Enable=true
ShowLocalGreeter=false
lightdm の設定
Ubuntu の場合 /etc/lightdm/lightdm.conf.d/10-xdmcp.conf
, Debian の場合は /etc/lightdm/lightdm.conf
に以下を追加
[LightDM]
start-default-seat=false
lock-memory=false # こうしないと systemd-nspawn コンテナ内で動作しない
remote-sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions
[XDMCPServer]
enabled=true
# もし必要なら listen-address=127.0.0.1
音声の設定
音声の送り方
これだけだと音が出ないので、ウェブブラウザなどを実行する計算機から音声をラズパイに送るように、を下記のファイルを設置することで指示する。
export PULSE_SERVER=音源がついている計算機のIPアドレスかホスト名
音源がついている計算機側のPulse Audio設定は https://qiita.com/kakinaguru_zo/items/e8e4e75eb2dea571608e#vnc-viewer%E3%81%A8pulseaudio%E8%87%AA%E5%8B%95%E8%B5%B7%E5%8B%95%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%BD%9C%E6%88%90 を参照