2010/05/18(火)KDEリモート接続設定あれこれ @ Ubuntu 10.04

KDEのインストール

今回は kubuntu-desktop を入れました。KDE4.4になります。

# apt-get install kubuntu-desktop kde-l10n-ja

自動でKDE(kdm)が起動するのが気に入らないのですが、upstartになってどこ設定していいか不明なので余計なことをするのはやめました。

VNCの設定

単にログイン中のDesktopを共有したいだけならば、

# apt-get install krfb

として「アプリケーション」→「システム」→「デスクトップ共有」で設定するだけです。

スクリーンセイバーをonにしておくと使いモノにならないので、オフにしましょう。

XDMCP

XDMCPを使用して直接KDEに接続します。UDP177を使用した接続となります。

/etc/kde4/kdm/kdmrc を修正しXDMCP接続を許可します。

[Xdmcp]
# Whether KDM should listen to incoming XDMCP requests.
Enable=true

kdmに設定を読み込ませます。

# service kdm reload

Xaccess 編集しアクセス許可を設定します。(リロード不要)

192.168.1.10

IPの場合ワイルドカードは使えないようです。残念。

Windows用の接続ツールとしてxmingをダウンロードしました。単一ウィンドウモードで利用し、Xmingの引数として画面サイズやキーボード設定を与えました。(参考サイト

-screen 0 1280x1024

「-xkbmodel jp106 -xkblayout jp -xkbvariant jp」とかすると文字が正しく打てないのでつけないようにしました。

さすがネイティブだけあった反応が良いです。LAN接続なら遜色なく使えますね。

VNCでログイン画面を出したい

XDMCPがつながれば十分ですし、結局VNCを使ってもXDMCP経由にはなるのですが、お遊びとして。

# apt-get install vnc4server xinetd

上の項目を参考に /etc/kde4/kdm/kdmrc を修正しXDMCP接続を許可し、Xaccessに「127.0.0.1」を追加しておきます。

vnc接続パスワードを設定します。

# vncpasswd /etc/vncpasswd
# chown nobody /etc/vncpasswd

/etc/xinetd.d/xvnc を作成し、次のように記述します。

service Xvnc
{
        type = UNLISTED
        disable = no
        socket_type = stream
        protocol = tcp
        wait = no
        user = nobody
        server = /usr/bin/Xvnc
        server_args = -inetd -query localhost -geometry 1280x1024 -depth 24 -once -DisconnectClients=0 -NeverShared -passwordFile=/etc/vncpasswd -fp /usr/share/fonts/X11/misc,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType
        port = 5900
}

user=root と書いている危険極まりない設定例もありますが、必ず一般ユーザ権限にしましょう。複数ポートを書いてそれぞれ画面設定を変えるのもありです。

  • 「-extension XFIXES」は不要です(付けると動作しません)。
  • 「-depth 32」は透過表示がまともにできないのでダメです。
  • 「:1」などを付けると動作しません。-inetd のときは番号指定は不要のようです。
  • fpは実機上でログインし「xset q」を実行したとき表示されるものを拾ってきました。

※見づらいと思うのでargsだけ書いておきます。

server_args = -inetd -query localhost -geometry 1280x1024 -depth 24 -once -DisconnectClients=0 -NeverShared -passwordFile=/etc/vncpasswd -fp /usr/share/fonts/X11/misc,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType

ここまで書いておいて何ですが、ログイン時にエラーが出て以降表示が崩れるため使い物になりません(汗)

KCMInit(kdeinit4) segmentation falut

どうにかしてみる

$ kcminit
Xlib:  extension "XInputExtension" missing on display ":1.0".
KCrash: Application 'kcminit' crashing...
sock_file=/home/xxx/.kde/socket-theta/kdeinit4__1

どうもデバッグレポートを見るとタッチパッドの処理が落ちてる模様。タッチパッドは要らないのでアンインストール。

# apt-get remove kcm-touchpad

これでログイン時落ちることはなくなりましたが、影や透過処理がダメ(α処理非対応?)なので結局使えません(苦笑)

透過処理や文字のAAをしないよう設定変更し、テーマを変えれば使えそうです。KDEである必要性がない気もしますが。

WindowsリモートデスクトップでKDEにログインしたい

この際なので試してみました。Windows標準のリモートデスクトップ接続です。

# apt-get install xrdp
# /etc/rc.d/xrdp start

あとは普通に接続するだけ。

面倒くさい設定もいらず実に簡単です。そのままだと簡単ですがKCMInitが落ちます(上参照)。

画面表示等もVNCと同じ症状ですので、VNC側のアップデート待ちでしょうか。

まとめ

おとなしくXDMCPするのが一番良いでしょう。UDPなのでパケットロストしたとき不安定になるのが難点ですが。

VNC、xrdpもちゃんと動けば使えそうなのですが。うまく行った人がいたら教えてください。


あれ、そういえば、今日はCanonのプリンタ on CUPSと戦ってたのに気づいたらこんなことに(汗)