KDM (日本語) - ArchWiki

# KDM (日本語)

関連記事

- ディスプレイマネージャ
- KDE

KDM (KDE Display Manager) は KDE のログインマネージャです。テーマ、自動ログイン、セッションタイプ選択などの機能をサポートしています。

Note: KDM は Plasma 5 から使えなくなります。DM としては SDDM の使用が推奨されており、Plasma 5 のテーマとの統合を実現します。

## インストール

公式リポジトリから kdebase-workspace パッケージをインストールしてください。

それからディスプレイマネージャ#ディスプレイマネージャをロードするにしたがって KDM をブート時に起動するようにしてください。

## 設定

KDM の設定ファイルは `/usr/share/config/kdm/kdmrc` にあります。全てのオプションは `/usr/share/doc/HTML/en/kdm/kdmrc-ref.docbook` を見て下さい。

System Settings > Login Screen を開けば変更を加えることができます。Apply を押すと、KDE Polkit authorization ウィンドウが表示され変更を適用するために root パスワードが求められます。

ユーザーとしてシステム設定を起動した時に KDM の設定が編集できないようなときは、kdesu を使うことができます:

    $ kdesu kcmshell4 kdm

kdesu のポップアップウィンドウで、root パスワードを入力してシステム設定が起動するのを待って下さい。それから "Login Screen" を開きます。

Note: root でシステム設定を起動することになるので、注意して設定を変更してください。root で起動したシステム設定で変更した設定は全て `/root/.kde4` に保存されます (通常はホームディレクトリの `~/.kde4` です)。

### テーマ

Arch Linux の KDM テーマは archlinux-themes-kdm パッケージでインストールできます。

他にも多数の KDM 4 テーマが http://kde-look.org/index.php?xcontentmode=41 に存在します。上述の (root で実行した) システム設定でインストールしたテーマを選択してください。

### テーマの作成

テーマファイルは `/usr/share/apps/kdm/themes` に配置します。

テーマのフォーマットは GDM と同じです。ドキュメントが次のページにあります: Detailed Description of Theme XML format。

#### ServerArgsLocal

X サーバーの dpi の数値を強制的に指定するには、ServerArgsLocal に -dpi オプションを追加します。通常使用される値は 96 dpi です。

    /usr/share/config/kdm/kdmrc

    [...]
    ServerArgsLocal=-dpi 96 -nolisten tcp
    [...]

#### root ログインを許可

KDM で root ログインできるようにするには次を実行:

    # sed -ie 's/AllowRootLogin=false/AllowRootLogin=true/' /usr/share/config/kdm/kdmrc

#### SessionsDirs

この変数には `.desktop` フォーマットによるセッションタイプの定義を含むディレクトリが保存されます。先に来るディレクトリが優先されます。Arch Linux ではウィンドウマネージャによってはセッションの定義ファイルが `/usr/share/xsessions` にインストールされることがあります。KDM でセッションが選択できるようにするためにリストに以下を追加してください:

    /usr/share/config/kdm/kdmrc

    [...]
    SessionsDirs=/usr/share/config/kdm/sessions,/usr/share/apps/kdm/sessions,/usr/share/xsessions
    [...]

#### Session

Session 変数はログインしたユーザーとして実行されるプログラムの名前です。セッションの引数 (SessionsDirs を参照) を解釈して引数の希望通りのセッションを起動します。ウィンドウマネージャのセッションでこの変数をカスタマイズすることで、壁紙を設定したりスクリーンセーバーを起動することができます。それには以下のように pacman の更新でファイルが変更されないようにします:

    # cp /usr/share/config/kdm/Xsession /usr/share/config/kdm/Xsession.custom

`kdmrc` で次を設定:

    /usr/share/config/kdm/kdmrc

    [...]
    Session=/usr/share/config/kdm/Xsession.custom
    [...]

それから `Xsession.custom` を自由に編集してください。

#### X サーバーを再起動するメニューオプション

ユーザーから KDM から X サーバーを再起動できるようにするには、`kdmrc` の次のオプションを編集します:

    /usr/share/config/kdm/kdmrc

    [X-:*-Greeter]
    [...]
    # Show the "Restart X Server"/"Close Connection" action in the greeter.
    # Default is true
    AllowClose=true
    [...]

この機能はメニューのドロップダウンオプションから使うことができます。このオプションには `Alt+e` のホットキーも含まれます。

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

### キーボードマップ

KDM のキーボードマップはシステム設定で設定できます (ログイン画面セクション)。

システム設定で言語を設定してキーボードマップが変更されない場合、`/usr/share/config/kdm/Xsetup` を編集して次のコマンドを追加してください:

    setxkbmap jp

`jp` はあなたのキーボードレイアウトに置き換えてください。アップグレードがあるとファイルが上書きされてしまうため、`/etc/pacman.conf` で保護すると良いでしょう:

    NoUpgrade = usr/share/config/kdm/Xsetup

Note: 先頭にスラッシュ (`/`) を付けてはいけません。

### KDM の起動が遅い

KDM がログイン画面を表示するのに時間がかかる場合 (例: 15-30秒) X フォントのキャッシュを再作成してみてください:

    # fc-cache -fv

### KDM と Gnome-keyring

KDM でのログイン時に Gnome-keyring のロックを自動的に解除するには `/etc/pam.d/kde` 内の `auth include system-login` という行のすぐ後に以下の行を追加:

    auth            optional        pam_gnome_keyring.so

そして `session include system-login` の後に以下を追加:

    session         optional        pam_gnome_keyring.so auto_start

スクリーンセーバーのロックを解除した時にキーリングのロックを自動的に解除するに `/etc/pam.d/kscreensaver` を開いて最後の行に以下を追加:

    auth            optional        pam_gnome_keyring.so

### ユーザー画像が表示されない

KDM でアカウント情報のユーザー画像を表示するには、`System Settings > Login Screen > Users > User Image Source` で適当なソースを設定して、ユーザーのホームディレクトリを誰からも実行できるようにして `~/.face.icon` を誰からも読み込めるように属性を設定する必要があります [1]:

    $ chmod o+x ~/
    $ chmod o+r ~/.face.icon

### 画面のロックで入力がフリーズする

ロック画面が表示されると入力がフリーズする場合、他の仮想端末に切り替えて (例えば CTRL-ALT-F1) それから KDM を再起動して下さい:

    $ systemctl stop kdm && systemctl start kdm

元の仮想端末に戻れば画面のロックを解除できるはずです。この挙動は バグ 314663 が原因です。

対処方法としては `kscreenlocker` や `kscreenlocker_greet` で壁紙の透過を無効化して下さい。

`qt-curve` の場合、`System Settings > Application Appearance > Style > Configure > Applications` を開いて `kscreenlocker` と `kscreenlocker_greet` を追加して "No background opacity" にして下さい。

Categories:

- KDE (日本語)
- Display managers (日本語)