GDM

提供: ArchWiki
2014年8月10日 (日) 16:33時点におけるKusakata (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

関連記事

GDM - GNOME Display Manager より:

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

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

インストール

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

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

# systemctl enable gdm

~/.xinitrc によって X サーバーに渡される引数 (xmodmapxsetroot など) は 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
警告: acpid デーモンも"電源ボタン"や"ハイバネートボタン"のイベントを管理していることに注意してください。両方のシステムが同時に動作すると予期しない挙動を引き起こす可能性があります。

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

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

HandleLidSwitch=ignore
ノート: 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
警告: keyboard InputClass セクションに行を追加してください。他のセクションに追加してはいけません。
ヒント: キーマップの一覧はここを参照。

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 に加えればユーザー名をクリックするだけでログインできるようになるはずです。

警告:
  • 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]

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

以下はデフォルトのセッションを 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 以前のバージョン向けの設定

この記事またはセクションは情報が古くなっています。
理由: Needs to be updated for GDM 3.6 as gconf vars are being moved to dconf, control center incomplete by default (Discuss)

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
ノート: By using the logout/configure method you can view the changes while you're making them.

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

gdm3setup

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

GDM legacy

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

トラブルシューティング

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

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

ログアウト時に 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#アクセラレーションメソッドの選択

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