GDM

提供: ArchWiki
2015年10月30日 (金) 00:25時点における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 を再起動する必要があります。

X サーバーのアクセス権限を設定

xhost コマンドを使うことで X サーバーのアクセス権限を設定できます。

例えば、GDM に X サーバーのアクセス権限を与えるには、以下のコマンドを使います:

# xhost +SI:localuser:gdm

gdm3setup

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

GDM legacy

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

トラブルシューティング

AMD Catalyst ドライバーを使っている場合に起動しない

xorg-server パッケージをダウングレードするか LightDM など他のディスプレイマネージャを使うようにしてください。

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

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

GdmXserverTimeout=60

Xorg 1.16

Xorg#Rootless Xorg (v1.16) を見て下さい。

Xorg バックエンドを使う

GDM バージョン 3.16 から、デフォルトで Wayland バックエンドが使われるようになっており、Wayland バックエンドで起動できない場合にのみ Xorg バックエンドが使われます。ユーザーによっては Wayland バックエンドで問題が発生しているという 報告 があり、場合によっては Xorg バックエンドの使用が必要なことがあります。デフォルトで Xorg バックエンドを使用させるには、/etc/gdm/custom.conf ファイルを編集して以下の行をアンコメントしてください:

#WaylandEnable=false

参照