「GDM」の版間の差分
(同期) |
細 (リンクを修正) |
||
(5人の利用者による、間の45版が非表示) | |||
1行目: | 1行目: | ||
[[Category:ディスプレイマネージャ]] |
[[Category:ディスプレイマネージャ]] |
||
[[Category:GNOME]] |
[[Category:GNOME]] |
||
+ | [[de:Login-Manager#GDM]] |
||
[[en:GDM]] |
[[en:GDM]] |
||
− | [[ |
+ | [[fr:GDM]] |
[[pt:GDM]] |
[[pt:GDM]] |
||
− | [[zh- |
+ | [[zh-hans:GDM]] |
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|GNOME}} |
{{Related|GNOME}} |
||
− | {{Related|GNOME Flashback}} |
||
{{Related|ディスプレイマネージャ}} |
{{Related|ディスプレイマネージャ}} |
||
− | {{Related|LightDM}} |
||
− | {{Related|LXDM}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
+ | [https://wiki.gnome.org/Projects/GDM GDM - GNOME Display Manager] より: "GNOME Display Manager (GDM) はグラフィカルディスプレイサーバーを管理しグラフィカルユーザーログインを処理するプログラムです。" |
||
+ | [[ディスプレイマネージャ]]は [[Xorg|X Window System]] や [[Wayland]] のユーザーにグラフィカルなログインプロンプトを提供します。 |
||
− | [https://wiki.gnome.org/Projects/GDM GDM - GNOME Display Manager] より: |
||
+ | == インストール == |
||
− | :''GNOME Display Manager (GDM) はグラフィカルディスプレイサーバーを管理しグラフィカルユーザーログインを処理するプログラムです。'' |
||
+ | GDM は {{Pkg|gdm}} パッケージで[[インストール]]できます。また、{{grp|gnome}} グループの一部としてもインストールされます。 |
||
− | [[ディスプレイマネージャ]]は [[Xorg|X Window System]] や [[Wayland]] のユーザーにグラフィカルなログインプロンプトを提供します。 |
||
+ | == 起動 == |
||
− | ==インストール== |
||
− | GDM は {{Pkg|gdm}} パッケージで[[インストール]]できます。また、GDM は {{grp|gnome}} グループに含まれています。マシンの起動時に GDM を実行するには {{ic|gdm.service}} を[[有効化]]してください。 |
||
+ | ブート時に GDM を起動するには、{{ic|gdm.service}} を[[有効化]]して下さい。 |
||
− | GNOME 2 で使われていた旧式の GDM や設定ユーティリティを使いたい場合は {{AUR|gdm-old}} パッケージをインストールしてください。以下では基本的に旧バージョンの GDM ではなく最新の GDM について解説しています。 |
||
+ | === アプリケーションの自動起動 === |
||
− | 以下のパッケージも任意でインストールしてください: |
||
− | * {{App|gdm3setup|GDM3 や自動ログインオプションを設定したり Shell テーマを変更できるインターフェイス。|https://github.com/Nano77/gdm3setup|{{AUR|gdm3setup}}}} |
||
+ | ログイン後に自動的にアプリケーションを起動するには、[[自動起動#デスクトップ環境のスタートアップ時]] のページであなたのデスクトップ環境に関係する指示に従ってください。 |
||
− | ==設定== |
||
+ | == 設定 == |
||
− | === GDM によるアプリケーションの自動実行 === |
||
+ | {{Note|以下の設定オプションのほとんどは、{{AUR|gdm-settings}} GUI アプリケーションを使用して簡単に設定することができます。}} |
||
− | [[ディスプレイマネージャ#自動起動]]を見てください。{{ic|/etc/gdm/Init}} にスクリプトを追加する方法はもう使えません。詳しくは [https://bugzilla.gnome.org/show_bug.cgi?id=751602 上流のバグレポート] を参照。 |
||
− | === ログインの背景画像 === |
+ | === ログイン画面の背景画像 === |
+ | {{Note| |
||
− | {{Note|GNOME 3.16 から GNOME Shell のテーマはバイナリ形式のファイル (gresource) に保存されるようになりました。}} |
||
+ | * GNOME 3.16 から、GNOME Shell のテーマはバイナリファイル (gresource) として保存されるようになりました。 |
||
+ | * 以下の変更は、{{Pkg|gnome-shell}} が更新されると上書きされてしまいます。 |
||
+ | }} |
||
− | まず、既存の GNOME Shell テーマをホームディレクトリに |
+ | まず、既存の GNOME Shell テーマを抽出して、ホームディレクトリ内の何らかのディレクトリに保存する必要があります。これは、以下のスクリプトで可能です: |
{{hc|extractgst.sh|2= |
{{hc|extractgst.sh|2= |
||
#!/bin/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 |
gst=/usr/share/gnome-shell/gnome-shell-theme.gresource |
||
+ | workdir=${HOME}/shell-theme |
||
+ | |||
+ | for r in `gresource list $gst`; do |
||
+ | r=${r#\/org\/gnome\/shell/} |
||
+ | if [ ! -d $workdir/${r%/*} ]; then |
||
+ | mkdir -p $workdir/${r%/*} |
||
+ | fi |
||
+ | done |
||
for r in `gresource list $gst`; do |
for r in `gresource list $gst`; do |
||
gresource extract $gst $r >$workdir/${r#\/org\/gnome\/shell/} |
gresource extract $gst $r >$workdir/${r#\/org\/gnome\/shell/} |
||
− | done |
+ | done |
+ | }} |
||
− | + | 作成されたディレクトリに移動してください。抽出されたテーマファイルが確認できるはずです。好きな背景画像をこのディレクトリへコピーしてください。 |
|
− | 次に、ディレクトリ |
+ | 次に、そのディレクトリ内に以下のようなファイルを作成する必要があります: |
− | {{hc|gnome-shell-theme.gresource.xml|2= |
+ | {{hc|1=gnome-shell-theme.gresource.xml|2= |
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
||
<gresources> |
<gresources> |
||
<gresource prefix="/org/gnome/shell/theme"> |
<gresource prefix="/org/gnome/shell/theme"> |
||
− | <file>calendar-arrow-left.svg</file> |
||
− | <file>calendar-arrow-right.svg</file> |
||
<file>calendar-today.svg</file> |
<file>calendar-today.svg</file> |
||
+ | <file>calendar-today-light.svg</file> |
||
+ | <file>checkbox.svg</file> |
||
<file>checkbox-focused.svg</file> |
<file>checkbox-focused.svg</file> |
||
+ | <file>checkbox-off-focused-light.svg</file> |
||
<file>checkbox-off-focused.svg</file> |
<file>checkbox-off-focused.svg</file> |
||
+ | <file>checkbox-off-light.svg</file> |
||
<file>checkbox-off.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.css</file> |
||
<file>gnome-shell-high-contrast.css</file> |
<file>gnome-shell-high-contrast.css</file> |
||
− | <file> |
+ | <file>gnome-shell-start.svg</file> |
− | <file> |
+ | <file>pad-osd.css</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>process-working.svg</file> |
||
− | <file> |
+ | <file>toggle-off.svg</file> |
− | <file> |
+ | <file>toggle-off-hc.svg</file> |
− | <file> |
+ | <file>toggle-off-light.svg</file> |
− | <file>toggle- |
+ | <file>toggle-on.svg</file> |
− | <file>toggle-off-intl.svg</file> |
||
<file>toggle-on-hc.svg</file> |
<file>toggle-on-hc.svg</file> |
||
− | <file>toggle-on- |
+ | <file>toggle-on-light.svg</file> |
− | <file> |
+ | <file>workspace-placeholder.svg</file> |
− | <file> |
+ | <file>'''filename'''</file> |
− | <file>ws-switch-arrow-down.png</file> |
||
</gresource> |
</gresource> |
||
− | </gresources> |
+ | </gresources> |
+ | }} |
||
− | '''filename''' は使用する背景画像のファイル名に置き換えてください。 |
+ | '''filename''' は使用する背景画像のファイル名に置き換えてください。あるいは、16進数のカラーコードを使用する場合は、この行を削除してください。 |
− | そ |
+ | そのディレクトリ内の {{ic|gnome-shell.css}} ファイルを開き、{{ic|#lockDialogGroup}} の定義を以下のように変更してください: |
#lockDialogGroup { |
#lockDialogGroup { |
||
− | background: |
+ | background: url('''filename'''); |
− | background-size: ''' |
+ | background-size: '''width'''px '''height'''px; |
background-repeat: no-repeat; |
background-repeat: no-repeat; |
||
} |
} |
||
− | {{ic|background-size}} は GDM が使用する解像度に設定し |
+ | {{ic|background-size}} は GDM が使用する解像度に設定してください (これは、画像の解像度と同じとは限りません)。画面解像度の一覧は、[[Wikipedia:Display_resolution#Computer_monitors]] を見てください。最後に、'''filename''' の部分は背景画像のファイル名に置き換えてください。 |
+ | |||
+ | 背景色だけを変更したい場合は、{{ic|#lockDialogGroup}} の定義を以下のように変更してください: |
||
+ | |||
+ | #lockDialogGroup { |
||
+ | background-color: #'''color'''; |
||
+ | } |
||
+ | |||
+ | '''color''' は背景色の16進数カラーコードです。 |
||
+ | |||
+ | 次に、以下のコマンドでテーマをコンパイルしてください: |
||
− | 最後に、以下のコマンドでテーマをコンパイルします: |
||
$ glib-compile-resources gnome-shell-theme.gresource.xml |
$ glib-compile-resources gnome-shell-theme.gresource.xml |
||
− | 作成された {{ic|gnome-shell-theme.gresource}} ファイルを {{ic|/usr/share/gnome-shell}} ディレクトリにコピーしてください。 |
||
+ | そして、出来上がった {{ic|gnome-shell-theme.gresource}} ファイルを {{ic|/usr/share/gnome-shell}} ディレクトリにコピーしてください。 |
||
− | GDM を再起動したら設定した背景画像が表示されるはずです。 |
||
+ | 最後に、{{ic|gdm.service}} を再起動してください (注意: 一度ログアウトして再度ログインし直すだけでは十分ではありません)。設定された背景画像が使用されるようになっているはずです。 |
||
− | 詳しい情報は [https://bbs.archlinux.org/viewtopic.php?id=197036 フォーラムスレッド] を参照してください。 |
||
+ | 詳細は、この[https://bbs.archlinux.org/viewtopic.php?id=197036 フォーラムスレッド]を見てください。上記の手順を自動化するシェルスクリプトは [https://github.com/DimaZirix/fedora-gdm-wallpaper DimaZirix の github リポジトリ]で入手できます。 |
||
− | === DConf による設定 === |
||
+ | |||
+ | === dconf の設定 === |
||
+ | |||
+ | GDM の設定の一部は [[dconf]] データベース内に保存されます。これらの設定は次の2通りの方法で設定することができます。1つ目は、{{ic|/etc/dconf/db/gdm.d}} ディレクトリに''キーファイル''を追加し、{{ic|dconf update}} を root として実行して GDM データベースを再コンパイルする方法。2つ目は、GDM ユーザとしてシステムにログインし、''gsettings'' コマンドラインツールを使って直接設定を変更する方法です。前者の方法の場合、GDM プロファイルのファイルが必要であることに注意してください。このファイルはもはや上流で同梱されていないため、手動で作成しなければなりません。以下を見てください: |
||
− | GDM の設定は一部 DConf データベースに保存されます。{{ic|/etc/dconf/db/gdm.d}} ディレクトリにキーファイルを追加してから root で {{ic|dconf update}} を実行して GDM のデータベースを再コンパイルするか、あるいは GDM ユーザーでログインして ''gsettings'' コマンドラインツールを使って直接設定を変更することができます。前者の場合、GDM のプロフィールファイルが必要です。パッケージには付属していないため手動で作成する必要があります: |
||
{{hc|/etc/dconf/profile/gdm| |
{{hc|/etc/dconf/profile/gdm| |
||
user-db:user |
user-db:user |
||
system-db:gdm |
system-db:gdm |
||
− | file-db:/usr/share/gdm/greeter-dconf-defaults |
+ | file-db:/usr/share/gdm/greeter-dconf-defaults |
+ | }} |
||
− | 後者の場合、以下のコマンドで GDM ユーザーでログインできます: |
||
+ | |||
− | # machinectl shell gdm@ |
||
+ | 後者の方法では、以下のコマンドで GDM ユーザとしてログインできます: |
||
+ | |||
+ | # machinectl shell gdm@ /bin/bash |
||
==== ログイン画面のロゴ ==== |
==== ログイン画面のロゴ ==== |
||
以下のキーファイルを作成してください: |
以下のキーファイルを作成してください: |
||
+ | |||
{{hc|/etc/dconf/db/gdm.d/02-logo|2= |
{{hc|/etc/dconf/db/gdm.d/02-logo|2= |
||
[org/gnome/login-screen] |
[org/gnome/login-screen] |
||
− | logo=<nowiki |
+ | logo='<nowiki/>''/path/to/logo.png''<nowiki/>' |
+ | }} |
||
− | その後 GDM データベースを再コンパイルしてください。 |
||
− | もしくは GDM ユーザ |
+ | その後、GDM データベースを再コンパイルしてください。もしくは、以下のコマンドを使って一時的に GDM ユーザとしてログインしてロゴを変更してください: |
+ | |||
− | $ gsettings set org.gnome.login-screen logo <nowiki>'</nowiki>''/path/to/logo.png''<nowiki>'</nowiki> |
||
+ | $ sudo -u gdm dbus-launch gsettings set org.gnome.login-screen logo '<nowiki/>''/path/to/logo.png''<nowiki/>' |
||
==== カーソルテーマの変更 ==== |
==== カーソルテーマの変更 ==== |
||
145行目: | 150行目: | ||
GDM は [[GNOME]] のカーソルテーマの設定を使用せず、[[カーソルテーマ#XDG の仕様|XDG の仕様]]に準拠して設定されたカーソルテーマも無視します。GDM で使用されるカーソルテーマを変更するには、以下のキーファイルを作成してください: |
GDM は [[GNOME]] のカーソルテーマの設定を使用せず、[[カーソルテーマ#XDG の仕様|XDG の仕様]]に準拠して設定されたカーソルテーマも無視します。GDM で使用されるカーソルテーマを変更するには、以下のキーファイルを作成してください: |
||
− | {{hc|/etc/dconf/db/gdm.d/10-cursor-settings| |
+ | {{hc|/etc/dconf/db/gdm.d/10-cursor-settings|2= |
− | + | [org/gnome/desktop/interface] |
|
− | cursor-theme='< |
+ | cursor-theme='<nowiki/>''theme-name''<nowiki/>' |
}} |
}} |
||
− | その後 GDM データベースを再コンパイルしてください。 |
||
− | + | そして、GDM のデータベースを再コンパイルしてください。あるいは、以下のコマンドを使って一時的に GDM ユーザとしてログインしてカーソルテーマを変更してください: |
|
+ | |||
− | $ gsettings set org.gnome.desktop.interface cursor-theme <nowiki>'</nowiki>''theme-name''<nowiki>'</nowiki> |
||
+ | $ sudo -u gdm dbus-launch gsettings set org.gnome.desktop.interface cursor-theme '<nowiki/>''theme-name''<nowiki/>' |
||
+ | |||
+ | ==== アイコンテーマの変更 ==== |
||
+ | |||
+ | アイコンのテーマを変更する場合も、同じ方法で行うことができます。以下のキーファイルを作成してください: |
||
+ | |||
+ | {{hc|/etc/dconf/db/gdm.d/11-icon-settings|2= |
||
+ | [org/gnome/desktop/interface] |
||
+ | icon-theme='<nowiki/>''theme-name''<nowiki/>' |
||
+ | }} |
||
+ | |||
+ | そして、GDM のデータベースを再コンパイルしてください。あるいは、以下のコマンドを使って一時的に GDM ユーザとしてログインしてアイコンテーマを変更してください: |
||
+ | |||
+ | $ sudo -u gdm dbus-launch gsettings set org.gnome.desktop.interface icon-theme '<nowiki/>''theme-name''<nowiki/>' |
||
==== ログイン画面のフォントを大きくする ==== |
==== ログイン画面のフォントを大きくする ==== |
||
158行目: | 176行目: | ||
画面右上のアクセシビリティアイコン (白丸に人影のアイコン) をクリックして ''Large Text'' オプションにチェックを入れてください。 |
画面右上のアクセシビリティアイコン (白丸に人影のアイコン) をクリックして ''Large Text'' オプションにチェックを入れてください。 |
||
− | スケーリングファクタを指定 |
+ | 特定のスケーリングファクタを指定するには、以下のキーファイルを作成してください: |
+ | |||
{{hc|/etc/dconf/db/gdm.d/03-scaling|2= |
{{hc|/etc/dconf/db/gdm.d/03-scaling|2= |
||
[org/gnome/desktop/interface] |
[org/gnome/desktop/interface] |
||
− | text-scaling-factor=<nowiki |
+ | text-scaling-factor='<nowiki/>''1.25''<nowiki/>' |
+ | }} |
||
− | その後 GDM データベースを再コンパイルしてください。 |
||
− | + | そして、GDM のデータベースを再コンパイルしてください。あるいは、以下のコマンドを使って一時的に GDM ユーザとしてログインしてフォントを変更してください: |
|
+ | |||
− | $ gsettings set org.gnome.desktop.interface text-scaling-factor <nowiki>'</nowiki>''1.25''<nowiki>'</nowiki> |
||
+ | $ sudo -u gdm dbus-launch gsettings set org.gnome.desktop.interface text-scaling-factor '<nowiki/>''1.25''<nowiki/>' |
||
==== サウンドをオフにする ==== |
==== サウンドをオフにする ==== |
||
− | 以下の設定をするとログイン画面でシステム |
+ | 以下の設定をすると、ログイン画面でシステムのボリュームを変更した際に鳴るフィードバック音がオフになります。 |
以下のキーファイルを作成してください: |
以下のキーファイルを作成してください: |
||
+ | |||
{{hc|/etc/dconf/db/gdm.d/04-sound|2= |
{{hc|/etc/dconf/db/gdm.d/04-sound|2= |
||
[org/gnome/desktop/sound] |
[org/gnome/desktop/sound] |
||
− | event-sounds= |
+ | event-sounds=false |
+ | }} |
||
− | その後 GDM データベースを再コンパイルしてください。 |
||
− | + | そして、GDM のデータベースを再コンパイルしてください。あるいは、以下のコマンドを使って一時的に GDM ユーザとしてログインしてサウンドをオフにしてください: |
|
− | $ gsettings set org.gnome.desktop.sound event-sounds 'false' |
||
+ | $ sudo -u gdm dbus-launch gsettings set org.gnome.desktop.sound event-sounds 'false' |
||
− | ==== 電源ボタンを対話式にする ==== |
||
+ | |||
− | デフォルトでは電源ボタンを押すとサスペンドするように設定されています。以下の設定で電源ボタンやハイバネートボタンを押したときにダイアログが表示されるようになります: |
||
+ | ==== 電源ボタンの挙動の設定 ==== |
||
+ | |||
+ | {{Note|1=<nowiki/> |
||
+ | * 電源ボタンに対する [[電源管理#ACPI イベント|logind の設定]]は、GNOME Settings Daemon によって上書きされます。[https://bugzilla.gnome.org/show_bug.cgi?id=755953#c4] |
||
+ | * GDM 3.18 の時点で、電源ボタンを ''interactive'' に設定することはできません。[https://bugzilla.gnome.org/show_bug.cgi?id=753713#c6] |
||
+ | * 一部のケースで、この設定は無視され、ハードコードされたデフォルトが使用されます。[https://bugzilla.gnome.org/show_bug.cgi?id=755953#c17] |
||
+ | }} |
||
+ | |||
+ | {{Warning|[[acpid]] デーモンも電源ボタンやハイバネートボタンのイベントを管理することに注意してください。両方のシステムが同時に動作すると予期しない挙動を引き起こす可能性があります。}} |
||
以下のキーファイルを作成してください: |
以下のキーファイルを作成してください: |
||
+ | |||
{{hc|/etc/dconf/db/gdm.d/05-power|2= |
{{hc|/etc/dconf/db/gdm.d/05-power|2= |
||
− | [org/gnome/settings-daemon/plugins/power |
+ | [org/gnome/settings-daemon/plugins/power] |
+ | power-button-action='<nowiki/>''action''<nowiki/>' |
||
− | power='interactive' |
||
+ | }} |
||
− | hibernate='interactive'}} |
||
− | その後 GDM データベースを再コンパイルしてください。 |
||
+ | そして、GDM のデータベースを再コンパイルしてください。あるいは、以下のコマンドを使って一時的に GDM ユーザとしてログインして電源ボタンの挙動を設定してください: |
||
− | {{Warning|[[acpid]] デーモンも電源ボタンやハイバネートボタンのイベントを管理することに注意してください。両方のシステムが同時に動作すると予期しない挙動を引き起こす可能性があります。}} |
||
+ | |||
+ | $ sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.power power-button-action '<nowiki/>''action''<nowiki/>' |
||
+ | |||
+ | ''action'' は、{{ic|nothing}}、{{ic|suspend}}、{{ic|hibernate}} のうちどれかです。 |
||
==== タップでクリックを有効化 ==== |
==== タップでクリックを有効化 ==== |
||
− | デフォルトでは GDM (と GNOME) ではタップでクリックが無効になっています |
+ | デフォルトでは GDM (と GNOME) ではタップでクリックが無効になっていますが、dconf の設定で簡単に有効化できます。 |
− | {{Note|X で以下の設定をしたい場合、まず |
+ | {{Note|X で以下の設定をしたい場合、まず X サーバーに適切なアクセス権限を設定する必要があります。[[#X サーバーのアクセス権限を設定]]を見てください。}} |
+ | |||
+ | タップでクリックを有効化するには、以下のキーファイルを作成してください: |
||
+ | |||
+ | {{hc|/etc/dconf/db/gdm.d/06-tap-to-click|2= |
||
+ | [org/gnome/desktop/peripherals/touchpad] |
||
+ | tap-to-click=true |
||
+ | }} |
||
+ | |||
+ | そして、GDM のデータベースを再コンパイルしてください。あるいは、以下のコマンドを使って一時的に GDM ユーザとしてログインしてタップでクリックを有効化してください: |
||
+ | |||
+ | $ sudo -u gdm dbus-launch gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click 'true' |
||
+ | |||
+ | ==== アクセシビリティメニューを無効化/有効化する ==== |
||
+ | |||
+ | {{out of date|GDM 43 の時点で、以下の設定キーは機能しません (しかし、ドキュメントには依然として記述されています [https://help.gnome.org/admin/gdm/3.26/configuration.html.en#accessibilityconfiguration])。代わりに、{{ic|org.gnome.desktop.a11y.applications screen-keyboard-enabled true}} キーを使用してください。}} |
||
+ | |||
+ | アクセシビリティメニューを無効化あるいは有効化するには、以下のキーファイルを作成してください: |
||
+ | |||
+ | {{hc|/etc/dconf/db/gdm.d/07-accessibility|2= |
||
+ | [org/gnome/desktop/interface] |
||
+ | toolkit-accessibility='<nowiki/>''boolean''<nowiki/>' |
||
+ | }} |
||
+ | そして、GDM のデータベースを再コンパイルしてください。あるいは、以下のコマンドを使って一時的に GDM ユーザとしてログインして状態を変更してください: |
||
− | 直接タップでクリックを有効にするには、以下のコマンドを使用: |
||
− | + | $ sudo -u gdm dbus-launch gsettings set org.gnome.desktop.interface toolkit-accessibility '<nowiki/>''boolean''<nowiki/>' |
|
+ | メニューはキーの値が {{ic|false}} の時に無効化され、{{ic|true}} の時に有効化されます。 |
||
− | GUI で設定したい場合、以下のコマンドを使用: |
||
+ | ==== GDM で夜間モードを有効にする ==== |
||
− | {{bc|# sudo -u gdm dconf-editor}} |
||
− | + | GDM で[[GNOME#夜間モード|夜間モード]]を有効化するには、以下を実行してください: |
|
− | {{bc|$ sudo -u gdm gsettings |
+ | {{bc|$ sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.color night-light-enabled true}} |
− | === |
+ | === キーボードレイアウト === |
− | [[Xorg でのキーボード設定#X の設定ファイルを使う]]を見てください。 |
+ | システムのキーボードレイアウトは GDM にも適用されます。[[Xorg でのキーボード設定#X の設定ファイルを使う]] を見てください。 |
− | {{Tip|[[Wikipedia:ISO 3166-1]] |
+ | {{Tip|国名に基づくキーマップのリストについては、[[Wikipedia:ja:ISO 3166-1]] を参照してください。または、システムで利用可能なキーマップを {{ic|localectl list-keymaps}} で一覧表示することもできます。}} |
+ | Wayland を使用している場合、{{man|1|localectl}} で X のキーボードレイアウトを手動で指定する必要がある場合があります。以下の例では、フランス語のレイアウトが設定されています: |
||
− | ==== GNOME Control Center ==== |
||
+ | # localectl set-x11-keymap fr |
||
− | {{Pkg|gnome-control-center}} パッケージがインストールされている場合、グラフィカルフロントエンドを使ってキーボードレイアウトを設定できます。''gnome-control-center'' を起動して ''Keyboard -> Input Sources'' を開いてください。そして、ヘッダーバーにある ''Login Screen'' ボタンを押して GDM のキーボードレイアウトを設定してください。 |
||
+ | システムに複数のユーザが存在する場合、GDM によって使用されるキーボードレイアウトをシステムのキーボードレイアウトとは異なるものに設定することができます。まず、{{Pkg|gnome-control-center}} がインストールされていることを確認してください。そして、''gnome-control-center'' を起動し、''Region & Language > Input Sources'' を開いてください。ヘッダーバーにある ''Login Screen'' トグルボタンをクリックし、リストの中からキーボードレイアウトを選択してください。注意点として、システムに複数のユーザが存在しないと ''Login Screen'' ボタンは表示されません [https://bugzilla.gnome.org/show_bug.cgi?id=741500]。 |
||
− | ==== GDM 2.x レイアウト ==== |
||
− | + | GDM 2.x (レガシーな GDM) では、{{ic|~/.dmrc}} を以下のように編集する必要があります: |
|
{{hc|~/.dmrc|2= |
{{hc|~/.dmrc|2= |
||
[Desktop] |
[Desktop] |
||
− | Language=de_DE.UTF-8 # |
+ | Language=de_DE.UTF-8 # デフォルトの言語 |
− | Layout=de nodeadkeys # |
+ | Layout=de nodeadkeys # キーボードレイアウト |
}} |
}} |
||
=== 言語の変更 === |
=== 言語の変更 === |
||
− | GDM の言語を変更するには、{{Pkg|gnome-control-center}} |
+ | システムの言語は GDM にも適用されます。システムに複数のユーザが存在する場合、GDM によって使用される言語をシステムの言語とは異なるものに設定することができます。GDM の言語を変更するには、まず、{{Pkg|gnome-control-center}} がインストールされていることを確認してください。そして、''gnome-control-center'' を起動して ''Region & Language'' を選択してください。次に、ヘッダーバーにある ''Login Screen'' トグルボタンをクリックしてください。最後に、''Language'' をクリックし、リストから言語を選択してください。この時、root パスワードが要求されます。注意点として、システムに複数のユーザが存在しないと ''Login Screen'' ボタンは表示されません [https://bugzilla.gnome.org/show_bug.cgi?id=741500]。 |
+ | {{Tip|2つの異なる入力言語を追加し、ログアウトし、そしてデフォルトの言語を選択すると、第2のオプションが削除された後に GDM は選択された言語を記憶します。}} |
||
− | もしくは {{ic|/var/lib/AccountsService/users/gdm}} ファイルを編集して Language の行を適当なロケールに置き換えてください。以下のように編集します: |
||
+ | === ユーザーとログイン === |
||
− | {{hc|1=/var/lib/AccountsService/users/gdm| |
||
− | 2=[User] |
||
− | Language=fr_FR.UTF-8 |
||
− | XSession= |
||
− | SystemAccount=true}} |
||
+ | ==== 自動ログイン ==== |
||
− | 編集後にコンピュータを再起動してください。 |
||
+ | {{Warning|[[systemd-homed]] によって管理されているユーザに対してはこれを行わないでください。現在、この機能は[https://github.com/systemd/systemd/issues/20844 未実装]であり、GDM をクラッシュさせます。}} |
||
− | 再起動した後に {{ic|/var/lib/AccountsService/users/gdm}} ファイルを開くと設定した行が消えているのに気がつくかもしれませんが、設定は保存されているので安心してください。 |
||
+ | GDM で自動ログインを有効化するには、以下を {{ic|/etc/gdm/custom.conf}} に追加してください ({{ic|''username''}} は自身のものに置き換えてください): |
||
− | === 自動ログイン === |
||
− | GDM で自動ログインするには、以下を {{ic|/etc/gdm/custom.conf}} に追加してください (''username'' はあなたのユーザー名に置き換えてください): |
||
{{hc|1=/etc/gdm/custom.conf| |
{{hc|1=/etc/gdm/custom.conf| |
||
+ | 2=# ユーザに対して自動ログインを有効化する |
||
− | 2=# Enable automatic login for user |
||
[daemon] |
[daemon] |
||
AutomaticLogin=''username'' |
AutomaticLogin=''username'' |
||
256行目: | 306行目: | ||
}} |
}} |
||
− | {{Tip|上記の |
+ | {{Tip|上記の設定を追加した後に GDM が起動しなくなってしまった場合は、TTY から設定をコメントアウトしてください。}} |
− | + | あるいは、自動ログインを遅延させるには: |
|
{{hc|1=/etc/gdm/custom.conf| |
{{hc|1=/etc/gdm/custom.conf| |
||
2=[daemon] |
2=[daemon] |
||
− | |||
TimedLoginEnable=true |
TimedLoginEnable=true |
||
TimedLogin=''username'' |
TimedLogin=''username'' |
||
268行目: | 317行目: | ||
}} |
}} |
||
+ | 自動ログインに使用するセッションを設定することもできます ({{ic|gnome-xorg}} は任意のセッションに置き換えてください): |
||
− | ===パスワードなしログイン=== |
||
+ | |||
− | GDM のパスワードプロンプトを飛ばしたいのならば次の行を {{ic|/etc/pam.d/gdm-password}} の一番最初に追加してください: |
||
+ | {{hc|1=/var/lib/AccountsService/users/''username''| |
||
+ | 2=XSession=gnome-xorg |
||
+ | }} |
||
+ | |||
+ | ==== パスワードレスログイン ==== |
||
+ | |||
+ | GDM でパスワードプロンプトをバイパスしたい場合は、以下の設定を {{ic|/etc/pam.d/gdm-password}} の最初の行に追加してください: |
||
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin |
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin |
||
− | 次に、 |
+ | 次に、{{ic|nopasswdlogin}} グループをシステムに追加してください。グループに関する説明とグループの管理コマンドについては [[ユーザーグループ]] を見てください。 |
− | そして、あなたのユーザーを {{ic|nopasswdlogin}} に加えればユーザー名をクリックするだけでログインできるようにな |
+ | そして、あなたのユーザーを {{ic|nopasswdlogin}} グループに加えれば、ユーザー名をクリックするだけでログインできるようになります。 |
{{Warning| |
{{Warning| |
||
− | *'''root''' アカウント |
+ | * '''root''' アカウントに対してはこれを'''行わないでください'''。 |
− | *GDM |
+ | * これにより、GDM でログイン時にセッションの種類を変更することはできなくなります。セッションのデフォルトの種類を変更したい場合は、まず、{{ic|nopasswdlogin}} グループからあなたのユーザを削除する必要があります。 |
+ | }} |
||
− | ===パスワード |
+ | ==== 複数のセッションが存在する場合にパスワードレスシャットダウン ==== |
− | GDM はシャットダウンの権限を取得するために [[polkit]] と logind を使っています。以下を設定することでパスワードを入力することなくシャットダウンできるようになります: |
||
+ | GDM はシャットダウンの権限を取得するために polkit と logind を使用しています。以下の設定により、複数のユーザがログインしている時にシステムをシャットダウンできるようになります: |
||
− | {{hc|1=/etc/polkit-1/localauthority.conf.d/org.freedesktop.logind.policy| |
||
+ | |||
− | 2=<?xml version="1.0" encoding="UTF-8"?> |
||
+ | {{hc|1=/etc/polkit-1/localauthority.conf.d/org.freedesktop.logind.policy|2=<nowiki> |
||
+ | <?xml version="1.0" encoding="UTF-8"?> |
||
<!DOCTYPE policyconfig PUBLIC |
<!DOCTYPE policyconfig PUBLIC |
||
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" |
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" |
||
− | "http://www.freedesktop.org/ |
+ | "http://www.freedesktop.org/software/polkit/policyconfig-1.dtd"> |
<!-- |
<!-- |
||
306行目: | 364行目: | ||
</policyconfig> |
</policyconfig> |
||
+ | </nowiki>}} |
||
− | }} |
||
− | 利用可能な |
+ | logind の利用可能な全オプション (例: reboot-multiple-sessions) は {{man|5|org.freedesktop.login1}} で見られます。 |
− | === GDM |
+ | ==== GDM で root ログインを有効にする ==== |
+ | root としてログインすることは推奨されていませんが、必要であれば、{{ic|/etc/pam.d/gdm-password}} を編集して以下の設定を {{ic|auth required pam_deny.so}} 行より前に追加することで root としてログインできるようになります: |
||
− | セッションは {{ic|.desktop}} ファイルとして {{ic|/usr/share/xsessions/}} に保存されています。 |
||
+ | {{hc|/etc/pam.d/gdm-password| |
||
− | 新しいセッションを追加するには: |
||
+ | auth sufficient pam_succeed_if.so uid eq 0 quiet |
||
− | |||
+ | }} |
||
− | 1. 既存の {{ic|.desktop}} ファイルをコピーして新しいセッションのテンプレートとして使用してください: |
||
− | $ cd /usr/share/xsessions |
||
− | # cp gnome.desktop other.desktop |
||
− | 2. {{ic|.desktop}} テンプレートファイルを編集して使用したいウィンドウマネージャを開くようにしてください: |
||
− | # nano other.desktop |
||
+ | 最終的にこのファイルは以下のような見た目になるはずです: |
||
− | KDM もインストールしている場合、作成した新しいセッションを KDM で開いた場合 {{ic|.desktop}} ファイルが新しく作成されます。その後 GDM に戻してからも新しいセッションは起動できます。 |
||
+ | {{hc|/etc/pam.d/gdm-password|2= |
||
− | 詳しくは[[ディスプレイマネージャ#セッション設定]]を見てください。 |
||
− | |||
− | === 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 eq 0 quiet |
||
auth sufficient pam_succeed_if.so uid >= 1000 quiet |
auth sufficient pam_succeed_if.so uid >= 1000 quiet |
||
auth required pam_deny.so |
auth required pam_deny.so |
||
− | ... |
+ | ... |
+ | }} |
||
− | 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>| |
||
+ | {{hc|/var/lib/AccountsService/users/''username''|2= |
||
[User] |
[User] |
||
− | + | SystemAccount=true |
|
+ | }} |
||
+ | === デフォルトのモニター設定をセットアップする === |
||
− | === ログイン画面の回転 === |
||
+ | 一部の[[デスクトップ環境]]は、ディスプレイの設定を {{ic|~/.config/monitors.xml}} に保存しています。そのファイルの内容に基づいて、''xrandr'' コマンドが生成されます。GDM にも、似たようなファイル {{ic|/var/lib/gdm/.config/monitors.xml}} が存在しています。 |
||
− | {{ic|~/.config/monitors.xml}} でモニターの設定 (モニターの方向やプライマリモニターの設定など) を行っている場合、GDM も同じ設定を使うようにするには以下のコマンドを実行: |
||
+ | {{ic|~/.config/monitors.xml}} でモニタをセットアップして (解像度、リフレッシュレート、向き、スケーリング、プライマリなど)、GDM にこれらの設定を使用してほしい場合、以下を実行して設定ファイルをコピーしてください: |
||
− | # cp ~/.config/monitors.xml /var/lib/gdm/.config/monitors.xml |
||
+ | # cp ~/.config/monitors.xml /var/lib/gdm/.config/ |
||
− | 変更はログアウトしたら適用されます。GDM は {{ic|xorg.conf}} を使用しないためログアウトが必要です。 |
||
+ | ブートするたびにモニターのセットアップを自動的に再設定するには、{{ic|gdm.service}} の[[ドロップインファイル]]を使用してください: |
||
− | {{Note|Wayland バックエンドは {{ic|/var/lib/gdm/.config/monitors.xml}} ファイルを無視します [https://bbs.archlinux.org/viewtopic.php?id=196219]。Wayland バックエンドを無効化する方法は [[#Xorg バックエンドを使う]]を見てください。}} |
||
+ | {{hc|/etc/systemd/system/gdm.service.d/override.conf|2= |
||
− | === ログイン時に xrandr === |
||
+ | [Service] |
||
+ | ExecStartPre=/bin/cp /home/''user''/.config/monitors.xml /var/lib/gdm/.config/monitors.xml |
||
+ | }} |
||
+ | {{ic|monitors.xml}} の中でスクリーンの回転とスケーリングに関連する部分は以下のとおりです: |
||
− | xrandr を実行するスクリプトをログイン画面で実行したい場合、{{ic|/etc/X11/xinit/xinitrc.d}} にスクリプトを追加してください。 |
||
+ | <monitors version="2"> |
||
− | 例えば、HDMI で接続された外部スクリーンを自動的に選択するには: |
||
+ | <configuration> |
||
+ | <logicalmonitor> |
||
+ | ... |
||
+ | <scale>2</scale> |
||
+ | ... |
||
+ | <transform> |
||
+ | <rotation>right</rotation> |
||
+ | <flipped>no</flipped> |
||
+ | </transform> |
||
+ | ... |
||
+ | </logicalmonitor> |
||
+ | </configuration> |
||
+ | </monitors> |
||
+ | 変更はログアウト時に適用されます。GDM は {{ic|xorg.conf}} の設定を尊重しないため、ログアウトが必須です。 |
||
− | {{bc|<nowiki> |
||
+ | |||
− | #!/bin/sh |
||
+ | {{Note| |
||
− | EXTERNAL_OUTPUT="HDMI1" |
||
+ | * GDM を Wayland で使用している場合、Wayland 内で作成された {{ic|monitors.xml}} も使用しなければなりません。詳細は [https://gitlab.gnome.org/GNOME/gdm/issues/224 GDM bug 224] を参照してください。あるいは、GDM に [[#Xorg バックエンドを使う]] ように強制し、Xorg 内で作成された {{ic|monitors.xml}} を使用することもできます。 |
||
− | INTERNAL_OUTPUT="eDP1" |
||
+ | * [[HiDPI#分数スケーリング|分数スケーリング]]を使用する場合、{{ic|gdm}} ユーザに対して分数スケーリングを有効化する必要があります: |
||
− | if (xrandr | grep $EXTERNAL_OUTPUT | grep " connected "); then |
||
+ | sudo -u gdm dbus-launch gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']" |
||
− | xrandr --output $INTERNAL_OUTPUT --off --output $EXTERNAL_OUTPUT --auto |
||
+ | }} |
||
− | else |
||
− | xrandr --output $INTERNAL_OUTPUT --auto |
||
− | fi |
||
− | </nowiki>}} |
||
=== X サーバーのアクセス権限を設定 === |
=== X サーバーのアクセス権限を設定 === |
||
380行目: | 443行目: | ||
例えば、GDM に X サーバーのアクセス権限を与えるには、以下のコマンドを使います: |
例えば、GDM に X サーバーのアクセス権限を与えるには、以下のコマンドを使います: |
||
− | + | {{bc|# xhost +SI:localuser:gdm}} |
|
− | ==トラブルシューティング== |
+ | == トラブルシューティング == |
+ | === Wayland とプロプライエタリな NVIDIA ドライバ === |
||
− | === AMD Catalyst ドライバーを使っている場合に起動しない === |
||
− | {{pkg|xorg-server}} パッケージを[[ダウングレード]]するか [[LightDM]] など他の[[ディスプレイマネージャ]]を使うようにしてください。 |
||
+ | [[NVIDIA]] ドライバを使って GDM で Wayland を使用するには、まず [[NVIDIA#DRM カーネルモード設定|DRM カーネルモード設定]]を有効化しなければなりません。 |
||
− | ===ログアウト時に GDM が動かない=== |
||
+ | |||
+ | {{Note|[[NVIDIA#DRM カーネルモード設定|KMS を有効化]]して [[NVIDIA#Wayland|Wayland の設定]]をしても GDM に Wayland のオプションが表示されない場合、{{ic|NVreg_PreserveVideoMemoryAllocations}} と [https://gitlab.gnome.org/GNOME/gdm/-/commit/51181871e9db716546e9593216220389de0d8b03 NVIDIA の systemd サービス]が無効化されている可能性が高いです。以下の方法で Wayland を強制してみる前に、まず [[NVIDIA/ヒントとテクニック#サスペンド後にビデオメモリを保持する]] に書かれてある指示に従ってください。}} |
||
+ | |||
+ | GDM バージョン 42 と NVIDIA ドライババージョン 510 の時点で、GDM はデフォルトで Wayland を使用します。それより古い NVIDIA ドライバ (バージョン 470 から 510 の間) の場合、GDM にはチップセット依存の [https://gitlab.gnome.org/GNOME/gdm/-/blob/main/data/61-gdm.rules.in udev ルール]が存在しており、Wayland ではなく Xorg を使用します。Wayland を強制するには、以下のシンボリックリンクを作成してこれらのルールをオーバーライドしてください: |
||
+ | |||
+ | # ln -s /dev/null /etc/udev/rules.d/61-gdm.rules |
||
+ | |||
+ | {{Note|このコマンドが動くのは、{{ic|/etc/udev/rules.d/}} 内のルールは {{ic|/usr/lib/udev/rules.d/}} 内のルールをオーバーライドするからです ([[udev#udev ルールについて]] を参照)。また、{{ic|/usr/lib/udev/rules.d/}} よりも {{ic|/etc/udev/rules.d/}} を変更することが推奨されます。なぜなら、前者は [[pacman]] によって管理されているからです。}} |
||
+ | |||
+ | GDM が表示されずに黒画面になる場合、コンピュータの BIOS 設定から統合グラフィックスを無効化してみてください。 |
||
+ | |||
+ | === ログアウト時に GDM が動かない === |
||
起動時には GDM が問題なく立ち上がるのに、ログアウトした後に問題が発生する場合は、次の行を {{ic|/etc/gdm/custom.conf}} の daemon セクションに追加してみて下さい: |
起動時には GDM が問題なく立ち上がるのに、ログアウトした後に問題が発生する場合は、次の行を {{ic|/etc/gdm/custom.conf}} の daemon セクションに追加してみて下さい: |
||
393行目: | 467行目: | ||
GdmXserverTimeout=60 |
GdmXserverTimeout=60 |
||
− | === |
+ | === Rootless Xorg === |
− | [[Xorg#Rootless Xorg |
+ | [[Xorg#Rootless Xorg]] を見て下さい。 |
=== Xorg バックエンドを使う === |
=== Xorg バックエンドを使う === |
||
− | + | [[Wayland]] バックエンドはデフォルトで使用されます。[[Xorg]] バックエンドが使用されるのは、Wayland バックエンドを起動できない場合のみです。例えば以下のような場合には Xorg バックエンドを代わりに使用する必要があるでしょう: |
|
+ | |||
+ | * GDM が[https://bbs.archlinux.org/viewtopic.php?pid=1869534#p1869534 クラッシュしてしまう] |
||
+ | |||
+ | Xorg バックエンドをデフォルトで使用するには、{{ic|/etc/gdm/custom.conf}} 内の以下の行をアンコメントしてください: |
||
+ | |||
#WaylandEnable=false |
#WaylandEnable=false |
||
− | === GDM |
+ | === 何らかの入力がないと GDM が起動しない === |
+ | {{Out of date|Linux 5.6 以降、この問題はもはや存在しません。}} |
||
− | GDM を削除すると、systemd が以下のようにエラーを吐くことがあります: |
||
+ | |||
+ | 起動しても画面が暗いままで、マウスを動かしたりキーボードに何か打ち込まないと GDM が起動しない場合、原因はおそらく乱数生成のためのエントロピーが不足しているためです。問題を確認するために ''systemd-random-seed'' のログ ({{ic|journalctl --unit systemd-random-seed}} コマンドで読むことができます) の中に以下のような行がないかチェックしてください: |
||
+ | |||
+ | Kernel entropy pool is not initialized yet, waiting until it is. |
||
+ | |||
+ | 問題を解決するには、{{ic|<nowiki>random.trust_cpu=on</nowiki>}} [[カーネルパラメータ]]を設定してください (あなたの使っている CPU が ''RDRAND'' 命令をサポートしている場合)。もしくはエントロピーを供給するために [[haveged]] をインストールすることでも解決できます (ただしエントロピーの品質は保証されていません)。[[debian:BoottimeEntropyStarvation|Debian の記事]]に記載されている他の解決方法も参照。 |
||
+ | |||
+ | === gdm が完全に削除されない === |
||
+ | |||
+ | {{Pkg|gdm}} を削除した後、[[systemd]] が以下のようなメッセージを出力する場合があります: |
||
user 'gdm': directory '/var/lib/gdm' does not exist |
user 'gdm': directory '/var/lib/gdm' does not exist |
||
− | + | この警告を取り除くには、root としてログインし、{{ic|gdm}} [[ユーザーとグループ#ユーザー管理の他の例|プライマリユーザを削除]]し、{{ic|gdm}} [[ユーザーとグループ#グループ管理|グループを削除]]してください。 |
|
+ | {{ic|gdm}} が正しく削除されたかどうかは {{ic|pwck}} と {{ic|grpck}} を root 権限で実行することで確認できます。最後に、''gdm'' 由来の[[Pacman ヒント#どのパッケージにも所有されていないファイルを特定する|どのユーザにも所有されていないファイル]]が残留していないかどうかダブルチェックしたほうが良いでしょう。 |
||
− | # userdel gdm |
||
− | # groupdel gdm |
||
+ | === GDM の自動サスペンド (GNOME 3.28) === |
||
− | {{ic|pwck}} や {{ic|grpck}} を使うことで gdm が削除されたことを確認できます。[[Pacman ヒント#ファイルがどのパッケージにも含まれていないことを確認|所有者がないファイル]]がないか確認すると良いでしょう。 |
||
+ | |||
+ | GDM は GNOME とは別の dconf データベースを使用して電源管理を制御しています。ユーザーセッションと同じように GDM が振る舞うようにしたい場合、ユーザー設定を GDM の dconf データベースにコピーしてください ({{ic |'' username ''}} はユーザー名です): |
||
+ | |||
+ | $ IFS=$'\n'; for x in $(sudo -u ''username'' gsettings list-recursively org.gnome.settings-daemon.plugins.power); do eval "sudo -u gdm dbus-launch gsettings set $x"; done; unset IFS |
||
+ | |||
+ | AC での自動サスペンドのみを無効にするには、次のコマンドを実行してください: |
||
+ | |||
+ | $ sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing' |
||
+ | |||
+ | (バッテリー環境での自動サスペンドも無効にするには、{{ic|ac}} を {{ic|battery}} に変えてしてコマンドを実行してください。) |
||
+ | |||
+ | 変更をアクティブ化するには、GDM を再起動してください。 |
||
+ | |||
+ | === GDM が Wayland を無視し、デフォルトで X.Org を使用する === |
||
+ | |||
+ | Wayland が動作するためには、カーネルモード設定 (KMS) が動作している必要がありますが、マシンによっては GDM プロセスが KMS よりも早く開始し、結果として GDM が Wayland を認識できず、X.Org のみで動作することになります。その結果、ログに次のようなメッセージが表示されることがあります: |
||
+ | |||
+ | gnome-shell[569]: Failed to open gpu '/dev/dri/card0': GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Operation not permitted |
||
+ | gnome-shell[569]: Failed to create backend: No GPUs found |
||
+ | systemd[505]: org.gnome.Shell@wayland.service: Failed with result 'protocol'. |
||
+ | systemd[505]: Failed to start GNOME Shell on Wayland. |
||
+ | |||
+ | また、同じ問題に依って、GDM が表示されなかったり、TTY の出力しか表示されなかったりすることもあります。 |
||
+ | |||
+ | この問題は、[[カーネルモード設定#KMS の早期開始|KMS をより早い段階で開始する]]ことで解決できます。また、GDM の設定ファイルで Wayland が有効化されていることも確認したほうが良いでしょう ([[#Xorg バックエンドを使う]] を参照)。 |
||
+ | |||
+ | また、[[NVIDIA]] ドライバを使用している場合、Wayland セッションが [[udev]] ルールによってブロックされてしまうかもしれません ([[GNOME#Wayland セッション]])。この場合、以下のようなメッセージが出力されることがあります: |
||
+ | |||
+ | systemd[1022]: Condition check resulted in GNOME Shell on Wayland being skipped. |
||
+ | systemd[1022]: org.gnome.Shell@wayland.service: Skipped due to 'exec-condition'. |
||
+ | systemd[1022]: org.gnome.Shell@wayland.service: Control process exited, code=exited, status=2/INVALIDARGUMENT |
||
+ | |||
+ | 回避策は [[#Wayland とプロプライエタリな NVIDIA ドライバ]] を見てください。 |
||
+ | |||
+ | === NVidia (e)GPU が存在する場合、AMD または Intel GPU で黒い画面が表示される === |
||
+ | |||
+ | 初めに NVidia デバイスが接続されていない場合、GDM は Wayland で通常通り起動し動作しますが、NVidia eGPU が接続される (または、他の何らかの理由で {{ic|nvidia}} モジュールがロードされる) と動作を停止してしまいます。この問題の典型的な症状としては、ログアウト時と GDM の再起動時に黒画面と点滅するカーソルが表示され、以下のメッセージが GDM のログに出力されるというものです (root として {{ic|journalctl -u gdm -b}} を実行することでログにアクセスした場合): |
||
+ | |||
+ | Gdm: Child process -<PID> was already dead. |
||
+ | |||
+ | 解決策は [[#GDM が Wayland を無視し、デフォルトで X.Org を使用する]] と同じです: {{ic|nvidia}} モジュールのロード時に {{ic|/usr/lib/gdm-disable-wayland}} が実行されないようにするのです。 |
||
+ | |||
+ | Wayland 上で動作している GDM は、{{ic|/usr/lib/gdm-disable-wayland}} が一度でも実行されていると機能しなくなってしまうことを留意してください。これは、{{ic|1=WaylandEnable=false}} が、{{ic|/etc/gdm/custom.conf}} の設定をオーバーライド {{ic|/run/gdm/custom.conf}} に書き込まれるからです。再起動せずにこの問題を修正するには、{{ic|/run/gdm/custom.conf}} を削除し、GDM を再起動してください。 |
||
+ | |||
+ | === GDM が有効にならない === |
||
+ | |||
+ | [[systemd FAQ#既存のシンボリックリンクのためにユニットを有効にすることができない]] を参照してください。 |
||
== 参照 == |
== 参照 == |
||
* [https://help.gnome.org/admin/gdm/stable/index.html.en GDM リファレンスマニュアル] |
* [https://help.gnome.org/admin/gdm/stable/index.html.en GDM リファレンスマニュアル] |
||
+ | |||
+ | {{TranslationStatus|GDM|2023-10-02|785028}} |
2024年8月18日 (日) 14:04時点における最新版
関連記事
GDM - GNOME Display Manager より: "GNOME Display Manager (GDM) はグラフィカルディスプレイサーバーを管理しグラフィカルユーザーログインを処理するプログラムです。"
ディスプレイマネージャは X Window System や Wayland のユーザーにグラフィカルなログインプロンプトを提供します。
目次
インストール
GDM は gdm パッケージでインストールできます。また、gnome グループの一部としてもインストールされます。
起動
ブート時に GDM を起動するには、gdm.service
を有効化して下さい。
アプリケーションの自動起動
ログイン後に自動的にアプリケーションを起動するには、自動起動#デスクトップ環境のスタートアップ時 のページであなたのデスクトップ環境に関係する指示に従ってください。
設定
ログイン画面の背景画像
まず、既存の GNOME Shell テーマを抽出して、ホームディレクトリ内の何らかのディレクトリに保存する必要があります。これは、以下のスクリプトで可能です:
extractgst.sh
#!/bin/sh gst=/usr/share/gnome-shell/gnome-shell-theme.gresource workdir=${HOME}/shell-theme for r in `gresource list $gst`; do r=${r#\/org\/gnome\/shell/} if [ ! -d $workdir/${r%/*} ]; then mkdir -p $workdir/${r%/*} fi done 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-today.svg</file> <file>calendar-today-light.svg</file> <file>checkbox.svg</file> <file>checkbox-focused.svg</file> <file>checkbox-off-focused-light.svg</file> <file>checkbox-off-focused.svg</file> <file>checkbox-off-light.svg</file> <file>checkbox-off.svg</file> <file>gnome-shell.css</file> <file>gnome-shell-high-contrast.css</file> <file>gnome-shell-start.svg</file> <file>pad-osd.css</file> <file>process-working.svg</file> <file>toggle-off.svg</file> <file>toggle-off-hc.svg</file> <file>toggle-off-light.svg</file> <file>toggle-on.svg</file> <file>toggle-on-hc.svg</file> <file>toggle-on-light.svg</file> <file>workspace-placeholder.svg</file> <file>filename</file> </gresource> </gresources>
filename は使用する背景画像のファイル名に置き換えてください。あるいは、16進数のカラーコードを使用する場合は、この行を削除してください。
そのディレクトリ内の gnome-shell.css
ファイルを開き、#lockDialogGroup
の定義を以下のように変更してください:
#lockDialogGroup { background: url(filename); background-size: widthpx heightpx; background-repeat: no-repeat; }
background-size
は GDM が使用する解像度に設定してください (これは、画像の解像度と同じとは限りません)。画面解像度の一覧は、Wikipedia:Display_resolution#Computer_monitors を見てください。最後に、filename の部分は背景画像のファイル名に置き換えてください。
背景色だけを変更したい場合は、#lockDialogGroup
の定義を以下のように変更してください:
#lockDialogGroup { background-color: #color; }
color は背景色の16進数カラーコードです。
次に、以下のコマンドでテーマをコンパイルしてください:
$ glib-compile-resources gnome-shell-theme.gresource.xml
そして、出来上がった gnome-shell-theme.gresource
ファイルを /usr/share/gnome-shell
ディレクトリにコピーしてください。
最後に、gdm.service
を再起動してください (注意: 一度ログアウトして再度ログインし直すだけでは十分ではありません)。設定された背景画像が使用されるようになっているはずです。
詳細は、このフォーラムスレッドを見てください。上記の手順を自動化するシェルスクリプトは DimaZirix の github リポジトリで入手できます。
dconf の設定
GDM の設定の一部は dconf データベース内に保存されます。これらの設定は次の2通りの方法で設定することができます。1つ目は、/etc/dconf/db/gdm.d
ディレクトリにキーファイルを追加し、dconf update
を root として実行して GDM データベースを再コンパイルする方法。2つ目は、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@ /bin/bash
ログイン画面のロゴ
以下のキーファイルを作成してください:
/etc/dconf/db/gdm.d/02-logo
[org/gnome/login-screen] logo='/path/to/logo.png'
その後、GDM データベースを再コンパイルしてください。もしくは、以下のコマンドを使って一時的に GDM ユーザとしてログインしてロゴを変更してください:
$ sudo -u gdm dbus-launch 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 ユーザとしてログインしてカーソルテーマを変更してください:
$ sudo -u gdm dbus-launch gsettings set org.gnome.desktop.interface cursor-theme 'theme-name'
アイコンテーマの変更
アイコンのテーマを変更する場合も、同じ方法で行うことができます。以下のキーファイルを作成してください:
/etc/dconf/db/gdm.d/11-icon-settings
[org/gnome/desktop/interface] icon-theme='theme-name'
そして、GDM のデータベースを再コンパイルしてください。あるいは、以下のコマンドを使って一時的に GDM ユーザとしてログインしてアイコンテーマを変更してください:
$ sudo -u gdm dbus-launch gsettings set org.gnome.desktop.interface icon-theme 'theme-name'
ログイン画面のフォントを大きくする
画面右上のアクセシビリティアイコン (白丸に人影のアイコン) をクリックして Large Text オプションにチェックを入れてください。
特定のスケーリングファクタを指定するには、以下のキーファイルを作成してください:
/etc/dconf/db/gdm.d/03-scaling
[org/gnome/desktop/interface] text-scaling-factor='1.25'
そして、GDM のデータベースを再コンパイルしてください。あるいは、以下のコマンドを使って一時的に GDM ユーザとしてログインしてフォントを変更してください:
$ sudo -u gdm dbus-launch 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 ユーザとしてログインしてサウンドをオフにしてください:
$ sudo -u gdm dbus-launch gsettings set org.gnome.desktop.sound event-sounds 'false'
電源ボタンの挙動の設定
以下のキーファイルを作成してください:
/etc/dconf/db/gdm.d/05-power
[org/gnome/settings-daemon/plugins/power] power-button-action='action'
そして、GDM のデータベースを再コンパイルしてください。あるいは、以下のコマンドを使って一時的に GDM ユーザとしてログインして電源ボタンの挙動を設定してください:
$ sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.power power-button-action 'action'
action は、nothing
、suspend
、hibernate
のうちどれかです。
タップでクリックを有効化
デフォルトでは GDM (と GNOME) ではタップでクリックが無効になっていますが、dconf の設定で簡単に有効化できます。
タップでクリックを有効化するには、以下のキーファイルを作成してください:
/etc/dconf/db/gdm.d/06-tap-to-click
[org/gnome/desktop/peripherals/touchpad] tap-to-click=true
そして、GDM のデータベースを再コンパイルしてください。あるいは、以下のコマンドを使って一時的に GDM ユーザとしてログインしてタップでクリックを有効化してください:
$ sudo -u gdm dbus-launch gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click 'true'
アクセシビリティメニューを無効化/有効化する
アクセシビリティメニューを無効化あるいは有効化するには、以下のキーファイルを作成してください:
/etc/dconf/db/gdm.d/07-accessibility
[org/gnome/desktop/interface] toolkit-accessibility='boolean'
そして、GDM のデータベースを再コンパイルしてください。あるいは、以下のコマンドを使って一時的に GDM ユーザとしてログインして状態を変更してください:
$ sudo -u gdm dbus-launch gsettings set org.gnome.desktop.interface toolkit-accessibility 'boolean'
メニューはキーの値が false
の時に無効化され、true
の時に有効化されます。
GDM で夜間モードを有効にする
GDM で夜間モードを有効化するには、以下を実行してください:
$ sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.color night-light-enabled true
キーボードレイアウト
システムのキーボードレイアウトは GDM にも適用されます。Xorg でのキーボード設定#X の設定ファイルを使う を見てください。
Wayland を使用している場合、localectl(1) で X のキーボードレイアウトを手動で指定する必要がある場合があります。以下の例では、フランス語のレイアウトが設定されています:
# localectl set-x11-keymap fr
システムに複数のユーザが存在する場合、GDM によって使用されるキーボードレイアウトをシステムのキーボードレイアウトとは異なるものに設定することができます。まず、gnome-control-center がインストールされていることを確認してください。そして、gnome-control-center を起動し、Region & Language > Input Sources を開いてください。ヘッダーバーにある Login Screen トグルボタンをクリックし、リストの中からキーボードレイアウトを選択してください。注意点として、システムに複数のユーザが存在しないと Login Screen ボタンは表示されません [5]。
GDM 2.x (レガシーな GDM) では、~/.dmrc
を以下のように編集する必要があります:
~/.dmrc
[Desktop] Language=de_DE.UTF-8 # デフォルトの言語 Layout=de nodeadkeys # キーボードレイアウト
言語の変更
システムの言語は GDM にも適用されます。システムに複数のユーザが存在する場合、GDM によって使用される言語をシステムの言語とは異なるものに設定することができます。GDM の言語を変更するには、まず、gnome-control-center がインストールされていることを確認してください。そして、gnome-control-center を起動して Region & Language を選択してください。次に、ヘッダーバーにある Login Screen トグルボタンをクリックしてください。最後に、Language をクリックし、リストから言語を選択してください。この時、root パスワードが要求されます。注意点として、システムに複数のユーザが存在しないと Login Screen ボタンは表示されません [6]。
ユーザーとログイン
自動ログイン
GDM で自動ログインを有効化するには、以下を /etc/gdm/custom.conf
に追加してください (username
は自身のものに置き換えてください):
/etc/gdm/custom.conf
# ユーザに対して自動ログインを有効化する [daemon] AutomaticLogin=username AutomaticLoginEnable=True
あるいは、自動ログインを遅延させるには:
/etc/gdm/custom.conf
[daemon] TimedLoginEnable=true TimedLogin=username TimedLoginDelay=1
自動ログインに使用するセッションを設定することもできます (gnome-xorg
は任意のセッションに置き換えてください):
/var/lib/AccountsService/users/username
XSession=gnome-xorg
パスワードレスログイン
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/software/polkit/policyconfig-1.dtd"> <!-- Policy definitions for logind --> <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) は org.freedesktop.login1(5) で見られます。
GDM で root ログインを有効にする
root としてログインすることは推奨されていませんが、必要であれば、/etc/pam.d/gdm-password
を編集して以下の設定を auth required pam_deny.so
行より前に追加することで root としてログインできるようになります:
/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 ...
GDM を再起動したら、root としてログインできるようになっているはずです。
ログインリストからユーザを非表示にする
GDM のユーザリストは AccountsService によって生成されたものです。システムユーザ (UID < 1000) は自動的に非表示になります。通常ユーザをログインリストから非表示にするには、非表示にするユーザの名前が付いたファイルを /var/lib/AccountsService/users/
内に作成、または編集し、最低でも以下の内容を追加してください:
/var/lib/AccountsService/users/username
[User] SystemAccount=true
デフォルトのモニター設定をセットアップする
一部のデスクトップ環境は、ディスプレイの設定を ~/.config/monitors.xml
に保存しています。そのファイルの内容に基づいて、xrandr コマンドが生成されます。GDM にも、似たようなファイル /var/lib/gdm/.config/monitors.xml
が存在しています。
~/.config/monitors.xml
でモニタをセットアップして (解像度、リフレッシュレート、向き、スケーリング、プライマリなど)、GDM にこれらの設定を使用してほしい場合、以下を実行して設定ファイルをコピーしてください:
# cp ~/.config/monitors.xml /var/lib/gdm/.config/
ブートするたびにモニターのセットアップを自動的に再設定するには、gdm.service
のドロップインファイルを使用してください:
/etc/systemd/system/gdm.service.d/override.conf
[Service] ExecStartPre=/bin/cp /home/user/.config/monitors.xml /var/lib/gdm/.config/monitors.xml
monitors.xml
の中でスクリーンの回転とスケーリングに関連する部分は以下のとおりです:
<monitors version="2"> <configuration> <logicalmonitor> ... <scale>2</scale> ... <transform> <rotation>right</rotation> <flipped>no</flipped> </transform> ... </logicalmonitor> </configuration> </monitors>
変更はログアウト時に適用されます。GDM は xorg.conf
の設定を尊重しないため、ログアウトが必須です。
X サーバーのアクセス権限を設定
xhost
コマンドを使うことで X サーバーのアクセス権限を設定できます。
例えば、GDM に X サーバーのアクセス権限を与えるには、以下のコマンドを使います:
# xhost +SI:localuser:gdm
トラブルシューティング
Wayland とプロプライエタリな NVIDIA ドライバ
NVIDIA ドライバを使って GDM で Wayland を使用するには、まず DRM カーネルモード設定を有効化しなければなりません。
GDM バージョン 42 と NVIDIA ドライババージョン 510 の時点で、GDM はデフォルトで Wayland を使用します。それより古い NVIDIA ドライバ (バージョン 470 から 510 の間) の場合、GDM にはチップセット依存の udev ルールが存在しており、Wayland ではなく Xorg を使用します。Wayland を強制するには、以下のシンボリックリンクを作成してこれらのルールをオーバーライドしてください:
# ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
GDM が表示されずに黒画面になる場合、コンピュータの BIOS 設定から統合グラフィックスを無効化してみてください。
ログアウト時に GDM が動かない
起動時には GDM が問題なく立ち上がるのに、ログアウトした後に問題が発生する場合は、次の行を /etc/gdm/custom.conf
の daemon セクションに追加してみて下さい:
GdmXserverTimeout=60
Rootless Xorg
Xorg#Rootless Xorg を見て下さい。
Xorg バックエンドを使う
Wayland バックエンドはデフォルトで使用されます。Xorg バックエンドが使用されるのは、Wayland バックエンドを起動できない場合のみです。例えば以下のような場合には Xorg バックエンドを代わりに使用する必要があるでしょう:
- GDM がクラッシュしてしまう
Xorg バックエンドをデフォルトで使用するには、/etc/gdm/custom.conf
内の以下の行をアンコメントしてください:
#WaylandEnable=false
何らかの入力がないと GDM が起動しない
起動しても画面が暗いままで、マウスを動かしたりキーボードに何か打ち込まないと GDM が起動しない場合、原因はおそらく乱数生成のためのエントロピーが不足しているためです。問題を確認するために systemd-random-seed のログ (journalctl --unit systemd-random-seed
コマンドで読むことができます) の中に以下のような行がないかチェックしてください:
Kernel entropy pool is not initialized yet, waiting until it is.
問題を解決するには、random.trust_cpu=on
カーネルパラメータを設定してください (あなたの使っている CPU が RDRAND 命令をサポートしている場合)。もしくはエントロピーを供給するために haveged をインストールすることでも解決できます (ただしエントロピーの品質は保証されていません)。Debian の記事に記載されている他の解決方法も参照。
gdm が完全に削除されない
gdm を削除した後、systemd が以下のようなメッセージを出力する場合があります:
user 'gdm': directory '/var/lib/gdm' does not exist
この警告を取り除くには、root としてログインし、gdm
プライマリユーザを削除し、gdm
グループを削除してください。
gdm
が正しく削除されたかどうかは pwck
と grpck
を root 権限で実行することで確認できます。最後に、gdm 由来のどのユーザにも所有されていないファイルが残留していないかどうかダブルチェックしたほうが良いでしょう。
GDM の自動サスペンド (GNOME 3.28)
GDM は GNOME とは別の dconf データベースを使用して電源管理を制御しています。ユーザーセッションと同じように GDM が振る舞うようにしたい場合、ユーザー設定を GDM の dconf データベースにコピーしてください ( username
はユーザー名です):
$ IFS=$'\n'; for x in $(sudo -u username gsettings list-recursively org.gnome.settings-daemon.plugins.power); do eval "sudo -u gdm dbus-launch gsettings set $x"; done; unset IFS
AC での自動サスペンドのみを無効にするには、次のコマンドを実行してください:
$ sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
(バッテリー環境での自動サスペンドも無効にするには、ac
を battery
に変えてしてコマンドを実行してください。)
変更をアクティブ化するには、GDM を再起動してください。
GDM が Wayland を無視し、デフォルトで X.Org を使用する
Wayland が動作するためには、カーネルモード設定 (KMS) が動作している必要がありますが、マシンによっては GDM プロセスが KMS よりも早く開始し、結果として GDM が Wayland を認識できず、X.Org のみで動作することになります。その結果、ログに次のようなメッセージが表示されることがあります:
gnome-shell[569]: Failed to open gpu '/dev/dri/card0': GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Operation not permitted gnome-shell[569]: Failed to create backend: No GPUs found systemd[505]: org.gnome.Shell@wayland.service: Failed with result 'protocol'. systemd[505]: Failed to start GNOME Shell on Wayland.
また、同じ問題に依って、GDM が表示されなかったり、TTY の出力しか表示されなかったりすることもあります。
この問題は、KMS をより早い段階で開始することで解決できます。また、GDM の設定ファイルで Wayland が有効化されていることも確認したほうが良いでしょう (#Xorg バックエンドを使う を参照)。
また、NVIDIA ドライバを使用している場合、Wayland セッションが udev ルールによってブロックされてしまうかもしれません (GNOME#Wayland セッション)。この場合、以下のようなメッセージが出力されることがあります:
systemd[1022]: Condition check resulted in GNOME Shell on Wayland being skipped. systemd[1022]: org.gnome.Shell@wayland.service: Skipped due to 'exec-condition'. systemd[1022]: org.gnome.Shell@wayland.service: Control process exited, code=exited, status=2/INVALIDARGUMENT
回避策は #Wayland とプロプライエタリな NVIDIA ドライバ を見てください。
NVidia (e)GPU が存在する場合、AMD または Intel GPU で黒い画面が表示される
初めに NVidia デバイスが接続されていない場合、GDM は Wayland で通常通り起動し動作しますが、NVidia eGPU が接続される (または、他の何らかの理由で nvidia
モジュールがロードされる) と動作を停止してしまいます。この問題の典型的な症状としては、ログアウト時と GDM の再起動時に黒画面と点滅するカーソルが表示され、以下のメッセージが GDM のログに出力されるというものです (root として journalctl -u gdm -b
を実行することでログにアクセスした場合):
Gdm: Child process -<PID> was already dead.
解決策は #GDM が Wayland を無視し、デフォルトで X.Org を使用する と同じです: nvidia
モジュールのロード時に /usr/lib/gdm-disable-wayland
が実行されないようにするのです。
Wayland 上で動作している GDM は、/usr/lib/gdm-disable-wayland
が一度でも実行されていると機能しなくなってしまうことを留意してください。これは、WaylandEnable=false
が、/etc/gdm/custom.conf
の設定をオーバーライド /run/gdm/custom.conf
に書き込まれるからです。再起動せずにこの問題を修正するには、/run/gdm/custom.conf
を削除し、GDM を再起動してください。
GDM が有効にならない
systemd FAQ#既存のシンボリックリンクのためにユニットを有効にすることができない を参照してください。