「SDDM」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
 
(2人の利用者による、間の35版が非表示)
1行目: 1行目:
 
[[Category:KDE]]
 
[[Category:KDE]]
 
[[Category:ディスプレイマネージャ]]
 
[[Category:ディスプレイマネージャ]]
  +
[[de:Login-Manager#SDDM]]
 
[[en:SDDM]]
 
[[en:SDDM]]
 
[[fr:SDDM]]
 
[[fr:SDDM]]
9行目: 10行目:
 
{{Related|KDE}}
 
{{Related|KDE}}
 
{{Related articles end}}
 
{{Related articles end}}
[[Wikipedia:Simple Desktop Display Manager|Simple Desktop Display Manager]] (SDDM) は [[KDE|KDE 5]] Plasma デスクトップ推奨されている[[ディスプレイマネージャ]]です。
+
The [https://github.com/sddm/sddm/ Simple Desktop Display Manager] (SDDM) は[[ディスプレイマネージャ]]です。[[KDE]] Plasma と [[LXQt]] デスクトップ環境の推奨ディスプレイマネージャです。
   
Wikipedia より:
+
[[Wikipedia:ja:Simple Desktop Display Manager]] より:
   
:''Simple Desktop Display Manager (SDDM) は X11 Wayland ウィンドウシステム向けのディスプレイマネージャ (グラフィカルログインプログラム) である。SDDM C++11 によってスクラッチで書かれており QML によるテーマ機能をサポートしている。KDE ディスプレイマネージャの後継で KDE Frameworks 5, KDE Plasma 5, KDE Applications 5 と合わせて使われる。''
+
:Simple Desktop Display Manager (SDDM) は、X Window SystemとWayland向けのディスプレイマネージャである。SDDMはC++11で書かれておりQMLによるテーマをサポートしている。
   
  +
[[KDE]] の開発チームは、SDDM プロジェクトを Plasma Desktop プロジェクトに組み込むという[https://invent.kde.org/plasma/plasma-desktop/-/issues/91 提案を受け入れました]。SDDM は Plasma の正式な一部となり、SDDM のアップデートは Plasma Desktop のアップデートと共にリリースされる可能性があります。
{{Note|Wayland のサポートは完全ではありません [https://github.com/sddm/sddm/issues/440]。Wayland のセッションは認識されますが、SDDM 自体は X11 で動作します。}}
 
  +
  +
{{Note|SDDM バージョン 0.20 の時点で、[[Wayland]] セッションは一覧に表示され、SDDM から起動することは可能ですが、SDDM greeter 自体はデフォルトでは依然として X11 モードで動作します。しかし、実験的な Wayland greeter を[[#Wayland|有効化することが可能です]]。}}
   
 
== インストール ==
 
== インストール ==
   
{{Pkg|sddm}} パッケージを[[インストール]]してください。
+
{{Pkg|sddm}} パッケージを[[インストール]]してください。任意で [[KDE#KCM|KConfig Module]] のための {{Pkg|sddm-kcm}} もインストールしてください。
   
そして[[ディスプレイマネージャ#ディスプレイマネージャをロードする]]にしたがってブート時に SDDM を起動させます
+
[[ディスプレイマネージャ#ディスプレイマネージャをロードする]]にってブート時に SDDM を起動させてください
   
 
== 設定 ==
 
== 設定 ==
27行目: 30行目:
 
SDDM のデフォルト設定ファイルは {{ic|/usr/lib/sddm/sddm.conf.d/default.conf}} に存在します。設定を変更するときは {{ic|/etc/sddm.conf.d/}} に設定ファイルを作成してください。利用可能なオプションは {{man|5|sddm.conf}} を見て下さい。
 
SDDM のデフォルト設定ファイルは {{ic|/usr/lib/sddm/sddm.conf.d/default.conf}} に存在します。設定を変更するときは {{ic|/etc/sddm.conf.d/}} に設定ファイルを作成してください。利用可能なオプションは {{man|5|sddm.conf}} を見て下さい。
   
({{grp|plasma}} グループに含まれている) {{pkg|sddm-kcm}} パッケージをインストールすることで Plasma のシステム設定から GUI で SDDM を設定できます。Qt ベースの設定エディタ ({{AUR|sddm-config-editor-git}}) も存在します。
+
({{grp|plasma}} グループに含まれている) {{pkg|sddm-kcm}} パッケージをインストールすることで Plasma のシステム設定から GUI で SDDM を設定できます。[[Qt]] ベースの設定エディタ {{AUR|sddm-conf-git}} も存在します。
 
[[systemd]] によって制御されている環境では、SDDM がデフォルトで {{ic|systemd-logind}} を使ってセッションを管理するため、何も設定しなくても問題なく動作します。そのため、パッケージをインストールした時に設定ファイルは作成されません。SDDM にはデフォルト設定のサンプル設定ファイルを生成するコマンドがあるので、必要であれば使って下さい:
 
   
  +
Arch Linux は [[systemd]] を使用していて、さらに SDDM はデフォルトで {{ic|systemd-logind}} をセッション管理に使用するので、特に設定せずに機能するはずです。
# sddm --example-config > /etc/sddm.conf.d/sddm.conf
 
   
 
=== 自動ログイン ===
 
=== 自動ログイン ===
   
KDM と同じように、SDDM は設定ファイルによって自動ログインをサポートしています、例:
+
SDDM は設定ファイルによって自動ログインをサポートしています、例:
   
 
{{hc|/etc/sddm.conf.d/autologin.conf|2=
 
{{hc|/etc/sddm.conf.d/autologin.conf|2=
 
[Autologin]
 
[Autologin]
 
User=john
 
User=john
Session=plasma.desktop
+
Session=plasma
 
}}
 
}}
   
上の設定だと、システムが起動した時に {{ic|john}} ユーザーで KDE Plasma セッションが起動します。利用できるセッションのタイプは {{ic|ls /usr/share/xsessions/}} でわかります。
+
上の設定だと、システムが起動した時に {{ic|john}} ユーザーで KDE Plasma セッションが起動します。利用できるセッションのタイプについては、X 用は {{ic|/usr/share/xsessions/}} で、Wayland 用は {{ic|/usr/share/wayland-sessions/}} でわかります。
   
  +
KDE Plasma に自動ログインすると同時にセッションをロックするオプションは利用できません。[https://github.com/sddm/sddm/issues/306]
{{Warning|設定を誤ると、あなたのノートパソコンへの物理的なアクセスを手に入れた攻撃者が自動ログインを使って、たやすくデスクトップを破壊してしまう可能性があります。自動ログインは他の認証プロンプトによってシステムが保護されているときにだけ有効にしてください。例: パスフレーズによる [[dm-crypt|root ファイルシステムの暗号化]]。}}
 
   
  +
回避策として、Plasma のスクリーンセーバをアクティブ化するスクリプトを自動起動に追加することができます:
KDE Plasma の自動ログインを使用した場合、セッションのロックは利用できなくなります [https://github.com/sddm/sddm/issues/306]。
 
   
  +
#!/bin/sh
以下のスクリプトを追加することで KDE のスクリーンセーバーを自動的に有効化することが可能です:
 
  +
/usr/bin/dbus-send --session --type=method_call --dest=org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Lock &
   
  +
=== パスワードレスログイン ===
#!/bin/bash
 
  +
/usr/bin/qdbus-qt4 org.kde.screensaver /ScreenSaver SetActive true &
 
  +
パスワード無しで一部のアカウントにログインできるように SDDM を設定することができます。ログインするアカウントを選ぶ必要があるという点で自動ログインとは異なり、また、([[SSH]] 経由でログインしてきたリモートユーザなどを除く) インタラクティブユーザのみにログインを許可するという点で、アカウントのパスワードを空白に設定するのとも異なります。
exit 0
 
  +
  +
SDDM は [[PAM]] 経由で動作するので、PAM で SDDM に関連する設定を行う必要があります:
  +
  +
{{hc|/etc/pam.d/sddm|2=
  +
#%PAM-1.0
  +
'''auth sufficient pam_succeed_if.so user ingroup nopasswdlogin'''
  +
auth include system-login
  +
...
  +
}}
  +
  +
パスワード無しで KDE Plasma のロック画面を解除できるようにするために、{{ic|/etc/pam.d/kde}} の先頭にも先と同じ行を追加してください:
  +
  +
{{hc|/etc/pam.d/kde|2=
  +
#%PAM-1.0
  +
'''auth sufficient pam_succeed_if.so user ingroup nopasswdlogin'''
  +
auth include system-login
  +
...
  +
}}
  +
  +
次に、パスワードを入力せずにインタラクティブにログインできるようにするために、あなたのユーザーを {{ic|nopasswdlogin}} グループに追加する必要があります:
  +
  +
# groupadd -r nopasswdlogin
  +
# gpasswd -a ''username'' nopasswdlogin
   
 
=== ログイン時に KDE Wallet のロックを解除 ===
 
=== ログイン時に KDE Wallet のロックを解除 ===
   
[[KDE Wallet#ログイン時に KDE ウォレットを自動的にアンロック]]を見てください。
+
[[KDE Wallet#ログイン時に KDE ウォレットを自動的にアンロック]] を見てください。
   
 
=== テーマ設定 ===
 
=== テーマ設定 ===
   
テーマの設定は {{ic|[Theme]}} セクションで変更できます。
+
{{ic|[Theme]}} セクションでテーマの設定を変更できます。Plasma の KDE システム設定を使っている場合、テーマのプレビューを表示できます。
   
デフォルトの Plasma テーマを使いたい場合 {{ic|breeze}} に設定してください。
+
デフォルトの Plasma テーマを使うには {{ic|breeze}} に設定してください。
   
 
{{AUR|archlinux-themes-sddm}} など、[[AUR]] から入手できるテーマもあります。
 
{{AUR|archlinux-themes-sddm}} など、[[AUR]] から入手できるテーマもあります。
   
==== メインテーマ ====
+
==== 現在のテーマ ====
   
メインテーマは {{ic|Current}} で設定します。例: {{ic|1=Current=archlinux-simplyblack}}。
+
現在のテーマは {{ic|Current}} で設定します。例: {{ic|1=Current=archlinux-simplyblack}}。
   
 
==== テーマの編集 ====
 
==== テーマの編集 ====
   
SDDM のデフォルトのテーマディレクトリは {{ic|/usr/share/sddm/themes/}} です。作成したカスタムテーマはこのディレクトリのサブディレクトリに追加することができます。サブディレクトリの名前はテーマの名前と合わせる必要があります。インストールされているファイルを参考に自分自身のテーマを作成してみてください。
+
SDDM のデフォルトのテーマディレクトリは {{ic|/usr/share/sddm/themes/}} です。作成したカスタムテーマはこのディレクトリのサブディレクトリに追加することができます。サブディレクトリの名前はテーマの名前と同じである必要があります。インストールされているファイルを参考に自分自身のテーマを作成してみてください。
  +
  +
==== テーマをカスタマイズ ====
  +
  +
設定ファイル {{ic|theme.conf}} の設定をオーバーライドするには、カスタムの {{ic|theme.conf.user}} ファイルを同じディレクトリに作成してください。例えば、テーマの背景を変更するには:
  +
  +
{{hc|head=/usr/share/sddm/themes/''name''/theme.conf.user|output=
  +
[General]
  +
background=''/path/to/background.png''
  +
}}
   
 
==== テーマのテスト (プレビュー) ====
 
==== テーマのテスト (プレビュー) ====
   
必要であれば SDDM のテーマをプレビューすることができます。以下のようにコマンドを実行してください:
+
必要であれば SDDM のテーマをプレビューすることができます。これは、テーマを編集した際などにテーマがどのような見た目になるか分からない場合や、ログアウトせずにテーマを確認したい場合などに便利です。以下のようにコマンドを実行してください:
   
$ sddm-greeter --theme /usr/share/sddm/themes/breeze
+
$ sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/breeze
   
新しいウィンドウが開いてテーマのプレビューが表示されます。
+
接続されているモニタすべてに新しいウィンドウが開き、テーマのプレビューが表示されます。
   
{{Note|プレビューモードでは、シャットダウンやサスペンド、ログインなどは出来ません。}}
+
{{Note|これはプレビューだけです。このモードでは、シャットダウンやサスペンド、ログインなどの一部のアクション効果がありません。}}
   
 
==== マウスカーソル ====
 
==== マウスカーソル ====
89行目: 123行目:
 
マウスカーソルのテーマを設定したい場合は、{{ic|CursorTheme}} を使用したいカーソルテーマに設定してください。
 
マウスカーソルのテーマを設定したい場合は、{{ic|CursorTheme}} を使用したいカーソルテーマに設定してください。
   
[[Plasma]] で使用できるマウスカーソルのテーマの名前は: {{ic|breeze_cursors}}, {{ic|Breeze_Snow}}, {{ic|breeze-dark}}。
+
[[Plasma]] で使用できるマウスカーソルのテーマの名前は{{ic|breeze_cursors}}{{ic|Breeze_Snow}}、そして {{ic|breeze-dark}} です
   
==== アバターの変更 ====
+
==== ユーザアイコン (アバター) ====
   
  +
{{Out of date|設定をせずとも SDDM は {{ic|/var/lib/AccountsService/icons/}} 内のアイコンを検出します。そして、Plasma はもはや {{ic|$HOME/}} 内にファイル (以下で述べているアイコンファイルや、そのファイルへのシンボリックリンク) を作成しません。}}
{{ic|username.face.icon}} という名前の png 画像をデフォルトディレクトリ {{ic|/usr/share/sddm/faces/}} に配置してください。もしくはデフォルトディレクトリを別のディレクトリに変更することもできます。例:
 
  +
  +
SDDM は、各ユーザの {{ic|~/.face.icon}} か、あるいは SDDM 設定ファイル内の {{ic|FacesDir}} で指定された全ユーザに共通の場所から PNG イメージのユーザアイコン (別名: "アバター") を読み込みます。設定は {{ic|/etc/sddm.conf}} に直接、あるいは {{ic|/etc/sddm.conf.d/avatar.conf}} のように {{ic|/etc/sddm.conf.d/}} 下のファイルとして保存することができます (後者が推奨されます)。
  +
  +
{{ic|FacesDir}} のオプションを使用するには、設定ファイルの {{ic|FacesDir}} キーで指定された場所に各ユーザに対して {{ic|''ユーザ名''.face.icon}} という名前で PNG イメージファイルを配置してください。デフォルトの {{ic|FacesDir}} は {{ic|/usr/share/sddm/faces/}} です。ニーズに応じてデフォルトの {{ic|FacesDir}} を変更することができます。例えば以下のように:
   
 
{{hc|/etc/sddm.conf.d/avatar.conf|2=
 
{{hc|/etc/sddm.conf.d/avatar.conf|2=
100行目: 138行目:
 
}}
 
}}
   
ホームディレクトリのルートに {{ic|.face.icon}} という名前の PNG 画像を置く方法もありま。ただし、{{ic|sddm}} ユーザーからファイルみ込めるようにする必要があります。
+
もう一つの方法は、ホームディレクトリのルートに {{ic|.face.icon}} という名前の PNG ファイルを置くことです。この場合、SDDM の設定ファイルを変更する必要はありません。ただし、{{ic|sddm}} ユーザがユーザアイコンの PNG イメファイルむことができるようにしておく必要があります。
   
{{Note|画像がシンボリックリンクの場合、リンク先のファイルに適切なファイル権限を設定してください。[[#ユーザーアイコン表示されない]]を参照。}}
+
{{Note|多くの KDE バージョンで、ユーザのアイコンイメージファイルは {{ic|~/.face}} であり、{{ic|~/.face.icon}} はそのファイルへのシンボリックリンクとなっています。ユーザアイコンイメージがシンボリックリンクである場合、シンボリックリンク先のファイルに適切なファイルパーミッションを設定する必要あります。}}
  +
  +
[[アクセス制御リスト#ACL の設定|適切なパーミッションを設定する]]には、以下を実行してください:
  +
  +
$ setfacl -m u:sddm:x ~/
  +
$ setfacl -m u:sddm:r ~/.face.icon
  +
  +
以下を実行することで、[[アクセス制御リスト#ACL の表示|パーミッションを確認する]]ことができます:
  +
  +
$ getfacl ~/
  +
$ getfacl ~/.face.icon
  +
  +
[https://github.com/sddm/sddm#no-user-icon SDDM README: No User Icon] を参照してください。
   
 
=== Numlock ===
 
=== Numlock ===
   
 
Numlock を強制的に有効にしたい場合、{{ic|[General]}} セクションに {{ic|1=Numlock=on}} と設定してください。
 
Numlock を強制的に有効にしたい場合、{{ic|[General]}} セクションに {{ic|1=Numlock=on}} と設定してください。
  +
  +
SDDM が Wayland で動作している場合、numlock の設定は現在反映されません。Numlock を有効化するには KWin の設定を変更する必要があるかもしれません。[https://github.com/sddm/sddm/issues/1830#issuecomment-1859339401 この issue] を参照してください。
   
 
=== ディスプレイの回転 ===
 
=== ディスプレイの回転 ===
   
[[Xrandr#設定]]を見てください。
+
[[Xrandr#設定]] を見てください。
   
 
=== DPI の設定 ===
 
=== DPI の設定 ===
   
ディスプレイマネージャからディスプレイの PPI 設定を適切に設定できると便利です。設定ファイルで "ServerArguments" パラメータの末尾に {{ic|-dpi ''your_dpi''}} を追加してください。例:
+
ディスプレイマネージャのレベルでディスプレイの PPI 設定を適切に設定できると便利です。[https://github.com/sddm/sddm/blob/master/README.md#custom-dpi] {{ic|ServerArguments}} の末尾にパラメータ {{ic|-dpi ''your_dpi''}} を追加する必要があります。例:
   
 
{{hc|head=/etc/sddm.conf.d/dpi.conf|output=
 
{{hc|head=/etc/sddm.conf.d/dpi.conf|output=
123行目: 175行目:
 
=== HiDPI の有効化 ===
 
=== HiDPI の有効化 ===
   
  +
{{Note|SDDM バージョン 0.20.0 から、HiDPI サポートがデフォルトで有効化されており、以下のステップは必要ではなくなりました。}}
{{note|[[HiDPI]] のサポートはバージョン 0.15 から問題が発生しています [https://github.com/sddm/sddm/issues/894]。}}
 
   
 
以下のファイルを作成してください:
 
以下のファイルを作成してください:
   
 
{{hc|/etc/sddm.conf.d/hidpi.conf|2=
 
{{hc|/etc/sddm.conf.d/hidpi.conf|2=
[General]
+
[Wayland]
  +
EnableHiDPI=true
  +
  +
[X11]
 
EnableHiDPI=true
 
EnableHiDPI=true
 
}}
 
}}
   
  +
Wayland を使用する場合、HiDPI スケーリングは、使用する greeter に依存します。[https://github.com/sddm/sddm/issues/1704] 例えば、Breeze などの Qt ベースの greeter を使用する場合、以下の設定を追加してください:
=== 指紋認証の利用 ===
 
   
  +
{{bc|1=
{{Note|作業前に指紋登録がなされていることを確認してください。指紋リーダーへの対応は不完全であり、この方法ではパスワードのみでのログインは不可能なようです。}}
 
  +
[General]
  +
GreeterEnvironment=QT_SCREEN_SCALE_FACTORS=2,QT_FONT_DPI=192
  +
}}
   
  +
=== 仮想キーボードを有効化する ===
SDDM では [[fprint]] を利用した指紋認証が可能です。{{Pkg|fprint}} をインストールし指紋署名を登録したのち、
 
{{ic|/etc/pam.d/sddm}} の先頭に {{ic|auth sufficient pam_fprintd.so}} を加えてください。
 
   
  +
{{pkg|qt6-virtualkeyboard}} (あるいは他の[[アプリケーション一覧/ユーティリティ#スクリーンキーボード|仮想キーボード]]) をインストールしてください。
{{Tip|KDE のロックスクリーンで動作させるには、この行を {{ic|/etc/pam.d_kde}} の先頭に加えてください。
 
   
  +
以下のファイルを作成してください:
また、ロックスクリーンではパスワード認証と指紋認証のいずれか片方を使うこともできます。auth セクションの先頭に以下を加えてください:
 
   
{{hc|/etc/pam.d/kde/|
+
{{hc|/etc/sddm.conf.d/virtualkbd.conf|2=
  +
[General]
auth sufficient pam_unix.so try_first_pass likeauth nullok
 
  +
InputMethod=''name_of_virtual_keyboard''
auth sufficient pam_fprintd.so
 
 
}}
 
}}
   
SDDM ({{ic|/etc/pam.d/sddm}}) でも動作しますが、ログイン別途 KWallet のロックを解除する必要があります。}}
+
これで、SDDM は仮想キーボードを開くボタンをログインスクリーンの左下の角表示するようになります。
  +
  +
=== 指紋リーダーを使う ===
  +
  +
{{Tip|Plasma 6 以降、KDE のロック画面は既に指紋によるロック解除をサポートしており、{{ic|kscreenlocker}} には必須の {{ic|/etc/pam.d/kde-fingerprint}} が含まれています。
  +
  +
しかし、これにはログインの設定は含まれておらず、既存のセッションのロック解除のみです。
  +
  +
KWallet はログイン時にパスワードベースの認証を必要とするので (以下参照)、SDDM での指紋認証のセットアップはしないほうが良いかもしれません。
  +
}}
  +
  +
{{Note|これらの変更を加える前に、あなたの指紋が登録されていることを確認してください。指紋リーダーへの対応はまだ不完全であり、この方法を使うとパスワードのみでのログインができなくなってしまうようです。}}
  +
  +
SDDM では [[fprint]] を利用した指紋認証が可能です。{{Pkg|fprint}} をインストールして指紋署名を登録したのち、{{ic|/etc/pam.d/sddm}} の先頭に以下の行を加えてください:
  +
  +
{{hc|/etc/pam.d/sddm|
  +
auth sufficient pam_fprintd.so}}
  +
  +
パスワードか指紋認証のいずれか片方を使うには、代わりに以下の行を {{ic|/etc/pam.d/sddm}} の先頭に加えてください:
  +
  +
{{hc|1=/etc/pam.d/sddm|2=
  +
auth [success=1 new_authtok_reqd=1 default=ignore] pam_unix.so try_first_pass likeauth nullok
  +
auth sufficient pam_fprintd.so}}
  +
  +
KWallet は指紋リーダーを使ってロックを解除できないことに注意してください ([[KDE Wallet#ログイン時に KDE ウォレットを自動的にアンロック]] をご覧ください)。しかし、1行目の記述によりパスワードログインが自動的に KWallet を解除することが保証されます。
   
 
パスワード欄を空にして {{ic|Enter}} キーを押すと、指紋認証が開始されます。
 
パスワード欄を空にして {{ic|Enter}} キーを押すと、指紋認証が開始されます。
   
  +
=== Rootless ===
== トラブルシューティング ==
 
   
  +
従来、[[X11]] ディスプレイサーバーはデフォルトで root 権限で実行されてきました。この rootful モードでは、X11 はシステムリソースに無制限にアクセスできます (ハードウェアへの直接的なアクセスと管理が一般的であった環境では rootful モードが動作に不可欠だったのです)。しかし、最近のコンピューティング環境ではセキュリティが重要視されるようになり、rootless モードへ移行する作業が行われてきました。また、これは [[Wayland]] がデフォルトで rootless モードで動作する理由でもあります。
=== greeterが表示されず、カーソルのみの黒画面 ===
 
   
  +
非特権 X11 (及び Wayland) セッションは {{Pkg|sddm}} 0.20.0 からサポートされています。[https://github.com/sddm/sddm/blob/v0.20.0/ChangeLog]
利用可能なディスクの空き領域が存在しない場合、greeter はクラッシュします。{{ic|df -h}} でディスクの空き領域を確認してください。
 
   
  +
Rootless モードを有効化するには、{{ic|/etc/sddm.conf.d/}} に新しいファイルを適当な名前で作成し、以下を追加してください (必要に応じて {{ic|x11-user}} は {{ic|wayland}} に置き換えてください):
ディスクの空き領域の問題でないとしたら、[https://github.com/sddm/sddm/issues/1179 バグ]のせいかもしれません。[[Getty#インストール|他の TTY に切り替えて]]、{{ic|loginctl unlock-session ''session_id''}} を実行するか、SDDM を[[Systemd#ユニットを使う|再起動]]してみてください。
 
   
  +
{{hc|/etc/sddm.conf.d/rootless-x11.conf|2=
=== SDDM が greeter を表示するのに時間がかかる ===
 
  +
[General]
  +
DisplayServer=x11-user}}
   
  +
Rootless モードで動作しているかどうかを確認するには、コンポジタのプロセス ({{ic|kwin_wayland}}) など) がどのユーザーによって所有されているかを調べてください。
エントロピープールが小さいと SDDM のロードに長い時間がかかる可能性があります([https://github.com/sddm/sddm/issues/1036 バグレポート])。[[乱数生成]]にエントロピープールを大きくする方法があります。
 
  +
  +
{{Note|
  +
* SDDM では、Wayland のサポートは実験的とされています。
  +
* デフォルトでは、{{ic|1=DisplayServer=wayland}} は、たとえインストールされていなくとも、[[weston]] コンポジタの使用を試みます。他の Wayland コンポジタを使用するには、[[#KDE Plasma / KWin]] で説明されているように {{ic|CompositorCommand}} オプションにプログラムと関連引数を指定してください。詳細は {{man|5|sddm.conf}} を参照してください。
  +
}}
  +
  +
=== Wayland ===
  +
  +
==== KDE Plasma / KWin ====
  +
  +
{{Warning|デフォルトでは、KWin はグローバルなショートカットキーを有効化した状態で起動します。デフォルトのキーバインドを使用してログインプロンプトをバイパスできるようになるため、この挙動はログインスクリーンにおいては危険です。{{ic|--no-global-shortcuts}} フラグを使用することにより、この問題を解決できます。[https://invent.kde.org/plasma/plasma-workspace/-/commit/7e4159e46f816dc65ac62eae37b15c882f0c8064]}}
  +
  +
以下の記述を設定ファイルに追加すれば、KWin が Wayland コンポジタとして使用されるようになり、[https://wayland.app/protocols/wlr-layer-shell-unstable-v1 wlr_layer_shell] Wayland プロトコル拡張も有効化されます。Qt6 を使用する SDDM テーマを使うには {{Pkg|layer-shell-qt}} が、Qt5 を使用するものには {{Pkg|layer-shell-qt5}} が必要です。
  +
  +
{{hc|/etc/sddm.conf.d/10-wayland.conf|2=
  +
[General]
  +
DisplayServer=wayland
  +
GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell
  +
  +
[Wayland]
  +
CompositorCommand=kwin_wayland --drm --no-lockscreen --no-global-shortcuts --locale1}}
  +
  +
===== 仮想キーボード =====
  +
  +
仮想キーボードのサポートを有効化するには (例えば、{{pkg|qt6-virtualkeyboard}} や {{pkg|maliit-keyboard}} を使う場合)、以下のように {{ic|--inputmethod}} フラグに適切なキーボードを指定して、{{ic|kwin_wayland}} コマンドに追加してください。{{ic|InputMethod}} オプションは {{ic|General}} セクションで指定しないでください。仮想キーボードが表示されなくなってしまいます。
  +
  +
{{hc|/etc/sddm.conf.d/10-wayland.conf|2=
  +
[Wayland]
  +
CompositorCommand=kwin_wayland --drm --no-lockscreen --no-global-shortcuts --locale1 --inputmethod maliit-keyboard}}
  +
  +
===== Plasma のディスプレイ設定に合わせる =====
  +
  +
Plasma Wayland セッションのディスプレイの設定 (例:モニターレイアウト、解像度など) に対する如何なる変更も SDDM に対しては適用されません。設定を適用させるには、Plasma の ''KDE システム設定'' を開き、''起動と終了 > ログイン画面 (SDDM)'' へ行き、"''Plasma 設定を適用...''" をクリックしてください。この操作を行うためには許可が必要です。
  +
  +
同じことは、以下のようにして手動で行うこともできます:
  +
  +
SDDM でディスプレイを適切に管理するには (スケーリング、モニタの解像度、リフレッシュレートなど)、ホームディレクトリから適切な設定ファイルを SDDM の設定ディレクトリにコピー (かつ必要であれば変更) することができます:
  +
  +
# cp ~/.config/kwinoutputconfig.json /var/lib/sddm/.config/
  +
# chown sddm:sddm /var/lib/sddm/.config/kwinoutputconfig.json
  +
  +
SDDM で適切な入力処理 (タップでクリックやタッチスクリーンのマッピングなど) を可能にするには、適切な設定ファイルをホームディレクトリから SDDM の設定ディレクトリにコピーしてください:
  +
  +
# cp ~/.config/kcminputrc /var/lib/sddm/.config/
  +
# chown sddm:sddm /var/lib/sddm/.config/kcminputrc
  +
  +
== トラブルシューティング ==
  +
  +
=== greeter が表示されず、カーソルのみの黒画面 ===
  +
  +
利用可能なディスクの空き領域が存在しない場合、greeter はクラッシュします。{{ic|df -h}} でディスクの空き領域を確認してください。
  +
  +
ディスクの空き領域の問題でないとしたら、[https://github.com/sddm/sddm/issues/1179 バグ]のせいかもしれません。[[Getty#インストール|他の TTY に切り替えて]]、{{ic|loginctl unlock-session ''session_id''}} を実行するか、SDDM を[[再起動]]してみてください。
   
 
=== ログイン後にフリーズする ===
 
=== ログイン後にフリーズする ===
   
{{ic|~/.Xauthority}} を削除してみてください。
+
{{ic|~/.Xauthority}} を削除し、再起動せずに再ログインしてみてください。ログインせずに再起動すると、このファイルが再び作成されてしまい、問題が解決されません
   
 
=== SDDM が tty7 ではなく tty1 で起動する ===
 
=== SDDM が tty7 ではなく tty1 で起動する ===
   
SDDM は [http://0pointer.de/blog/projects/serial-console.html systemd の慣習] したがって tty1 に一番目のグラフィカルセッションを起動します。tty1 から tty6 まではテキストコンソール用にするという、昔のやり方が良い場合は、設定ファイルで {{ic|[X11]}} セクションの {{ic|MinimumVT}} 変数を変更してください:
+
SDDM は [http://0pointer.de/blog/projects/serial-console.html systemd の慣習]にって tty1 に最初のグラフィカルセッションを起動します。
   
  +
設定ファイルには {{ic|MinimumVT}} オプションがまだ存在しますが、SDDM 0.20 からこのオプションは無視されるようになったことに注意してください: {{man|5|sddm.conf|3=MinimumVT=|url=https://man.archlinux.org/man/sddm.conf.5#MinimumVT=}}。
{{hc|/etc/sddm.conf.d/tty.conf|2=
 
[X11]
 
MinimumVT=7
 
}}
 
   
=== ユーザが greeter に表示されない ===
+
=== 1つ以上のユーザが greeter に表示されない ===
   
{{Warning|{{ic|UID}} が高すぎた低すぎるユーザ基本的に[[ディスプレイマネージャ]]から認識されないようなっていま [https://systemd.io/UIDS-GIDS/]。}}
+
{{Warning|一般に、[https://systemd.io/UIDS-GIDS/ 1000 未満あるいは 60513 よ大きい UID] に設定されているユーザは[[ディスプレイマネージャ]]に公開べきではありません。}}
   
SDDM はデフォルトで UID が 1000 から 60000のユーザーしか表示しません (ちなみ、この値はコンパイル時に {{ic|/etc/login.defs}} を参照し決まります)使用したいユーザの UID がこの値を下回っていたり上回っている場合、範囲を修正する必要がありま
+
デフォルトでは、SDDM 1000 から 60513範囲内 UID を持つユーザのみを表示するよう設定されます。表示したいユーザの UID がこの範囲の外である場合、この範囲を変更しなければなりません
   
例えば、UID 501 の場合、設定ファイルで以下のように変更て最小の UID を下げてまたシステムユーザ使用るシェルを隠してください:
+
例えば、501 UID を持つユーザの場合、{{ic|MinimumUid}} を設定し、システムユーザによって使用されるシェルを持つユーザは隠してください:
   
 
{{hc|/etc/sddm.conf.d/uid.conf|2=
 
{{hc|/etc/sddm.conf.d/uid.conf|2=
191行目: 324行目:
 
}}
 
}}
   
[[systemd-homed]] で使われるような高い UID の場合は、最大の UID上げてください:
+
高い UID を持つユーザの場合は {{ic|MaximumUid}}適切な値に変更してください
   
  +
=== ユーザのアバターが greeter に表示されない ===
{{hc|/etc/sddm.conf.d/uid.conf|2=
 
  +
[Users]
 
  +
ユーザの数が {{ic|DisableAvatarsThreshold}} を超過した場合や、アバターが {{ic|EnableAvatars}} パラメータによって有効化されていない場合、ユーザのアバターは表示されません。これを回避するには、以下の記述を sddm の設定に追加してください:
MaximumUid=60513
 
  +
  +
{{hc|/etc/sddm.conf.d/avatars.conf|2=
  +
[Theme]
  +
EnableAvatars=true # enable avatars
  +
DisableAvatarsThreshold=7 # set the threshold for the number of users. Avatars are not shown if this threshold is exceeded.
 
}}
 
}}
   
 
=== SDDM が US キーボードのレイアウトしかロードしない ===
 
=== SDDM が US キーボードのレイアウトしかロードしない ===
   
SDDM は {{ic|/etc/X11/xorg.conf.d/00-keyboard.conf}} で指定されたキーボードレイアウトをロードします。{{ic|localectl set-x11-keymap}} コマンドを使うことでこの設定ファイルを生成することが可能です。詳しくは [[Xorg でのキーボード設定]]を見て下さい。
+
SDDM は {{ic|/etc/X11/xorg.conf.d/00-keyboard.conf}} で指定されたキーボードレイアウトをロードします。{{ic|localectl set-x11-keymap}} コマンドを使うことでこの設定ファイルを生成することが可能です。詳しくは [[Xorg でのキーボード設定]] を見て下さい。
   
  +
SDDM でのみ効果を持ち、後続のセッションには適用されないキーボードレイアウトを設定するもう一つの方法は、SDDM のスタートアップスクリプト ({{ic|/usr/share/sddm/scripts/Xsetup}} にあり) で ''setxkbmap'' コマンドを実行することです。例は [[Xorg でのキーボード設定#setxkbmap を使う]] を参照してください。
最初キーボードレイアウトが US に表示され、パスワードを入力し始めるとすぐに適当なレイアウトに切り替わる場合もあります [https://github.com/sddm/sddm/issues/202#issuecomment-76001543]。これは SDDM のバグではなく {{Pkg|libxcb}} (バージョン 1.13-1) が原因です [https://github.com/sddm/sddm/issues/202#issuecomment-133628462]。
 
   
  +
また、SDDM は間違ってレイアウトを US キーボードとして表示することもありますが、パスワードを打ち始めると即座に正しいレイアウトに変わります [https://github.com/sddm/sddm/issues/202#issuecomment-76001543]。これは SDDM のバグではなく、[[X]] のバグのようです。[https://gitlab.freedesktop.org/xorg/xserver/-/issues/257]
=== ユーザーアイコンが表示されない ===
 
 
SDDM はユーザーアイコンを {{ic|~/.face.icon}} から読み込みます。
 
 
SDDM ユーザーからファイルが読み込めるように権限を設定してください:
 
 
$ setfacl -m u:sddm:x ~/
 
$ setfacl -m u:sddm:r ~/.face.icon
 
 
詳しくは [https://github.com/sddm/sddm#no-user-icon SDDM README: No User Icon] を参照。
 
   
 
=== 画面解像度が低すぎる ===
 
=== 画面解像度が低すぎる ===
   
EDID の情報が壊れているディスプレイで [[HiDPI]] を使用した場合に発生する問題です [https://github.com/sddm/sddm/issues/692]。
+
[[Wikipedia:Extended Display Identification Data|EDID]] の情報が壊れているディスプレイで [[HiDPI]] を使用した場合に発生する可能性のある問題です [https://github.com/sddm/sddm/issues/692]。[[#HiDPI の有効化|HiDPI]] を有効化している場合、HiDPI を無効にしてみてください
   
  +
無効にしても問題が解決しない場合、Xorg の設定ファイルでスクリーンのサイズを設定してみることができます:
[[#HiDPI の有効化|HiDPI]] を有効化している場合、HiDPI を無効にしてみてください。
 
   
無効にしても問題が解決しない場合、Xorg の設定ファイルでスクリーンのサイズを設定してください:
 
 
{{hc|/etc/X11/xorg.conf.d/90-monitor.conf|2=
 
{{hc|/etc/X11/xorg.conf.d/90-monitor.conf|2=
 
Section "Monitor"
 
Section "Monitor"
233行目: 361行目:
 
SDDM はデフォルトでユーザーのアバターとして {{ic|~/.face.icon}} ファイルを使います。ホームディレクトリが [[autofs]] の場合 (例えば [[dm-crypt]] を使っている場合)、autofs がディレクトリをマウントできないと報告するまで SDDM は60秒間待機します。
 
SDDM はデフォルトでユーザーのアバターとして {{ic|~/.face.icon}} ファイルを使います。ホームディレクトリが [[autofs]] の場合 (例えば [[dm-crypt]] を使っている場合)、autofs がディレクトリをマウントできないと報告するまで SDDM は60秒間待機します。
   
{{ic|/etc/sddm.conf}} 編集することでアバターを無効化することができます:
+
以下の設定ファイル作成することでアバターを無効化することができます:
   
{{hc|/etc/sddm.conf|2=
+
{{hc|/etc/sddm.conf.d/avatar.conf|2=
 
[Theme]
 
[Theme]
 
EnableAvatars=false
 
EnableAvatars=false
 
}}
 
}}
   
=== X authority (aka MIT-MAGIC-COOKIE) file ===
+
=== X authority (別名 MIT-MAGIC-COOKIE) ファイル ===
   
[https://github.com/sddm/sddm/issues/622]で詳細が言及されているように、SDDM は 認証ファイルのためにランダムな新しい UUID を使います。そのため、そのファイルを見つけるためにスクリプトを使うことができます:
+
[https://github.com/sddm/sddm/issues/622] で詳細が言及されているように、SDDM は 認証ファイルのためにランダムな新しい UUID を使います。そのため、そのファイルを見つけるためにスクリプトを使うことができます:
   
 
# find /var/run/sddm/ -type f
 
# find /var/run/sddm/ -type f
   
ログイン中のユーザーがいない時に [[x11vnc]] を開始する必要がある場合、このスクリプトが必要です。例えば:
+
ログイン中のユーザーがいない時に [[x11vnc]] を開始する必要がある場合、このスクリプトが必要である場合があります。例えば:
   
 
# x11vnc -display :0 -auth "$( find /var/run/sddm/ -type f )"
 
# x11vnc -display :0 -auth "$( find /var/run/sddm/ -type f )"
   
=== 複数スクリーン設定で greeter が重複する ===
+
=== マルチモニタ環境で greeter が重複する ===
   
複数スクリーンの設定で X モニターのレイアウトが正しく設定されずに greeter が重複することがあります。この問題を解決するためには、以下のスクリプトを追加して、sddm greeter のレイアウトを左から右に並べてください:
+
複数スクリーンの環境で X モニターのレイアウトが正しく設定されずに greeter が重複することがあります。この問題を解決するためには、以下のスクリプトを追加して、sddm greeter のレイアウトを左から右に並べてください:
   
 
{{hc|/usr/share/sddm/scripts/Xsetup|2=
 
{{hc|/usr/share/sddm/scripts/Xsetup|2=
261行目: 389行目:
 
done
 
done
 
}}
 
}}
  +
  +
=== 予期しないディスプレイにログイン画面が表示される ===
  +
  +
複数のディスプレイが接続されている場合に、SDDM のログインセッションがプライマリディスプレイではないディスプレイに表示されることがあります。サブディスプレイが回転されているがプライマリディスプレイはそうなっていない場合、この問題は腹立たしいでしょう。この問題に対するシンプルな修正法は、''xrandr'' を使って、ログインセッションが ''Xsetup'' スクリプトを使用する前にディスプレイを設定することです。例えば、以下では、''xrandr'' は、2つのディスプレイが接続されており、2つ目のディスプレイ (DP-2) はプライマリディスプレイ (DP-4) の左にあると報告しています。
  +
  +
# xrandr | grep -w connected
  +
DP-2 connected 2160x3840+0+0 left (normal left inverted right x axis y axis) 597mm x 336mm
  +
DP-4 connected primary 3840x2160+2160+0 (normal left inverted right x axis y axis) 697mm x 392mm
  +
  +
以下の ''Xsetup'' は、上記のセットアップをログインウィンドウのために再作成します:
  +
{{hc|/usr/share/sddm/scripts/Xsetup|2=
  +
#!/bin/sh
  +
# Xsetup - run as root before the login dialog appears
  +
  +
xrandr --output DP-4 --auto --primary
  +
xrandr --output DP-2 --left-of DP-4 --rotate left --noprimary
  +
}}
  +
  +
=== NVIDIA グラフィックカードでログアウト後に黒画面 ===
  +
  +
ユーザからログアウトした後に、完全な黒画面や、カーソル/ディスプレイデバイスのロゴだけの黒画面が発生する場合があります。これは、{{ic|sddm.service}} が NVIDIA ドライバよりも早く起動してしまうため、発生します。[[NVIDIA#早期ロード|KMS の早期ロード]]を検討してください。
  +
  +
=== パスワードの最初の試行に失敗すると、その後の試行で数回キーを押すと文字列が勝手に消されてしまう===
  +
  +
デフォルト以外の別のテーマを使用してください。
  +
  +
=== ハイブリッドグラフィックスで Wayland を使用すると画面の同期がずれる ===
  +
  +
SDDM で {{ic|kwin_wayland}} コンポジタを使用すると、ブート時に画面の同期がずれる場合があります。{{ic|mesa-amber}} ドライバを使用していて、X11 に戻すと正しく動作する場合、{{ic|mesa-amber}} ドライバを {{ic|mesa}} に置き換えると Wayland が正しく動作する可能性があります。この問題に関する詳細は [https://bugs.kde.org/show_bug.cgi?id=483804 KDE Bug 483804] で見られます。
  +
  +
{{TranslationStatus|SDDM|2024-07-28|812585}}

2024年7月28日 (日) 19:54時点における最新版

関連記事

The Simple Desktop Display Manager (SDDM) はディスプレイマネージャです。KDE Plasma と LXQt デスクトップ環境の推奨ディスプレイマネージャです。

Wikipedia:ja:Simple Desktop Display Manager より:

Simple Desktop Display Manager (SDDM) は、X Window SystemとWayland向けのディスプレイマネージャである。SDDMはC++11で書かれており、QMLによるテーマをサポートしている。

KDE の開発チームは、SDDM プロジェクトを Plasma Desktop プロジェクトに組み込むという提案を受け入れました。SDDM は Plasma の正式な一部となり、SDDM のアップデートは Plasma Desktop のアップデートと共にリリースされる可能性があります。

ノート: SDDM バージョン 0.20 の時点で、Wayland セッションは一覧に表示され、SDDM から起動することは可能ですが、SDDM greeter 自体はデフォルトでは依然として X11 モードで動作します。しかし、実験的な Wayland greeter を有効化することが可能です

目次

インストール

sddm パッケージをインストールしてください。任意で KConfig Module のための sddm-kcm もインストールしてください。

ディスプレイマネージャ#ディスプレイマネージャをロードするに従って、ブート時に SDDM を起動させてください。

設定

SDDM のデフォルト設定ファイルは /usr/lib/sddm/sddm.conf.d/default.conf に存在します。設定を変更するときは /etc/sddm.conf.d/ に設定ファイルを作成してください。利用可能なオプションは sddm.conf(5) を見て下さい。

(plasma グループに含まれている) sddm-kcm パッケージをインストールすることで Plasma のシステム設定から GUI で SDDM を設定できます。Qt ベースの設定エディタ sddm-conf-gitAUR も存在します。

Arch Linux は systemd を使用していて、さらに SDDM はデフォルトで systemd-logind をセッション管理に使用するので、特に設定せずに機能するはずです。

自動ログイン

SDDM は設定ファイルによって自動ログインをサポートしています、例:

/etc/sddm.conf.d/autologin.conf
[Autologin]
User=john
Session=plasma

上の設定だと、システムが起動した時に john ユーザーで KDE Plasma セッションが起動します。利用できるセッションのタイプについては、X 用は /usr/share/xsessions/ で、Wayland 用は /usr/share/wayland-sessions/ でわかります。

KDE Plasma に自動ログインすると同時にセッションをロックするオプションは利用できません。[1]

回避策として、Plasma のスクリーンセーバをアクティブ化するスクリプトを自動起動に追加することができます:

#!/bin/sh
/usr/bin/dbus-send --session --type=method_call --dest=org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Lock &

パスワードレスログイン

パスワード無しで一部のアカウントにログインできるように SDDM を設定することができます。ログインするアカウントを選ぶ必要があるという点で自動ログインとは異なり、また、(SSH 経由でログインしてきたリモートユーザなどを除く) インタラクティブユーザのみにログインを許可するという点で、アカウントのパスワードを空白に設定するのとも異なります。

SDDM は PAM 経由で動作するので、PAM で SDDM に関連する設定を行う必要があります:

/etc/pam.d/sddm
#%PAM-1.0
auth        sufficient  pam_succeed_if.so user ingroup nopasswdlogin
auth        include     system-login
...

パスワード無しで KDE Plasma のロック画面を解除できるようにするために、/etc/pam.d/kde の先頭にも先と同じ行を追加してください:

/etc/pam.d/kde
#%PAM-1.0
auth        sufficient  pam_succeed_if.so user ingroup nopasswdlogin
auth        include     system-login
...

次に、パスワードを入力せずにインタラクティブにログインできるようにするために、あなたのユーザーを nopasswdlogin グループに追加する必要があります:

# groupadd -r nopasswdlogin
# gpasswd -a username nopasswdlogin

ログイン時に KDE Wallet のロックを解除

KDE Wallet#ログイン時に KDE ウォレットを自動的にアンロック を見てください。

テーマ設定

[Theme] セクションでテーマの設定を変更できます。Plasma の KDE システム設定を使っている場合、テーマのプレビューを表示できます。

デフォルトの Plasma テーマを使うには breeze に設定してください。

archlinux-themes-sddmAUR など、AUR から入手できるテーマもあります。

現在のテーマ

現在のテーマは Current で設定します。例: Current=archlinux-simplyblack

テーマの編集

SDDM のデフォルトのテーマディレクトリは /usr/share/sddm/themes/ です。作成したカスタムテーマはこのディレクトリのサブディレクトリに追加することができます。サブディレクトリの名前はテーマの名前と同じである必要があります。インストールされているファイルを参考に自分自身のテーマを作成してみてください。

テーマをカスタマイズ

設定ファイル theme.conf の設定をオーバーライドするには、カスタムの theme.conf.user ファイルを同じディレクトリに作成してください。例えば、テーマの背景を変更するには:

/usr/share/sddm/themes/name/theme.conf.user
[General]
background=/path/to/background.png

テーマのテスト (プレビュー)

必要であれば SDDM のテーマをプレビューすることができます。これは、テーマを編集した際などにテーマがどのような見た目になるか分からない場合や、ログアウトせずにテーマを確認したい場合などに便利です。以下のようにコマンドを実行してください:

$ sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/breeze

接続されているモニタすべてに新しいウィンドウが開き、テーマのプレビューが表示されます。

ノート: これはプレビューだけです。このモードでは、シャットダウンやサスペンド、ログインなどの一部のアクションは効果がありません。

マウスカーソル

マウスカーソルのテーマを設定したい場合は、CursorTheme を使用したいカーソルテーマに設定してください。

Plasma で使用できるマウスカーソルのテーマの名前は、breeze_cursorsBreeze_Snow、そして breeze-dark です。

ユーザアイコン (アバター)

この記事またはセクションは情報が古くなっています。
理由: 設定をせずとも SDDM は /var/lib/AccountsService/icons/ 内のアイコンを検出します。そして、Plasma はもはや $HOME/ 内にファイル (以下で述べているアイコンファイルや、そのファイルへのシンボリックリンク) を作成しません。 (Discuss)

SDDM は、各ユーザの ~/.face.icon か、あるいは SDDM 設定ファイル内の FacesDir で指定された全ユーザに共通の場所から PNG イメージのユーザアイコン (別名: "アバター") を読み込みます。設定は /etc/sddm.conf に直接、あるいは /etc/sddm.conf.d/avatar.conf のように /etc/sddm.conf.d/ 下のファイルとして保存することができます (後者が推奨されます)。

FacesDir のオプションを使用するには、設定ファイルの FacesDir キーで指定された場所に各ユーザに対して ユーザ名.face.icon という名前で PNG イメージファイルを配置してください。デフォルトの FacesDir/usr/share/sddm/faces/ です。ニーズに応じてデフォルトの FacesDir を変更することができます。例えば以下のように:

/etc/sddm.conf.d/avatar.conf
[Theme]
FacesDir=/var/lib/AccountsService/icons/

もう一つの方法は、ホームディレクトリのルートに .face.icon という名前の PNG ファイルを置くことです。この場合、SDDM の設定ファイルを変更する必要はありません。ただし、sddm ユーザがユーザアイコンの PNG イメージファイルを読むことができるようにしておく必要があります。

ノート: 多くの KDE バージョンで、ユーザのアイコンイメージファイルは ~/.face であり、~/.face.icon はそのファイルへのシンボリックリンクとなっています。ユーザのアイコンイメージがシンボリックリンクである場合、シンボリックリンク先のファイルに適切なファイルパーミッションを設定する必要があります。

適切なパーミッションを設定するには、以下を実行してください:

$ setfacl -m u:sddm:x ~/
$ setfacl -m u:sddm:r ~/.face.icon

以下を実行することで、パーミッションを確認することができます:

$ getfacl ~/
$ getfacl ~/.face.icon

SDDM README: No User Icon を参照してください。

Numlock

Numlock を強制的に有効にしたい場合、[General] セクションに Numlock=on と設定してください。

SDDM が Wayland で動作している場合、numlock の設定は現在反映されません。Numlock を有効化するには KWin の設定を変更する必要があるかもしれません。この issue を参照してください。

ディスプレイの回転

Xrandr#設定 を見てください。

DPI の設定

ディスプレイマネージャのレベルでディスプレイの PPI 設定を適切に設定できると便利です。[2] ServerArguments の末尾にパラメータ -dpi your_dpi を追加する必要があります。例:

/etc/sddm.conf.d/dpi.conf
[X11]
ServerArguments=-nolisten tcp -dpi 94

HiDPI の有効化

ノート: SDDM バージョン 0.20.0 から、HiDPI サポートがデフォルトで有効化されており、以下のステップは必要ではなくなりました。

以下のファイルを作成してください:

/etc/sddm.conf.d/hidpi.conf
[Wayland]
EnableHiDPI=true

[X11]
EnableHiDPI=true

Wayland を使用する場合、HiDPI スケーリングは、使用する greeter に依存します。[3] 例えば、Breeze などの Qt ベースの greeter を使用する場合、以下の設定を追加してください:

[General]
GreeterEnvironment=QT_SCREEN_SCALE_FACTORS=2,QT_FONT_DPI=192

仮想キーボードを有効化する

qt6-virtualkeyboard (あるいは他の仮想キーボード) をインストールしてください。

以下のファイルを作成してください:

/etc/sddm.conf.d/virtualkbd.conf
[General]
InputMethod=name_of_virtual_keyboard

これで、SDDM は仮想キーボードを開くボタンをログインスクリーンの左下の角に表示するようになります。

指紋リーダーを使う

ヒント: Plasma 6 以降、KDE のロック画面は既に指紋によるロック解除をサポートしており、kscreenlocker には必須の /etc/pam.d/kde-fingerprint が含まれています。

しかし、これにはログインの設定は含まれておらず、既存のセッションのロック解除のみです。

KWallet はログイン時にパスワードベースの認証を必要とするので (以下参照)、SDDM での指紋認証のセットアップはしないほうが良いかもしれません。

ノート: これらの変更を加える前に、あなたの指紋が登録されていることを確認してください。指紋リーダーへの対応はまだ不完全であり、この方法を使うとパスワードのみでのログインができなくなってしまうようです。

SDDM では fprint を利用した指紋認証が可能です。fprint をインストールして指紋署名を登録したのち、/etc/pam.d/sddm の先頭に以下の行を加えてください:

/etc/pam.d/sddm
auth 			sufficient  	pam_fprintd.so

パスワードか指紋認証のいずれか片方を使うには、代わりに以下の行を /etc/pam.d/sddm の先頭に加えてください:

/etc/pam.d/sddm
auth 			[success=1 new_authtok_reqd=1 default=ignore]  	pam_unix.so try_first_pass likeauth nullok
auth 			sufficient  	pam_fprintd.so

KWallet は指紋リーダーを使ってロックを解除できないことに注意してください (KDE Wallet#ログイン時に KDE ウォレットを自動的にアンロック をご覧ください)。しかし、1行目の記述によりパスワードログインが自動的に KWallet を解除することが保証されます。

パスワード欄を空にして Enter キーを押すと、指紋認証が開始されます。

Rootless

従来、X11 ディスプレイサーバーはデフォルトで root 権限で実行されてきました。この rootful モードでは、X11 はシステムリソースに無制限にアクセスできます (ハードウェアへの直接的なアクセスと管理が一般的であった環境では rootful モードが動作に不可欠だったのです)。しかし、最近のコンピューティング環境ではセキュリティが重要視されるようになり、rootless モードへ移行する作業が行われてきました。また、これは Wayland がデフォルトで rootless モードで動作する理由でもあります。

非特権 X11 (及び Wayland) セッションは sddm 0.20.0 からサポートされています。[4]

Rootless モードを有効化するには、/etc/sddm.conf.d/ に新しいファイルを適当な名前で作成し、以下を追加してください (必要に応じて x11-userwayland に置き換えてください):

/etc/sddm.conf.d/rootless-x11.conf
[General]
DisplayServer=x11-user

Rootless モードで動作しているかどうかを確認するには、コンポジタのプロセス (kwin_wayland) など) がどのユーザーによって所有されているかを調べてください。

ノート:
  • SDDM では、Wayland のサポートは実験的とされています。
  • デフォルトでは、DisplayServer=wayland は、たとえインストールされていなくとも、weston コンポジタの使用を試みます。他の Wayland コンポジタを使用するには、#KDE Plasma / KWin で説明されているように CompositorCommand オプションにプログラムと関連引数を指定してください。詳細は sddm.conf(5) を参照してください。

Wayland

KDE Plasma / KWin

警告: デフォルトでは、KWin はグローバルなショートカットキーを有効化した状態で起動します。デフォルトのキーバインドを使用してログインプロンプトをバイパスできるようになるため、この挙動はログインスクリーンにおいては危険です。--no-global-shortcuts フラグを使用することにより、この問題を解決できます。[5]

以下の記述を設定ファイルに追加すれば、KWin が Wayland コンポジタとして使用されるようになり、wlr_layer_shell Wayland プロトコル拡張も有効化されます。Qt6 を使用する SDDM テーマを使うには layer-shell-qt が、Qt5 を使用するものには layer-shell-qt5 が必要です。

/etc/sddm.conf.d/10-wayland.conf
[General]
DisplayServer=wayland
GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell

[Wayland]
CompositorCommand=kwin_wayland --drm --no-lockscreen --no-global-shortcuts --locale1
仮想キーボード

仮想キーボードのサポートを有効化するには (例えば、qt6-virtualkeyboardmaliit-keyboard を使う場合)、以下のように --inputmethod フラグに適切なキーボードを指定して、kwin_wayland コマンドに追加してください。InputMethod オプションは General セクションで指定しないでください。仮想キーボードが表示されなくなってしまいます。

/etc/sddm.conf.d/10-wayland.conf
[Wayland]
CompositorCommand=kwin_wayland --drm --no-lockscreen --no-global-shortcuts --locale1 --inputmethod maliit-keyboard
Plasma のディスプレイ設定に合わせる

Plasma Wayland セッションのディスプレイの設定 (例:モニターレイアウト、解像度など) に対する如何なる変更も SDDM に対しては適用されません。設定を適用させるには、Plasma の KDE システム設定 を開き、起動と終了 > ログイン画面 (SDDM) へ行き、"Plasma 設定を適用..." をクリックしてください。この操作を行うためには許可が必要です。

同じことは、以下のようにして手動で行うこともできます:

SDDM でディスプレイを適切に管理するには (スケーリング、モニタの解像度、リフレッシュレートなど)、ホームディレクトリから適切な設定ファイルを SDDM の設定ディレクトリにコピー (かつ必要であれば変更) することができます:

# cp ~/.config/kwinoutputconfig.json /var/lib/sddm/.config/
# chown sddm:sddm /var/lib/sddm/.config/kwinoutputconfig.json

SDDM で適切な入力処理 (タップでクリックやタッチスクリーンのマッピングなど) を可能にするには、適切な設定ファイルをホームディレクトリから SDDM の設定ディレクトリにコピーしてください:

# cp ~/.config/kcminputrc /var/lib/sddm/.config/
# chown sddm:sddm /var/lib/sddm/.config/kcminputrc

トラブルシューティング

greeter が表示されず、カーソルのみの黒画面

利用可能なディスクの空き領域が存在しない場合、greeter はクラッシュします。df -h でディスクの空き領域を確認してください。

ディスクの空き領域の問題でないとしたら、バグのせいかもしれません。他の TTY に切り替えてloginctl unlock-session session_id を実行するか、SDDM を再起動してみてください。

ログイン後にフリーズする

~/.Xauthority を削除し、再起動せずに再ログインしてみてください。ログインせずに再起動すると、このファイルが再び作成されてしまい、問題が解決されません。

SDDM が tty7 ではなく tty1 で起動する

SDDM は systemd の慣習に従って tty1 に最初のグラフィカルセッションを起動します。

設定ファイルには MinimumVT オプションがまだ存在しますが、SDDM 0.20 からこのオプションは無視されるようになったことに注意してください: sddm.conf(5) § MinimumVT=

1つ以上のユーザが greeter に表示されない

警告: 一般に、1000 未満あるいは 60513 より大きい UID に設定されているユーザはディスプレイマネージャに公開すべきではありません。

デフォルトでは、SDDM は 1000 から 60513 の範囲内の UID を持つユーザのみを表示するように設定されています。表示したいユーザの UID がこの範囲の外である場合、この範囲を変更しなければなりません。

例えば、501 の UID を持つユーザの場合、MinimumUid を設定し、システムユーザによって使用されるシェルを持つユーザは隠してください:

/etc/sddm.conf.d/uid.conf
[Users]
HideShells=/usr/bin/nologin,/sbin/nologin,/bin/false,/usr/bin/git-shell
MinimumUid=500

高い UID を持つユーザの場合は MaximumUid を適切な値に変更してください。

ユーザのアバターが greeter に表示されない

ユーザの数が DisableAvatarsThreshold を超過した場合や、アバターが EnableAvatars パラメータによって有効化されていない場合、ユーザのアバターは表示されません。これを回避するには、以下の記述を sddm の設定に追加してください:

/etc/sddm.conf.d/avatars.conf
[Theme]
EnableAvatars=true # enable avatars
DisableAvatarsThreshold=7 # set the threshold for the number of users. Avatars are not shown if this threshold is exceeded.

SDDM が US キーボードのレイアウトしかロードしない

SDDM は /etc/X11/xorg.conf.d/00-keyboard.conf で指定されたキーボードレイアウトをロードします。localectl set-x11-keymap コマンドを使うことでこの設定ファイルを生成することが可能です。詳しくは Xorg でのキーボード設定 を見て下さい。

SDDM でのみ効果を持ち、後続のセッションには適用されないキーボードレイアウトを設定するもう一つの方法は、SDDM のスタートアップスクリプト (/usr/share/sddm/scripts/Xsetup にあり) で setxkbmap コマンドを実行することです。例は Xorg でのキーボード設定#setxkbmap を使う を参照してください。

また、SDDM は間違ってレイアウトを US キーボードとして表示することもありますが、パスワードを打ち始めると即座に正しいレイアウトに変わります [6]。これは SDDM のバグではなく、X のバグのようです。[7]

画面解像度が低すぎる

EDID の情報が壊れているディスプレイで HiDPI を使用した場合に発生する可能性のある問題です [8]HiDPI を有効化している場合、HiDPI を無効にしてみてください。

無効にしても問題が解決しない場合、Xorg の設定ファイルでスクリーンのサイズを設定してみることができます:

/etc/X11/xorg.conf.d/90-monitor.conf
Section "Monitor"
        Identifier      "<default monitor>"
        DisplaySize     345 194 # in millimeters
EndSection

ホームディレクトリが autofs の場合にロード時間が長い

SDDM はデフォルトでユーザーのアバターとして ~/.face.icon ファイルを使います。ホームディレクトリが autofs の場合 (例えば dm-crypt を使っている場合)、autofs がディレクトリをマウントできないと報告するまで SDDM は60秒間待機します。

以下の設定ファイルを作成することでアバターを無効化することができます:

/etc/sddm.conf.d/avatar.conf
[Theme]
EnableAvatars=false

X authority (別名 MIT-MAGIC-COOKIE) ファイル

[9] で詳細が言及されているように、SDDM は 認証ファイルのためにランダムな新しい UUID を使います。そのため、そのファイルを見つけるためにスクリプトを使うことができます:

# find /var/run/sddm/ -type f

ログイン中のユーザーがいない時に x11vnc を開始する必要がある場合、このスクリプトが必要である場合があります。例えば:

# x11vnc -display :0 -auth "$( find /var/run/sddm/ -type f )"

マルチモニタの環境で greeter が重複する

複数スクリーンの環境で X モニターのレイアウトが正しく設定されずに greeter が重複することがあります。この問題を解決するためには、以下のスクリプトを追加して、sddm greeter のレイアウトを左から右に並べてください:

/usr/share/sddm/scripts/Xsetup
for next in $(xrandr --listmonitors | grep -E " *[0-9]+:.*" | cut -d" " -f6); do
  [ -z "$current" ] && current=$next && continue
  xrandr --output $current --auto --output $next --auto --right-of $current
  current=$next
done

予期しないディスプレイにログイン画面が表示される

複数のディスプレイが接続されている場合に、SDDM のログインセッションがプライマリディスプレイではないディスプレイに表示されることがあります。サブディスプレイが回転されているがプライマリディスプレイはそうなっていない場合、この問題は腹立たしいでしょう。この問題に対するシンプルな修正法は、xrandr を使って、ログインセッションが Xsetup スクリプトを使用する前にディスプレイを設定することです。例えば、以下では、xrandr は、2つのディスプレイが接続されており、2つ目のディスプレイ (DP-2) はプライマリディスプレイ (DP-4) の左にあると報告しています。

# xrandr | grep -w connected
DP-2 connected 2160x3840+0+0 left (normal left inverted right x axis y axis) 597mm x 336mm
DP-4 connected primary 3840x2160+2160+0 (normal left inverted right x axis y axis) 697mm x 392mm

以下の Xsetup は、上記のセットアップをログインウィンドウのために再作成します:

/usr/share/sddm/scripts/Xsetup
#!/bin/sh
# Xsetup - run as root before the login dialog appears

xrandr --output DP-4 --auto --primary
xrandr --output DP-2 --left-of DP-4 --rotate left --noprimary

NVIDIA グラフィックカードでログアウト後に黒画面

ユーザからログアウトした後に、完全な黒画面や、カーソル/ディスプレイデバイスのロゴだけの黒画面が発生する場合があります。これは、sddm.service が NVIDIA ドライバよりも早く起動してしまうため、発生します。KMS の早期ロードを検討してください。

パスワードの最初の試行に失敗すると、その後の試行で数回キーを押すと文字列が勝手に消されてしまう

デフォルト以外の別のテーマを使用してください。

ハイブリッドグラフィックスで Wayland を使用すると画面の同期がずれる

SDDM で kwin_wayland コンポジタを使用すると、ブート時に画面の同期がずれる場合があります。mesa-amber ドライバを使用していて、X11 に戻すと正しく動作する場合、mesa-amber ドライバを mesa に置き換えると Wayland が正しく動作する可能性があります。この問題に関する詳細は KDE Bug 483804 で見られます。

翻訳ステータス: このページは en:SDDM の翻訳バージョンです。最後の翻訳日は 2024-07-28 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。