「GDM」の版間の差分
(同期) |
|||
13行目: | 13行目: | ||
{{Related articles end}} |
{{Related articles end}} |
||
− | [ |
+ | [https://wiki.gnome.org/Projects/GDM GDM - GNOME Display Manager] より: |
:''GNOME Display Manager (GDM) はグラフィカルディスプレイサーバーを管理しグラフィカルユーザーログインを処理するプログラムです。'' |
:''GNOME Display Manager (GDM) はグラフィカルディスプレイサーバーを管理しグラフィカルユーザーログインを処理するプログラムです。'' |
||
− | [[ディスプレイマネージャ]]は [[Xorg|X Window System]] のユーザーにグラフィカルログインプロンプトを提供します。 |
+ | [[ディスプレイマネージャ]]は [[Xorg|X Window System]] や [[Wayland]] のユーザーにグラフィカルなログインプロンプトを提供します。 |
==インストール== |
==インストール== |
||
− | GDM は |
+ | GDM は {{Pkg|gdm}} パッケージで[[インストール]]できます。また、GDM は {{grp|gnome}} グループに含まれています。マシンの起動時に GDM を実行するには {{ic|gdm.service}} を[[有効化]]してください。 |
+ | GNOME 2 で使われていた旧式の GDM や設定ユーティリティを使いたい場合は {{AUR|gdm-old}} パッケージをインストールしてください。以下では基本的に旧バージョンの GDM ではなく最新の GDM について解説しています。 |
||
− | ブート時に GDM を起動させるには下のように systemd のサービスファイルを有効にしてください: |
||
− | # systemctl enable gdm |
||
+ | 以下のパッケージも任意でインストールしてください: |
||
− | {{ic|~/.xinitrc}} によって X サーバーに渡される引数 ({{ic|xmodmap}} や {{ic|xsetroot}} など) は [[xprofile]] を使って追加することもできます: |
||
+ | * {{App|gdm3setup|GDM3 や自動ログインオプションを設定したり Shell テーマを変更できるインターフェイス。|https://github.com/Nano77/gdm3setup|{{AUR|gdm3setup}}}} |
||
+ | ==設定== |
||
− | {{hc|~/.xprofile|<nowiki> |
||
− | #!/bin/sh |
||
+ | === GDM によるアプリケーションの自動実行 === |
||
− | # |
||
− | # ~/.xprofile |
||
− | # |
||
− | # Executed by gdm at login |
||
− | # |
||
+ | [[ディスプレイマネージャ#自動起動]]を見てください。{{ic|/etc/gdm/Init}} にスクリプトを追加する方法はもう使えません。詳しくは [https://bugzilla.gnome.org/show_bug.cgi?id=751602 上流のバグレポート] を参照。 |
||
− | xmodmap -e "pointer =1 2 3 6 7 4 5" # set mouse buttons up correctly |
||
− | xsetroot -solid black # sets the background to black |
||
− | </nowiki>}} |
||
− | ==設定== |
||
=== ログインの背景画像 === |
=== ログインの背景画像 === |
||
+ | {{Note|GNOME 3.16 から GNOME Shell のテーマはバイナリ形式のファイル (gresource) に保存されるようになりました。}} |
||
− | ログイン画面の壁紙を変更するには以下の手順に従って下さい: |
||
+ | まず、既存の GNOME Shell テーマをホームディレクトリに抽出する必要があります。以下のスクリプトを使ってください: |
||
− | まず背景画像を保存するためのディレクトリを作成: |
||
− | # mkdir /opt/login |
||
+ | {{hc|extractgst.sh|2= |
||
− | 次に必要な設定ファイルを作成: |
||
+ | #!/bin/sh |
||
− | # touch /etc/dconf/db/gdm.d/01-background |
||
+ | workdir=${HOME}/shell-theme |
||
− | そして以下の文章を作成したファイルにコピー: |
||
+ | if [ ! -d ${workdir}/theme ]; then |
||
− | [org/gnome/desktop/background] |
||
+ | mkdir -p ${workdir}/theme |
||
− | picture-uri='file:///opt/login/wallpaper.jpg' |
||
+ | fi |
||
+ | gst=/usr/share/gnome-shell/gnome-shell-theme.gresource |
||
+ | for r in `gresource list $gst`; do |
||
− | 使いたい背景画像をディレクトリにコピー: |
||
+ | gresource extract $gst $r >$workdir/${r#\/org\/gnome\/shell/} |
||
− | # cp [YOUR FILE] /opt/login/wallpaper.jpg |
||
+ | done}} |
||
− | [YOUR FILE] は *.jpg 画像に置き換えてください。 |
||
+ | それから作成されたディレクトリに移動してください。抽出されたテーマファイルが確認できるはずです。お好きな背景画像を作成されたディレクトリにコピーしてください。 |
||
− | 最後に次のコマンドで dconf を更新: |
||
− | # dconf update |
||
+ | 次に、ディレクトリの中に以下の内容でファイルを作成する必要があります: |
||
− | === ログイン画面のロゴ === |
||
+ | {{hc|gnome-shell-theme.gresource.xml|2= |
||
− | ログイン画面にロゴを表示するには以下の手順に従って下さい: |
||
+ | <?xml version="1.0" encoding="UTF-8"?> |
||
+ | <gresources> |
||
+ | <gresource prefix="/org/gnome/shell/theme"> |
||
+ | <file>calendar-arrow-left.svg</file> |
||
+ | <file>calendar-arrow-right.svg</file> |
||
+ | <file>calendar-today.svg</file> |
||
+ | <file>checkbox-focused.svg</file> |
||
+ | <file>checkbox-off-focused.svg</file> |
||
+ | <file>checkbox-off.svg</file> |
||
+ | <file>checkbox.svg</file> |
||
+ | <file>close-window.svg</file> |
||
+ | <file>close.svg</file> |
||
+ | <file>corner-ripple-ltr.png</file> |
||
+ | <file>corner-ripple-rtl.png</file> |
||
+ | <file>dash-placeholder.svg</file> |
||
+ | <file>filter-selected-ltr.svg</file> |
||
+ | <file>filter-selected-rtl.svg</file> |
||
+ | <file>gnome-shell.css</file> |
||
+ | <file>gnome-shell-high-contrast.css</file> |
||
+ | <file>logged-in-indicator.svg</file> |
||
+ | <file>'''filename'''</file> |
||
+ | <file>more-results.svg</file> |
||
+ | <file>no-events.svg</file> |
||
+ | <file>no-notifications.svg</file> |
||
+ | <file>noise-texture.png</file> |
||
+ | <file>page-indicator-active.svg</file> |
||
+ | <file>page-indicator-inactive.svg</file> |
||
+ | <file>page-indicator-checked.svg</file> |
||
+ | <file>page-indicator-hover.svg</file> |
||
+ | <file>process-working.svg</file> |
||
+ | <file>running-indicator.svg</file> |
||
+ | <file>source-button-border.svg</file> |
||
+ | <file>summary-counter.svg</file> |
||
+ | <file>toggle-off-us.svg</file> |
||
+ | <file>toggle-off-intl.svg</file> |
||
+ | <file>toggle-on-hc.svg</file> |
||
+ | <file>toggle-on-us.svg</file> |
||
+ | <file>toggle-on-intl.svg</file> |
||
+ | <file>ws-switch-arrow-up.png</file> |
||
+ | <file>ws-switch-arrow-down.png</file> |
||
+ | </gresource> |
||
+ | </gresources>}} |
||
+ | '''filename''' は使用する背景画像のファイル名に置き換えてください。 |
||
− | ロゴを保存するためのディレクトリを作成: |
||
− | # mkdir /opt/login |
||
+ | そして、ディレクトリ内の {{ic|gnome-shell.css}} ファイルを開いて {{ic|#lockDialogGroup}} の定義を以下のように変更してください: |
||
− | 必要な設定ファイルを作成: |
||
− | # touch /etc/dconf/db/gdm.d/02-logo |
||
+ | #lockDialogGroup { |
||
− | 以下の文章をファイルにコピー: |
||
+ | background: #2e3436 url('''filename'''); |
||
− | [org/gnome/login-screen] |
||
+ | background-size: '''[WIDTH]'''px '''[HEIGHT]'''px; |
||
− | logo='/opt/login/logo.png' |
||
+ | background-repeat: no-repeat; |
||
+ | } |
||
+ | {{ic|background-size}} は GDM が使用する解像度に設定します。必ずしも画像の解像度である必要はありません。ディスプレイの解像度については Wikipedia に[[wikipedia:ja:画面解像度#コンピュータ・映画|リスト]]があります。'''filename''' は背景画像の名前に置き換えてください。 |
||
− | 使いたいロゴをディレクトリにコピー: |
||
− | # cp [YOUR FILE] /opt/login/logo.png |
||
− | [YOUR FILE] は *.png 画像に置き換えてください。 |
||
+ | 最後に、以下のコマンドでテーマをコンパイルします: |
||
− | dconf を更新: |
||
+ | $ glib-compile-resources gnome-shell-theme.gresource.xml |
||
− | # dconf update |
||
+ | 作成された {{ic|gnome-shell-theme.gresource}} ファイルを {{ic|/usr/share/gnome-shell}} ディレクトリにコピーしてください。 |
||
+ | GDM を再起動したら設定した背景画像が表示されるはずです。 |
||
− | === ログインのフォントを大きくする === |
||
+ | 詳しい情報は [https://bbs.archlinux.org/viewtopic.php?id=197036 フォーラムスレッド] を参照してください。 |
||
− | ログイン画面のフォントサイズを変更するには以下の手順に従って下さい: |
||
+ | === DConf による設定 === |
||
− | 必要な設定ファイルを作成: |
||
− | # touch /etc/dconf/db/gdm.d/03-scaling |
||
+ | GDM の設定は一部 DConf データベースに保存されます。{{ic|/etc/dconf/db/gdm.d}} ディレクトリにキーファイルを追加してから root で {{ic|dconf update}} を実行して GDM のデータベースを再コンパイルするか、あるいは GDM ユーザーでログインして ''gsettings'' コマンドラインツールを使って直接設定を変更することができます。前者の場合、GDM のプロフィールファイルが必要です。パッケージには付属していないため手動で作成する必要があります: |
||
− | 以下の文章をファイルにコピー: |
||
+ | {{hc|/etc/dconf/profile/gdm| |
||
− | [org/gnome/desktop/interface] |
||
+ | user-db:user |
||
− | text-scaling-factor='1.25' |
||
+ | system-db:gdm |
||
+ | file-db:/usr/share/gdm/greeter-dconf-defaults}} |
||
+ | 後者の場合、以下のコマンドで GDM ユーザーでログインできます: |
||
+ | # machinectl shell gdm@ |
||
+ | ==== ログイン画面のロゴ ==== |
||
− | dconf を更新: |
||
− | # dconf update |
||
+ | 以下のキーファイルを作成してください: |
||
− | === サウンドをオフにする === |
||
+ | {{hc|/etc/dconf/db/gdm.d/02-logo|2= |
||
+ | [org/gnome/login-screen] |
||
+ | logo=<nowiki>'</nowiki>''/path/to/logo.png''<nowiki>'</nowiki>}} |
||
+ | その後 GDM データベースを再コンパイルしてください。 |
||
+ | もしくは GDM ユーザーでログインして以下のコマンドを実行してください: |
||
− | この設定はログイン画面でシステムボリュームが(キーボードによって)調整された時に再生される音を無効にします。 |
||
+ | $ gsettings set org.gnome.login-screen logo <nowiki>'</nowiki>''/path/to/logo.png''<nowiki>'</nowiki> |
||
+ | ==== カーソルテーマの変更 ==== |
||
− | 必要な設定ファイルを作成: |
||
− | # touch /etc/dconf/db/gdm.d/04-sound |
||
+ | GDM は [[GNOME]] のカーソルテーマの設定を使用せず、[[カーソルテーマ#XDG の仕様|XDG の仕様]]に準拠して設定されたカーソルテーマも無視します。GDM で使用されるカーソルテーマを変更するには、以下のキーファイルを作成してください: |
||
− | 以下の文章をファイルにコピー: |
||
− | [org/gnome/desktop/sound] |
||
− | event-sounds='false' |
||
+ | {{hc|/etc/dconf/db/gdm.d/10-cursor-settings| |
||
− | dconf を更新: |
||
+ | <nowiki>[org/gnome/desktop/interface] |
||
− | # dconf update |
||
+ | cursor-theme='</nowiki>''theme-name''' |
||
+ | }} |
||
+ | その後 GDM データベースを再コンパイルしてください。 |
||
+ | もしくは GDM ユーザーでログインして以下のコマンドを実行してください: |
||
− | === 電源ボタンを対話式にする === |
||
+ | $ gsettings set org.gnome.desktop.interface cursor-theme <nowiki>'</nowiki>''theme-name''<nowiki>'</nowiki> |
||
+ | ==== ログイン画面のフォントを大きくする ==== |
||
− | デフォルトでは電源ボタンを押すとサスペンドするように設定されています。'''''電源オフ'''''や'''''ダイアログの表示'''''にすると良いでしょう。 |
||
+ | 画面右上のアクセシビリティアイコン (白丸に人影のアイコン) をクリックして ''Large Text'' オプションにチェックを入れてください。 |
||
− | 必要な設定ファイルを作成: |
||
− | # touch /etc/dconf/db/gdm.d/05-power |
||
+ | スケーリングファクタを指定したい場合、以下のキーファイルを作成してください: |
||
− | 以下の文章をファイルにコピー: |
||
+ | {{hc|/etc/dconf/db/gdm.d/03-scaling|2= |
||
− | [org/gnome/settings-daemon/plugins/power button] |
||
+ | [org/gnome/desktop/interface] |
||
− | power='interactive' |
||
+ | text-scaling-factor=<nowiki>'</nowiki>''1.25''<nowiki>'</nowiki>}} |
||
− | hibernate='interactive' |
||
+ | その後 GDM データベースを再コンパイルしてください。 |
||
+ | もしくは GDM ユーザーでログインして以下のコマンドを実行してください: |
||
− | dconf を更新: |
||
+ | $ gsettings set org.gnome.desktop.interface text-scaling-factor <nowiki>'</nowiki>''1.25''<nowiki>'</nowiki> |
||
− | # dconf update |
||
+ | ==== サウンドをオフにする ==== |
||
− | {{Warning|[[acpid]] デーモンも"電源ボタン"や"ハイバネートボタン"のイベントを管理していることに注意してください。両方のシステムが同時に動作すると予期しない挙動を引き起こす可能性があります。}} |
||
+ | 以下の設定をするとログイン画面でシステム音量を (キーボードで) 変更したときに音が鳴らなくなります。 |
||
− | === フタを閉じた時にサスペンドするのを止める === |
||
+ | 以下のキーファイルを作成してください: |
||
− | ラップトップによっては ''Laptop lid close action on battery'' や ''Laptop lid close action on AC'' というオプションを ''blank'' に設定しているのにも関わらずフタを閉じた時にラップトップがサスペンドするという挙動を示すことがあります。この場合は、次の行を {{ic|/etc/systemd/logind.conf}} に追加してください: |
||
+ | {{hc|/etc/dconf/db/gdm.d/04-sound|2= |
||
+ | [org/gnome/desktop/sound] |
||
+ | event-sounds='false'}} |
||
+ | その後 GDM データベースを再コンパイルしてください。 |
||
+ | もしくは GDM ユーザーでログインして以下のコマンドを実行してください: |
||
− | HandleLidSwitch=ignore |
||
+ | $ gsettings set org.gnome.desktop.sound event-sounds 'false' |
||
+ | ==== 電源ボタンを対話式にする ==== |
||
− | {{note|'''HandleLidSwitch''' エントリがアンコメントされていることを確認してください、そうしないとこの設定が適用されません。}} |
||
+ | デフォルトでは電源ボタンを押すとサスペンドするように設定されています。以下の設定で電源ボタンやハイバネートボタンを押したときにダイアログが表示されるようになります: |
||
+ | |||
+ | 以下のキーファイルを作成してください: |
||
+ | {{hc|/etc/dconf/db/gdm.d/05-power|2= |
||
+ | [org/gnome/settings-daemon/plugins/power button] |
||
+ | power='interactive' |
||
+ | hibernate='interactive'}} |
||
+ | その後 GDM データベースを再コンパイルしてください。 |
||
+ | |||
+ | {{Warning|[[acpid]] デーモンも電源ボタンやハイバネートボタンのイベントを管理することに注意してください。両方のシステムが同時に動作すると予期しない挙動を引き起こす可能性があります。}} |
||
+ | |||
+ | ==== タップでクリックを有効化 ==== |
||
+ | |||
+ | デフォルトでは GDM (と GNOME) ではタップでクリックが無効になっています。dconf の設定で簡単に有効化できます。 |
||
+ | |||
+ | {{Note|X で以下の設定をしたい場合、まずは X サーバーに適切なアクセス権限を設定する必要があります。[[#X サーバーのアクセス権限を設定]]を見てください。}} |
||
+ | |||
+ | 直接タップでクリックを有効にするには、以下のコマンドを使用: |
||
+ | |||
+ | {{bc|# sudo -u gdm gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true}} |
||
+ | |||
+ | GUI で設定したい場合、以下のコマンドを使用: |
||
+ | |||
+ | {{bc|# sudo -u gdm dconf-editor}} |
||
+ | |||
+ | 正しく設定されたか確認するには、以下のコマンドを使用: |
||
+ | |||
+ | {{bc|$ sudo -u gdm gsettings get org.gnome.desktop.peripherals.touchpad tap-to-click}} |
||
=== GDM キーボードレイアウト === |
=== GDM キーボードレイアウト === |
||
− | (gdm を含む) 全てのグラフィカルプログラムのキーボードレイアウトを変更するには次の行を {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} に追加してください。'''jp''' は適切なキーマップに置き換えてください。 |
||
+ | [[Xorg でのキーボード設定#X の設定ファイルを使う]]を見てください。 |
||
− | {{hc|/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}} |
||
+ | {{Tip|[[Wikipedia:ISO 3166-1]] にキーマップのリストがあります。}} |
||
− | {{Warning|{{ic|'''keyboard''' InputClass}} セクションに行を追加してください。他のセクションに追加してはいけません。}} |
||
− | {{tip|キーマップの一覧は[https://en.wikipedia.org/wiki/ISO_3166-1 ここ]を参照。}} |
||
− | ==== |
+ | ==== GNOME Control Center ==== |
+ | |||
− | 古い GDM を使っている場合は次の指示に従って下さい: |
||
+ | {{Pkg|gnome-control-center}} パッケージがインストールされている場合、グラフィカルフロントエンドを使ってキーボードレイアウトを設定できます。''gnome-control-center'' を起動して ''Keyboard -> Input Sources'' を開いてください。そして、ヘッダーバーにある ''Login Screen'' ボタンを押して GDM のキーボードレイアウトを設定してください。 |
||
+ | |||
+ | ==== GDM 2.x レイアウト ==== |
||
+ | |||
+ | 旧バージョンの GDM では {{ic|~/.dmrc}} を編集してください: |
||
− | {{ic|~/.dmrc}} を編集して下さい: |
||
{{hc|~/.dmrc|2= |
{{hc|~/.dmrc|2= |
||
[Desktop] |
[Desktop] |
||
161行目: | 230行目: | ||
}} |
}} |
||
− | ===言語の変更=== |
+ | === 言語の変更 === |
+ | |||
− | GDM の言語を変更するには、ファイル {{ic|/var/lib/AccountsService/users/gdm}} を編集して language の行をあなたの言語の適切な UTF-8 値に代えてください。以下の文章のようになるはずです: |
||
+ | GDM の言語を変更するには、{{Pkg|gnome-control-center}} をインストールしてください。そして、''gnome-control-center'' を起動して ''Region & Language'' を選択してください。ヘッダーバーにある ''Login Screen'' ボタンをクリックしてください。最後に ''Language'' をクリックしてリストから言語を選択してください。root パスワードが要求されます。 |
||
+ | |||
+ | もしくは {{ic|/var/lib/AccountsService/users/gdm}} ファイルを編集して Language の行を適当なロケールに置き換えてください。以下のように編集します: |
||
+ | |||
{{hc|1=/var/lib/AccountsService/users/gdm| |
{{hc|1=/var/lib/AccountsService/users/gdm| |
||
2=[User] |
2=[User] |
||
− | Language= |
+ | Language=fr_FR.UTF-8 |
XSession= |
XSession= |
||
SystemAccount=true}} |
SystemAccount=true}} |
||
− | + | 編集後にコンピュータを再起動してください。 |
|
− | 再起動した後 |
+ | 再起動した後に {{ic|/var/lib/AccountsService/users/gdm}} ファイルを開くと設定した行が消えているのに気がつくかもしれませんが、設定は保存されているので安心してください。 |
− | ===自動ログイン=== |
+ | === 自動ログイン === |
− | GDM で |
+ | GDM で自動ログインするには、以下を {{ic|/etc/gdm/custom.conf}} に追加してください (''username'' はあなたのユーザー名に置き換えてください): |
{{hc|1=/etc/gdm/custom.conf| |
{{hc|1=/etc/gdm/custom.conf| |
||
183行目: | 256行目: | ||
}} |
}} |
||
+ | {{Tip|上記の行を追加した後に GDM が起動しなくなった場合、TTY からコメントアウトしてください。}} |
||
− | もしくは一定時間後に自動ログインするには: |
||
+ | |||
+ | もしくは一定時間後に自動ログインしたい場合: |
||
{{hc|1=/etc/gdm/custom.conf| |
{{hc|1=/etc/gdm/custom.conf| |
||
2=[daemon] |
2=[daemon] |
||
+ | |||
− | # for login with delay |
||
TimedLoginEnable=true |
TimedLoginEnable=true |
||
TimedLogin=''username'' |
TimedLogin=''username'' |
||
198行目: | 273行目: | ||
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin |
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin |
||
− | 次に、グループ {{ic|nopasswdlogin}} をシステムに追加してください。グループの説明と管理コマンドについては[[ |
+ | 次に、グループ {{ic|nopasswdlogin}} をシステムに追加してください。グループの説明と管理コマンドについては[[グループ]]を見てください。 |
そして、あなたのユーザーを {{ic|nopasswdlogin}} に加えればユーザー名をクリックするだけでログインできるようになるはずです。 |
そして、あなたのユーザーを {{ic|nopasswdlogin}} に加えればユーザー名をクリックするだけでログインできるようになるはずです。 |
||
207行目: | 282行目: | ||
===パスワードなしシャットダウン=== |
===パスワードなしシャットダウン=== |
||
− | GDM はシャットダウンの権限を取得するために polkit と logind を使っています。以下を設定することでパスワードを入力することなくシャットダウンできるようになります: |
+ | GDM はシャットダウンの権限を取得するために [[polkit]] と logind を使っています。以下を設定することでパスワードを入力することなくシャットダウンできるようになります: |
{{hc|1=/etc/polkit-1/localauthority.conf.d/org.freedesktop.logind.policy| |
{{hc|1=/etc/polkit-1/localauthority.conf.d/org.freedesktop.logind.policy| |
||
215行目: | 290行目: | ||
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd"> |
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd"> |
||
− | <!-- |
+ | <!-- |
Policy definitions for logind |
Policy definitions for logind |
||
− | --> |
+ | --> |
<policyconfig> |
<policyconfig> |
||
232行目: | 307行目: | ||
</policyconfig> |
</policyconfig> |
||
}} |
}} |
||
+ | |||
利用可能な logind のオプション (例: reboot-multiple-sessions) の全ては [http://www.freedesktop.org/wiki/Software/systemd/logind#Security ここ] に載っています。 |
利用可能な logind のオプション (例: reboot-multiple-sessions) の全ては [http://www.freedesktop.org/wiki/Software/systemd/logind#Security ここ] に載っています。 |
||
− | === |
+ | === GDM セッションの追加と編集 === |
− | デフォルトの GDM セッションを変更したい場合は、ファイル {{ic|~/.dmrc}} を作成 (もしくは編集) する必要があります [http://library.gnome.org/admin/gdm/stable/configuration.html.en#userconfig]。 |
||
− | {{Note|これはユーザー別の設定です。複数のユーザーでデフォルトのセッションを変更したいときは、全てのユーザーでこのファイルを作成する必要があります。}} |
||
− | 以下はデフォルトのセッションを [[Cinnamon]] に設定するサンプルです: |
||
− | {{hc|~/.dmrc|<nowiki> |
||
− | [Desktop] |
||
− | Session=cinnamon |
||
− | </nowiki>}} |
||
+ | セッションは {{ic|.desktop}} ファイルとして {{ic|/usr/share/xsessions/}} に保存されています。 |
||
− | ===GDM の root ログインを有効にする=== |
||
− | root でログインすることは推奨されていませんが、必要ならば {{ic|/etc/pam.d/gdm-password}} を編集して {{ic|auth required pam_deny.so}} 前に次の行を追加してください: |
||
− | {{ic|/etc/pam.d/gdm-password}} |
||
− | auth sufficient pam_succeed_if.so uid eq 0 quiet |
||
+ | 新しいセッションを追加するには: |
||
− | このファイルは以下のようになるはずです: |
||
+ | |||
− | {{ic|/etc/pam.d/gdm-password}} |
||
+ | 1. 既存の {{ic|.desktop}} ファイルをコピーして新しいセッションのテンプレートとして使用してください: |
||
− | ... |
||
+ | $ cd /usr/share/xsessions |
||
− | auth sufficient pam_succeed_if.so uid eq 0 quiet |
||
+ | # cp gnome.desktop other.desktop |
||
− | auth sufficient pam_succeed_if.so uid >= 1000 quiet |
||
+ | 2. {{ic|.desktop}} テンプレートファイルを編集して使用したいウィンドウマネージャを開くようにしてください: |
||
− | auth required pam_deny.so |
||
+ | # nano other.desktop |
||
− | ... |
||
+ | |||
+ | KDM もインストールしている場合、作成した新しいセッションを KDM で開いた場合 {{ic|.desktop}} ファイルが新しく作成されます。その後 GDM に戻してからも新しいセッションは起動できます。 |
||
+ | |||
+ | 詳しくは[[ディスプレイマネージャ#セッション設定]]を見てください。 |
||
+ | |||
+ | === GDM の root ログインを有効にする === |
||
+ | root でログインすることは推奨されていませんが、どうしても必要ならば {{ic|/etc/pam.d/gdm-password}} を編集して {{ic|auth required pam_deny.so}} の前に以下の行を追加してください: |
||
+ | {{hc|/etc/pam.d/gdm-password|auth sufficient pam_succeed_if.so uid eq 0 quiet}} |
||
+ | |||
+ | ファイルは以下のようになるはずです: |
||
+ | {{hc|/etc/pam.d/gdm-password|<nowiki> |
||
+ | ... |
||
+ | auth sufficient pam_succeed_if.so uid eq 0 quiet |
||
+ | auth sufficient pam_succeed_if.so uid >= 1000 quiet |
||
+ | auth required pam_deny.so |
||
+ | ...</nowiki>}} |
||
root でログインするには GDM を再起動する必要があります。 |
root でログインするには GDM を再起動する必要があります。 |
||
+ | |||
+ | === ログインリストのユーザーを非表示にする === |
||
+ | |||
+ | GDM のユーザーリストに表示されるユーザーは [https://www.freedesktop.org/wiki/Software/AccountsService/ AccountsService] で決められています。システムユーザー (UID < 1000) は自動的に非表示になります。通常ユーザーもログインリストに表示しないようにするには {{ic|/var/lib/AccountsService/users/}} に隠したいユーザーの名前を付けたファイルを作成・編集して中身を以下のようにしてください: |
||
+ | {{hc|/var/lib/AccountsService/users/<nowiki><username></nowiki>| |
||
+ | [User] |
||
+ | <nowiki>SystemAccount=true</nowiki>}} |
||
+ | |||
+ | === ログイン画面の回転 === |
||
+ | |||
+ | {{ic|~/.config/monitors.xml}} でモニターの設定 (モニターの方向やプライマリモニターの設定など) を行っている場合、GDM も同じ設定を使うようにするには以下のコマンドを実行: |
||
+ | |||
+ | # cp ~/.config/monitors.xml /var/lib/gdm/.config/monitors.xml |
||
+ | |||
+ | 変更はログアウトしたら適用されます。GDM は {{ic|xorg.conf}} を使用しないためログアウトが必要です。 |
||
+ | |||
+ | {{Note|Wayland バックエンドは {{ic|/var/lib/gdm/.config/monitors.xml}} ファイルを無視します [https://bbs.archlinux.org/viewtopic.php?id=196219]。Wayland バックエンドを無効化する方法は [[#Xorg バックエンドを使う]]を見てください。}} |
||
+ | |||
+ | === ログイン時に xrandr === |
||
+ | |||
+ | xrandr を実行するスクリプトをログイン画面で実行したい場合、{{ic|/etc/X11/xinit/xinitrc.d}} にスクリプトを追加してください。 |
||
+ | |||
+ | 例えば、HDMI で接続された外部スクリーンを自動的に選択するには: |
||
+ | |||
+ | {{bc|<nowiki> |
||
+ | #!/bin/sh |
||
+ | EXTERNAL_OUTPUT="HDMI1" |
||
+ | INTERNAL_OUTPUT="eDP1" |
||
+ | if (xrandr | grep $EXTERNAL_OUTPUT | grep " connected "); then |
||
+ | xrandr --output $INTERNAL_OUTPUT --off --output $EXTERNAL_OUTPUT --auto |
||
+ | else |
||
+ | xrandr --output $INTERNAL_OUTPUT --auto |
||
+ | fi |
||
+ | </nowiki>}} |
||
=== X サーバーのアクセス権限を設定 === |
=== X サーバーのアクセス権限を設定 === |
||
264行目: | 380行目: | ||
例えば、GDM に X サーバーのアクセス権限を与えるには、以下のコマンドを使います: |
例えば、GDM に X サーバーのアクセス権限を与えるには、以下のコマンドを使います: |
||
− | + | # xhost +SI:localuser:gdm |
|
− | |||
− | ===gdm3setup=== |
||
− | AUR から {{AUR|gdm3setup}} ツールをインストールすることで GDM を設定できます。このツールではテーマや自動接続、日付形式などを変更できます。 |
||
− | |||
− | ===GDM legacy=== |
||
− | 古い GDM に戻したい場合は [[Arch User Repository|AUR]] から {{AUR|gdm-old}} をインストールしてください。 |
||
==トラブルシューティング== |
==トラブルシューティング== |
||
=== AMD Catalyst ドライバーを使っている場合に起動しない === |
=== AMD Catalyst ドライバーを使っている場合に起動しない === |
||
− | {{pkg|xorg-server}} パッケージをダウングレードするか [[LightDM]] など他の[[ディスプレイマネージャ]]を使うようにしてください。 |
+ | {{pkg|xorg-server}} パッケージを[[ダウングレード]]するか [[LightDM]] など他の[[ディスプレイマネージャ]]を使うようにしてください。 |
===ログアウト時に GDM が動かない=== |
===ログアウト時に GDM が動かない=== |
||
291行目: | 401行目: | ||
GDM バージョン 3.16 から、デフォルトで [[Wayland]] バックエンドが使われるようになっており、Wayland バックエンドで起動できない場合にのみ [[Xorg]] バックエンドが使われます。ユーザーによっては Wayland バックエンドで問題が発生しているという [https://bugzilla.redhat.com/show_bug.cgi?id=1199890 報告] があり、場合によっては Xorg バックエンドの使用が必要なことがあります。デフォルトで Xorg バックエンドを使用させるには、{{ic|/etc/gdm/custom.conf}} ファイルを編集して以下の行をアンコメントしてください: |
GDM バージョン 3.16 から、デフォルトで [[Wayland]] バックエンドが使われるようになっており、Wayland バックエンドで起動できない場合にのみ [[Xorg]] バックエンドが使われます。ユーザーによっては Wayland バックエンドで問題が発生しているという [https://bugzilla.redhat.com/show_bug.cgi?id=1199890 報告] があり、場合によっては Xorg バックエンドの使用が必要なことがあります。デフォルトで Xorg バックエンドを使用させるには、{{ic|/etc/gdm/custom.conf}} ファイルを編集して以下の行をアンコメントしてください: |
||
#WaylandEnable=false |
#WaylandEnable=false |
||
+ | |||
+ | === GDM の不完全な削除 === |
||
+ | |||
+ | GDM を削除すると、systemd が以下のようにエラーを吐くことがあります: |
||
+ | |||
+ | user 'gdm': directory '/var/lib/gdm' does not exist |
||
+ | |||
+ | 上記の警告を消すには、root でログインしてプライマリユーザーの "gdm" とグループの "gdm" を削除してください: |
||
+ | |||
+ | # userdel gdm |
||
+ | # groupdel gdm |
||
+ | |||
+ | {{ic|pwck}} や {{ic|grpck}} を使うことで gdm が削除されたことを確認できます。[[Pacman ヒント#ファイルがどのパッケージにも含まれていないことを確認|所有者がないファイル]]がないか確認すると良いでしょう。 |
||
== 参照 == |
== 参照 == |
||
− | * [https://help.gnome.org/admin/gdm/stable/index.html.en GDM |
+ | * [https://help.gnome.org/admin/gdm/stable/index.html.en GDM リファレンスマニュアル] |
2016年11月11日 (金) 22:38時点における版
GDM - GNOME Display Manager より:
- GNOME Display Manager (GDM) はグラフィカルディスプレイサーバーを管理しグラフィカルユーザーログインを処理するプログラムです。
ディスプレイマネージャは X Window System や Wayland のユーザーにグラフィカルなログインプロンプトを提供します。
目次
インストール
GDM は gdm パッケージでインストールできます。また、GDM は gnome グループに含まれています。マシンの起動時に GDM を実行するには gdm.service
を有効化してください。
GNOME 2 で使われていた旧式の GDM や設定ユーティリティを使いたい場合は gdm-oldAUR パッケージをインストールしてください。以下では基本的に旧バージョンの GDM ではなく最新の GDM について解説しています。
以下のパッケージも任意でインストールしてください:
- gdm3setup — GDM3 や自動ログインオプションを設定したり Shell テーマを変更できるインターフェイス。
設定
GDM によるアプリケーションの自動実行
ディスプレイマネージャ#自動起動を見てください。/etc/gdm/Init
にスクリプトを追加する方法はもう使えません。詳しくは 上流のバグレポート を参照。
ログインの背景画像
まず、既存の GNOME Shell テーマをホームディレクトリに抽出する必要があります。以下のスクリプトを使ってください:
extractgst.sh
#!/bin/sh workdir=${HOME}/shell-theme if [ ! -d ${workdir}/theme ]; then mkdir -p ${workdir}/theme fi gst=/usr/share/gnome-shell/gnome-shell-theme.gresource for r in `gresource list $gst`; do gresource extract $gst $r >$workdir/${r#\/org\/gnome\/shell/} done
それから作成されたディレクトリに移動してください。抽出されたテーマファイルが確認できるはずです。お好きな背景画像を作成されたディレクトリにコピーしてください。
次に、ディレクトリの中に以下の内容でファイルを作成する必要があります:
gnome-shell-theme.gresource.xml
<?xml version="1.0" encoding="UTF-8"?> <gresources> <gresource prefix="/org/gnome/shell/theme"> <file>calendar-arrow-left.svg</file> <file>calendar-arrow-right.svg</file> <file>calendar-today.svg</file> <file>checkbox-focused.svg</file> <file>checkbox-off-focused.svg</file> <file>checkbox-off.svg</file> <file>checkbox.svg</file> <file>close-window.svg</file> <file>close.svg</file> <file>corner-ripple-ltr.png</file> <file>corner-ripple-rtl.png</file> <file>dash-placeholder.svg</file> <file>filter-selected-ltr.svg</file> <file>filter-selected-rtl.svg</file> <file>gnome-shell.css</file> <file>gnome-shell-high-contrast.css</file> <file>logged-in-indicator.svg</file> <file>filename</file> <file>more-results.svg</file> <file>no-events.svg</file> <file>no-notifications.svg</file> <file>noise-texture.png</file> <file>page-indicator-active.svg</file> <file>page-indicator-inactive.svg</file> <file>page-indicator-checked.svg</file> <file>page-indicator-hover.svg</file> <file>process-working.svg</file> <file>running-indicator.svg</file> <file>source-button-border.svg</file> <file>summary-counter.svg</file> <file>toggle-off-us.svg</file> <file>toggle-off-intl.svg</file> <file>toggle-on-hc.svg</file> <file>toggle-on-us.svg</file> <file>toggle-on-intl.svg</file> <file>ws-switch-arrow-up.png</file> <file>ws-switch-arrow-down.png</file> </gresource> </gresources>
filename は使用する背景画像のファイル名に置き換えてください。
そして、ディレクトリ内の gnome-shell.css
ファイルを開いて #lockDialogGroup
の定義を以下のように変更してください:
#lockDialogGroup { background: #2e3436 url(filename); background-size: [WIDTH]px [HEIGHT]px; background-repeat: no-repeat; }
background-size
は GDM が使用する解像度に設定します。必ずしも画像の解像度である必要はありません。ディスプレイの解像度については Wikipedia にリストがあります。filename は背景画像の名前に置き換えてください。
最後に、以下のコマンドでテーマをコンパイルします:
$ glib-compile-resources gnome-shell-theme.gresource.xml
作成された gnome-shell-theme.gresource
ファイルを /usr/share/gnome-shell
ディレクトリにコピーしてください。
GDM を再起動したら設定した背景画像が表示されるはずです。
詳しい情報は フォーラムスレッド を参照してください。
DConf による設定
GDM の設定は一部 DConf データベースに保存されます。/etc/dconf/db/gdm.d
ディレクトリにキーファイルを追加してから root で dconf update
を実行して GDM のデータベースを再コンパイルするか、あるいは GDM ユーザーでログインして gsettings コマンドラインツールを使って直接設定を変更することができます。前者の場合、GDM のプロフィールファイルが必要です。パッケージには付属していないため手動で作成する必要があります:
/etc/dconf/profile/gdm
user-db:user system-db:gdm file-db:/usr/share/gdm/greeter-dconf-defaults
後者の場合、以下のコマンドで GDM ユーザーでログインできます:
# machinectl shell gdm@
ログイン画面のロゴ
以下のキーファイルを作成してください:
/etc/dconf/db/gdm.d/02-logo
[org/gnome/login-screen] logo='/path/to/logo.png'
その後 GDM データベースを再コンパイルしてください。
もしくは GDM ユーザーでログインして以下のコマンドを実行してください:
$ gsettings set org.gnome.login-screen logo '/path/to/logo.png'
カーソルテーマの変更
GDM は GNOME のカーソルテーマの設定を使用せず、XDG の仕様に準拠して設定されたカーソルテーマも無視します。GDM で使用されるカーソルテーマを変更するには、以下のキーファイルを作成してください:
/etc/dconf/db/gdm.d/10-cursor-settings
[org/gnome/desktop/interface] cursor-theme='theme-name'
その後 GDM データベースを再コンパイルしてください。
もしくは GDM ユーザーでログインして以下のコマンドを実行してください:
$ gsettings set org.gnome.desktop.interface cursor-theme 'theme-name'
ログイン画面のフォントを大きくする
画面右上のアクセシビリティアイコン (白丸に人影のアイコン) をクリックして Large Text オプションにチェックを入れてください。
スケーリングファクタを指定したい場合、以下のキーファイルを作成してください:
/etc/dconf/db/gdm.d/03-scaling
[org/gnome/desktop/interface] text-scaling-factor='1.25'
その後 GDM データベースを再コンパイルしてください。
もしくは GDM ユーザーでログインして以下のコマンドを実行してください:
$ gsettings set org.gnome.desktop.interface text-scaling-factor '1.25'
サウンドをオフにする
以下の設定をするとログイン画面でシステム音量を (キーボードで) 変更したときに音が鳴らなくなります。
以下のキーファイルを作成してください:
/etc/dconf/db/gdm.d/04-sound
[org/gnome/desktop/sound] event-sounds='false'
その後 GDM データベースを再コンパイルしてください。
もしくは GDM ユーザーでログインして以下のコマンドを実行してください:
$ gsettings set org.gnome.desktop.sound event-sounds 'false'
電源ボタンを対話式にする
デフォルトでは電源ボタンを押すとサスペンドするように設定されています。以下の設定で電源ボタンやハイバネートボタンを押したときにダイアログが表示されるようになります:
以下のキーファイルを作成してください:
/etc/dconf/db/gdm.d/05-power
[org/gnome/settings-daemon/plugins/power button] power='interactive' hibernate='interactive'
その後 GDM データベースを再コンパイルしてください。
タップでクリックを有効化
デフォルトでは GDM (と GNOME) ではタップでクリックが無効になっています。dconf の設定で簡単に有効化できます。
直接タップでクリックを有効にするには、以下のコマンドを使用:
# sudo -u gdm gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
GUI で設定したい場合、以下のコマンドを使用:
# sudo -u gdm dconf-editor
正しく設定されたか確認するには、以下のコマンドを使用:
$ sudo -u gdm gsettings get org.gnome.desktop.peripherals.touchpad tap-to-click
GDM キーボードレイアウト
Xorg でのキーボード設定#X の設定ファイルを使うを見てください。
GNOME Control Center
gnome-control-center パッケージがインストールされている場合、グラフィカルフロントエンドを使ってキーボードレイアウトを設定できます。gnome-control-center を起動して Keyboard -> Input Sources を開いてください。そして、ヘッダーバーにある Login Screen ボタンを押して GDM のキーボードレイアウトを設定してください。
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 の言語を変更するには、gnome-control-center をインストールしてください。そして、gnome-control-center を起動して Region & Language を選択してください。ヘッダーバーにある Login Screen ボタンをクリックしてください。最後に Language をクリックしてリストから言語を選択してください。root パスワードが要求されます。
もしくは /var/lib/AccountsService/users/gdm
ファイルを編集して Language の行を適当なロケールに置き換えてください。以下のように編集します:
/var/lib/AccountsService/users/gdm
[User] Language=fr_FR.UTF-8 XSession= SystemAccount=true
編集後にコンピュータを再起動してください。
再起動した後に /var/lib/AccountsService/users/gdm
ファイルを開くと設定した行が消えているのに気がつくかもしれませんが、設定は保存されているので安心してください。
自動ログイン
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] TimedLoginEnable=true TimedLogin=username TimedLoginDelay=1
パスワードなしログイン
GDM のパスワードプロンプトを飛ばしたいのならば次の行を /etc/pam.d/gdm-password
の一番最初に追加してください:
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin
次に、グループ nopasswdlogin
をシステムに追加してください。グループの説明と管理コマンドについてはグループを見てください。
そして、あなたのユーザーを 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 セッションの追加と編集
セッションは .desktop
ファイルとして /usr/share/xsessions/
に保存されています。
新しいセッションを追加するには:
1. 既存の .desktop
ファイルをコピーして新しいセッションのテンプレートとして使用してください:
$ cd /usr/share/xsessions # cp gnome.desktop other.desktop
2. .desktop
テンプレートファイルを編集して使用したいウィンドウマネージャを開くようにしてください:
# nano other.desktop
KDM もインストールしている場合、作成した新しいセッションを KDM で開いた場合 .desktop
ファイルが新しく作成されます。その後 GDM に戻してからも新しいセッションは起動できます。
詳しくはディスプレイマネージャ#セッション設定を見てください。
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 のユーザーリストに表示されるユーザーは AccountsService で決められています。システムユーザー (UID < 1000) は自動的に非表示になります。通常ユーザーもログインリストに表示しないようにするには /var/lib/AccountsService/users/
に隠したいユーザーの名前を付けたファイルを作成・編集して中身を以下のようにしてください:
/var/lib/AccountsService/users/<username>
[User] SystemAccount=true
ログイン画面の回転
~/.config/monitors.xml
でモニターの設定 (モニターの方向やプライマリモニターの設定など) を行っている場合、GDM も同じ設定を使うようにするには以下のコマンドを実行:
# cp ~/.config/monitors.xml /var/lib/gdm/.config/monitors.xml
変更はログアウトしたら適用されます。GDM は xorg.conf
を使用しないためログアウトが必要です。
ログイン時に xrandr
xrandr を実行するスクリプトをログイン画面で実行したい場合、/etc/X11/xinit/xinitrc.d
にスクリプトを追加してください。
例えば、HDMI で接続された外部スクリーンを自動的に選択するには:
#!/bin/sh EXTERNAL_OUTPUT="HDMI1" INTERNAL_OUTPUT="eDP1" if (xrandr | grep $EXTERNAL_OUTPUT | grep " connected "); then xrandr --output $INTERNAL_OUTPUT --off --output $EXTERNAL_OUTPUT --auto else xrandr --output $INTERNAL_OUTPUT --auto fi
X サーバーのアクセス権限を設定
xhost
コマンドを使うことで X サーバーのアクセス権限を設定できます。
例えば、GDM に X サーバーのアクセス権限を与えるには、以下のコマンドを使います:
# xhost +SI:localuser:gdm
トラブルシューティング
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
GDM の不完全な削除
GDM を削除すると、systemd が以下のようにエラーを吐くことがあります:
user 'gdm': directory '/var/lib/gdm' does not exist
上記の警告を消すには、root でログインしてプライマリユーザーの "gdm" とグループの "gdm" を削除してください:
# userdel gdm # groupdel gdm
pwck
や grpck
を使うことで gdm が削除されたことを確認できます。所有者がないファイルがないか確認すると良いでしょう。