Kubuntu 22.04(SDDM)にx11vncを入れてリモートデスクトップ

公開

同じUbuntu系でありながら、ディスプレイマネージャに SDDM が採用されている Kubuntu 22.04 デスクトップに、Ubuntu  22.04 GDMと同じ様に x11vnc を入れ、ログイン画面からリモートデスクトップ操作できるようにします。

KubuntuはSDDM

前回x11vncを導入したのはディスプレイマネージャにGDMが採用された、Ubuntu 22.04デスクトップでした。

今回、x11vncを入れるKubuntu 22.04デスクトップのディスプレイマネージャはSDDM。この違いがセットアップにどう影響するのでしょう。

 

x11vncのインストールとVNCパスワード生成

x11vncのインストールはUbuntu 22.04同様に、パッケージマネージャから行います。

VNCパスワードの生成手法も前回と同じです。

 

SDDMにおけるディスプレイ番号

Ubuntu 22.04 GDMでは環境変数からディスプレイ番号を確認しましたが、SDDMでは何も入っておらず、結局 :0 の決め打ちで良さそうです。

コマンドラインからの実行も問題無く待ち受け状態となり、別PCのRemminaからVNC接続することを確認しました。

 

X authorityファイルはランダム

問題はX authorityファイルを指定する手段。GDM同様にSDDMでも -auth guess でguessできないので、明示的に指し示す必要があります。

SDDMでは、X authorityファイル名が毎セッションランダムなUUIDで生成される仕組みが少し厄介。実際にログイン画面からログイン、ログアウトと状態を遷移させてみると…

図1.VNC接続上でログアウト

図1.VNC接続上でログアウト

このような場合に、x11vncにX authorityファイルを掴ませる手法は、こちらのページのSDDM項を参考にしました。

 

サービス登録時の注意点

サービスファイルの ExexStart 項にx11vncコマンドラインを記述する際、上述の -auth オプションが含まれているとそのままでは正しく解釈されず、x11vncが -auth guess の時と同じ状態に陥ってしまいます。

対策としては、 ExecStart 項へ記述するコマンドライン全体を /bin/bash -c "..." で包んであげるのだそう。前回のGDM版のサービスファイルを元に、取り敢えずこのようなサービスファイルを作成しました。

 

このサービス定義の問題点は、

ログアウトしても、新しく別名で生成されたX authorityファイルのことを知るすべがない

ということ。サービスを再起動しない限り、新しいX authorityファイルを掴むことはありません。

 

いろいろ調べた結果、こちらのスレッド回答を参考に対策してみます。

変更内容は次の2つ、

  • Restart オプションの変更。
  • x11vncコマンドオプションから -loop -forever を削除。

こうして完成したx11vncサービスファイルは、以下の通りです。

副作用としては、ログイン画面からログインすると、一旦VNCセッションが切れてしまうこと。

図2.VNCで開いたログイン画面

図2.VNCで開いたログイン画面

自動再接続されないので、クライアント側からもう一度接続する必要があります。

図3.VNCで開き直したデスクトップ画面

図3.VNCで開き直したデスクトップ画面

 

Kubuntu 22.04 SDDMでは前回のGDMとは異なり、SDDMではログイン画面〜デスクトップまで単一インスタンスで待ち受け・操作できるのは、結果的に大きな利点となりました。

 

created by Rinker
¥1,861 (2024/04/27 04:19:06時点 Amazon調べ-詳細)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA