# GDM (日本語)

関連記事

- GNOME
- GNOME Flashback
- ディスプレイマネージャ
- LightDM
- LXDM

GDM - GNOME Display Manager より:

  GNOME Display Manager (GDM) はグラフィカルディスプレイサーバーを管理しグラフィカルユーザーログインを処理するプログラムです。

ディスプレイマネージャは X Window System のユーザーにグラフィカルログインプロンプトを提供します。

## インストール

GDM は公式リポジトリにある gdm パッケージでインストールできます。このパッケージは gnome グループに含まれています。

ブート時に GDM を起動させるには下のように systemd のサービスファイルを有効にしてください:

    # systemctl enable gdm

`~/.xinitrc` によって　X サーバーに渡される引数 (`xmodmap` や `xsetroot` など) は xprofile を使って追加することもできます:

    ~/.xprofile

    #!/bin/sh

    #
    # ~/.xprofile
    #
    # Executed by gdm at login
    #

    xmodmap -e "pointer =1 2 3 6 7 4 5" # set mouse buttons up correctly
    xsetroot -solid black              # sets the background to black

## 設定

### ログインの背景画像

ログイン画面の壁紙を変更するには以下の手順に従って下さい:

まず背景画像を保存するためのディレクトリを作成:

    # mkdir /opt/login

次に必要な設定ファイルを作成:

    # touch /etc/dconf/db/gdm.d/01-background

そして以下の文章を作成したファイルにコピー:

    [org/gnome/desktop/background]
    picture-uri='file:///opt/login/wallpaper.jpg'

使いたい背景画像をディレクトリにコピー:

    # cp [YOUR FILE] /opt/login/wallpaper.jpg

[YOUR FILE] は *.jpg 画像に置き換えてください。

最後に次のコマンドで dconf を更新:

    # dconf update

### ログイン画面のロゴ

ログイン画面にロゴを表示するには以下の手順に従って下さい:

ロゴを保存するためのディレクトリを作成:

    # mkdir /opt/login

必要な設定ファイルを作成:

    # touch /etc/dconf/db/gdm.d/02-logo

以下の文章をファイルにコピー:

    [org/gnome/login-screen]
    logo='/opt/login/logo.png'

使いたいロゴをディレクトリにコピー:

    # cp [YOUR FILE] /opt/login/logo.png

[YOUR FILE] は *.png 画像に置き換えてください。

dconf を更新:

    # dconf update

### ログインのフォントを大きくする

ログイン画面のフォントサイズを変更するには以下の手順に従って下さい:

必要な設定ファイルを作成:

    # touch /etc/dconf/db/gdm.d/03-scaling

以下の文章をファイルにコピー:

    [org/gnome/desktop/interface]
    text-scaling-factor='1.25'

dconf を更新:

    # dconf update

### サウンドをオフにする

この設定はログイン画面でシステムボリュームが（キーボードによって）調整された時に再生される音を無効にします。

必要な設定ファイルを作成:

    # touch /etc/dconf/db/gdm.d/04-sound

以下の文章をファイルにコピー:

    [org/gnome/desktop/sound]
    event-sounds='false'

dconf を更新:

    # dconf update

### 電源ボタンを対話式にする

デフォルトでは電源ボタンを押すとサスペンドするように設定されています。電源オフやダイアログの表示にすると良いでしょう。

必要な設定ファイルを作成:

    # touch /etc/dconf/db/gdm.d/05-power

以下の文章をファイルにコピー:

    [org/gnome/settings-daemon/plugins/power button]
    power='interactive'
    hibernate='interactive'

dconf を更新:

    # dconf update

Warning: acpid デーモンも"電源ボタン"や"ハイバネートボタン"のイベントを管理していることに注意してください。両方のシステムが同時に動作すると予期しない挙動を引き起こす可能性があります。

### フタを閉じた時にサスペンドするのを止める

ラップトップによっては Laptop lid close action on battery や Laptop lid close action on AC というオプションを blank に設定しているのにも関わらずフタを閉じた時にラップトップがサスペンドするという挙動を示すことがあります。この場合は、次の行を `/etc/systemd/logind.conf` に追加してください:

    HandleLidSwitch=ignore

Note: HandleLidSwitch エントリがアンコメントされていることを確認してください、そうしないとこの設定が適用されません。

### GDM キーボードレイアウト

(gdm を含む) 全てのグラフィカルプログラムのキーボードレイアウトを変更するには次の行を `/etc/X11/xorg.conf.d/10-evdev.conf` に追加してください。jp は適切なキーマップに置き換えてください。

    /etc/X11/xorg.conf.d/10-evdev.conf

    Section "InputClass"
            Identifier "evdev keyboard catchall"
            MatchIsKeyboard "on"
            MatchDevicePath "/dev/input/event*"
            Driver "evdev"
            Option "XkbLayout" "jp"
    EndSection

Warning: `keyboard InputClass` セクションに行を追加してください。他のセクションに追加してはいけません。
Tip: キーマップの一覧はここを参照。

#### GDM 2.x レイアウト

古い GDM を使っている場合は次の指示に従って下さい:

`~/.dmrc` を編集して下さい:

    ~/.dmrc

    [Desktop]
    Language=de_DE.UTF-8   # change to your default lang
    Layout=de   nodeadkeys # change to your keyboard layout

### 言語の変更

GDM の言語を変更するには、ファイル `/var/lib/AccountsService/users/gdm` を編集して language の行をあなたの言語の適切な UTF-8 値に代えてください。以下の文章のようになるはずです:

    /var/lib/AccountsService/users/gdm

    [User]
    Language=ja_JP.UTF-8
    XSession=
    SystemAccount=true

そしてコンピュータを再起動してください。

再起動した後、また `/var/lib/AccountsService/users/gdm` を開いたら、language の行が消されているのを発見するでしょう。心配しないで下さい、言語の変更はちゃんと保存されています。

### 自動ログイン

GDM での自動ログインを有効にするには以下を `/etc/gdm/custom.conf` に追加してください (username はあなたのユーザー名に置き換えてください):

    /etc/gdm/custom.conf

    # Enable automatic login for user
    [daemon]
    AutomaticLogin=username
    AutomaticLoginEnable=True

もしくは一定時間後に自動ログインするには:

    /etc/gdm/custom.conf

    [daemon]
    # for login with delay
    TimedLoginEnable=true
    TimedLogin=username
    TimedLoginDelay=1

### パスワードなしログイン

GDM のパスワードプロンプトを飛ばしたいのならば次の行を `/etc/pam.d/gdm-password` の一番最初に追加してください:

    auth sufficient pam_succeed_if.so user ingroup nopasswdlogin

次に、グループ `nopasswdlogin` をシステムに追加してください。グループの説明と管理コマンドについてはグループを見て下さい。

そして、あなたのユーザーを `nopasswdlogin` に加えればユーザー名をクリックするだけでログインできるようになるはずです。

Warning:

- root アカウントでパスワードの入力の省略を使わないで下さい。
- GDM のログイン時にセッションのタイプを変更することはできなくなります。デフォルトのセッションのタイプを変更するには、まずユーザーを `nopasswdlogin` グループから削除する必要があります。

### パスワードなしシャットダウン

GDM はシャットダウンの権限を取得するために polkit と logind を使っています。以下を設定することでパスワードを入力することなくシャットダウンできるようになります:

    /etc/polkit-1/localauthority.conf.d/org.freedesktop.logind.policy

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE policyconfig PUBLIC
     "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
     "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">

    <policyconfig>

      <action id="org.freedesktop.login1.power-off-multiple-sessions">
        <description>Shutdown the system when multiple users are logged in</description>
        <message>System policy prevents shutting down the system when other users are logged in</message>
        <defaults>
          <allow_inactive>yes</allow_inactive>
          <allow_active>yes</allow_active>
        </defaults>
      </action>

    </policyconfig>

利用可能な logind のオプション (例: reboot-multiple-sessions) の全ては ここ に載っています。

### デフォルトの GDM セッションの変更

デフォルトの GDM セッションを変更したい場合は、ファイル `~/.dmrc` を作成 (もしくは編集) する必要があります [1]。

Note: これはユーザー別の設定です。複数のユーザーでデフォルトのセッションを変更したいときは、全てのユーザーでこのファイルを作成する必要があります。

以下はデフォルトのセッションを Cinnamon に設定するサンプルです:

    ~/.dmrc

    [Desktop]
    Session=cinnamon

### GDM の root ログインを有効にする

root でログインすることは推奨されていませんが、必要ならば `/etc/pam.d/gdm-password` を編集して `auth required pam_deny.so` 前に次の行を追加してください: `/etc/pam.d/gdm-password`

    auth            sufficient      pam_succeed_if.so uid eq 0 quiet

このファイルは以下のようになるはずです: `/etc/pam.d/gdm-password`

    ...
    auth            sufficient      pam_succeed_if.so uid eq 0 quiet
    auth            sufficient      pam_succeed_if.so uid >= 1000 quiet
    auth            required        pam_deny.so
    ...

root でログインするには GDM を再起動する必要があります。

### GDM 3 以前のバージョン向けの設定

You can use the following instructions.

Configure X server access permission:

    # xhost +SI:localuser:gdm

Change the theme:

    $ sudo -u gdm dbus-launch gnome-control-center

For more configuration options, do:

    $ sudo -u gdm dbus-launch gconf-editor

and modify the following hierarchies:

    /apps/gdm/simple-greeter
    /desktop/gnome/interface
    /desktop/gnome/background

If these commands fail with an error (e.g. `"Cannot open display"`) you can bring the two windows up when GDM starts by adding them to GDM's autostart. To do this first create the entry:

    # cp -t /usr/share/gdm/autostart/LoginWindow/ /usr/share/applications/gnome-appearance-properties.desktop /usr/share/applications/gconf-editor.desktop

Then go back to GDM, do your changes and log back in. When you're done and want the window to stop opening with GDM run this:

    # rm /usr/share/gdm/autostart/LoginWindow/gnome-appearance-properties.desktop /usr/share/gdm/autostart/LoginWindow/gconf-editor.desktop

Note: By using the logout/configure method you can view the changes while you're making them.

詳細や高度なオプションについては これ を読んで下さい。

### gdm3setup

AUR から gdm3setup ツールをインストールすることで GDM を設定できます。このツールではテーマや自動接続、日付形式などを変更できます。

### GDM legacy

古い GDM に戻したい場合は AUR から gdm-old をインストールしてください。

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

### GDM でロックを解除できない

適切なアイコンや gtk テーマを設定しているか確認してください。AUR の gdm3setup を使うことで現在のテーマ設定をチェックできます。

### ログアウト時に GDM が動かない

起動時には GDM が問題なく立ち上がるのに、ログアウトした後に問題が発生する場合は、次の行を `/etc/gdm/custom.conf` の daemon セクションに追加してみて下さい:

    GdmXserverTimeout=60

### gconf-sanity-check-2 が status 256 で終了する

GDM が `gconf-sanity-check-2` に関するエラーを吐く時は、`/home` や `/etc/gconf/gconf.xml.system` のパーミッションを確認してください (後者は `755` でなければなりません)。 それでも GDM がメッセージを表示する場合は、gdm のホームを空にしてみて下さい。root で次を実行:

    rm -rf /var/lib/gdm/.*

これでも直らない場合、`/tmp` の所有者とパーミッションを設定してみて下さい:

    # chown -R root:root /tmp
    # chmod 777 /tmp

#### 自動ログインを設定した後に GDM がロードされない

この問題を修正するには、TTY から `/etc/gdm/custom.conf` を編集して "AutomaticLoginEnable" と "AutomaticLogin" をコメントアウトしてください。

    # GDM configuration storage

    [daemon]

    #AutomaticLoginEnable=True
    #AutomaticLogin=user

    [security]

    [xdmcp]

    [greeter]

    [chooser]

    [debug]

#### Intel グラフィックを使っていて 3.8 に更新した GDM が動かない

この問題を修正するには、アクセラレーションメソッドを SNA に設定する必要があります。詳しくは、次を参照してください: Intel_Graphics (日本語)#アクセラレーションメソッドの選択

Note: `xf86-video-intel 2.21.14-1` からアクセラレーションはデフォルトで SNA に設定されています。
Categories:

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