SDDM
Simple Desktop Display Manager (SDDM) はX server と Wayland プロトコルの両方をサポートする現代的なディスプレイマネージャです。
デフォルトでは、SDDM の"電源オフ"アイコンをクリックすると、確認なしにコンピュータが直ちにシャットダウンされます。
インストール
USE フラグ
USE flags for x11-misc/sddm Simple Desktop Display Manager
+X
Add support for X11
+elogind
Enable session tracking via sys-auth/elogind
systemd
Enable use of systemd-specific libraries and features like socket activation or session tracking
test
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
Emerge
x11-misc/sddm をインストールします:
root #emerge --ask x11-misc/sddmパフォーマンス面の問題がある場合、sddm ユーザーを video グループに追加すると改善することがあります:
root #usermod -a -G video sddm設定
ファイル
SDDM には2つの設定ファイル格納場所があります: /usr/share/sddm/sddm.conf.d/ と /etc/sddm.conf.d/で、これは特定のオプションを上書きするのに使われます。KDE Plasma はユーザーが変更したオプションを /etc/sddm.conf.d/ に書き込みます。どちらの場所も同じフォーマットのファイルをサポートしています。使用可能なオプションについての詳細は sddm.conf(5) man ページを参照してください。
KDE Plasma writes changed options to /etc/sddm.conf.d/.
Refer to the sddm.conf(5) man page for details on the file format and the available options.
override.conf と Xsetup ファイル
多くの場合、これらのファイルが必要になることはありませんから、この節は読み飛ばしても大丈夫です。
構成によっては、X server を開始して greeter 画面を表示する前にいくつかのコマンドを実行する必要があります。そのようなケースでは Xsetup ファイルが使用できます。その場所はローカルの /etc/sddm.conf.d/override.conf で上書きする必要があります。
存在しない場合、ローカル設定ディレクトリを作成します:
root #mkdir -p /etc/sddm.conf.dその後、/etc/sddm.conf.d/override.conf を作成し、以下の内容を含むように編集します:
/etc/sddm.conf.d/override.conf[X11] DisplayCommand=/etc/sddm/scripts/Xsetup
次に /etc/sddm/scripts ディレクトリと /etc/sddm/scripts/Xsetup ファイルを作成します:
root #mkdir -p /etc/sddm/scripts
root #touch /etc/sddm/scripts/Xsetup
root #chmod a+x /etc/sddm/scripts/Xsetup
/etc/sddm/scripts/Xsetup#!/bin/sh # Xsetup - ログインダイアログが表示される前に root 権限で実行されます # ここには SDDM 開始時に実行される様々なコマンドが入ります。
override.conf と X11 ルートレスモード
SDDM は X11 ではデフォルトで root ユーザとして実行されます。これはセキュリティリスクと考えられるかもしれません。
x11-misc/sddm バージョン 0.20 以降は、SDDM を代わりに X11 ルートレスモードで実行することができます。
これを実現するには、ディスプレイサーバの構成設定をローカルの /etc/sddm.conf.d/override.conf を使用して上書きする必要があります。
/etc/sddm.conf.d/override.conf[General] DisplayServer=x11-user
override.conf と wayland モード
Wayland モードでの SDDM の実行は若干実験的な機能です。このモードを使う前に、ハードウェアと環境で Wayland がうまく動作することを確認した方がよいでしょう。
x11-misc/sddm バージョン 0.20 以降は、SDDM を Wayland モードで実行することができます。
Weston
SDDM は複数の Wayland コンポジタをサポートしています。以下の最初の例では、kde-plasma/plasma-desktop を使用しないシステム向けに、SDDM のデフォルトコンポジタである Weston を使用します。まず、kiosk USE フラグを有効化して dev-libs/weston をインストールしてください。
次に、ディスプレイサーバの設定をローカルの /etc/sddm.conf.d/override.conf で上書きすべきです。
/etc/sddm.conf.d/override.conf[General] DisplayServer=wayland
Additionally, it is possible to add a [Wayland] section to that file, e.g.:
/etc/sddm.conf.d/override.conf# ... [Wayland] CompositorCommand=weston --shell=kiosk
Kwin
kde-plasma/plasma-desktop を使用しているシステムのユーザは、コンポジタとして代わりに Kwin を使用したいかもしれません:
/etc/sddm.conf.d/override.conf[General] DisplayServer=wayland GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell [Wayland] CompositorCommand=kwin_wayland --drm --no-lockscreen --no-global-shortcuts --locale1
キーマップ
ログインスクリーンで正しいキーマップを選択するには、setxkbmap コマンドを /etc/sddm/scripts/Xsetup ファイルに設定します:
/etc/sddm/scripts/Xsetup#!/bin/sh # Xsetup - run as root before the login dialog appears # ... # まずキーマップを gb にする setxkbmapgb,us
最初の国コードがデフォルトになります。
マルチモニター設定
greeter の位置は、SDDM の /etc/sddm/scripts/Xsetup スクリプト内の xrandr の設定で変更できます。まず、x11-apps/xrandr をインストールします:
root #emerge --ask x11-apps/xrandrここでは、xrandr は接続されている2つのモニターを報告しています:
プライマリ (DP-4) とセカンダリ (DP-2) です:
user $xrandr | grep -w connectedDP-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
/etc/sddm/scripts/Xsetup ファイルに以下の行を追加します:
/etc/sddm/scripts/Xsetup#!/bin/sh # Xsetup - run as root before the login dialog appears # ... # まず、DP-4 をプライマリとして設定する xrandr--outputDP-4--auto--primary # 次に、DP-2 を DP-4 の左に配置して、時計回りに 270 度回転させる。 xrandr--outputDP-2--left-ofDP-4--rotateleft--noprimary
再起動すると SDDM によって greeter が DP-4 モニターに表示されます。
サービス
OpenRC
gui-libs/display-manager-init が無い場合は、次のコマンドで emerge してください:
root #emerge --ask gui-libs/display-manager-initSDDM を使用するためには、設定ファイルを変更するべきです:
/etc/conf.d/display-managerSet SDDM をディスプレイマネージャとして設定するCHECKVT=7 DISPLAYMANAGER="sddm"
デフォルト構成では、SDDM はおそらく elogind なしでは開始しないでしょう。以下を使用して、elogind を有効化して開始してください:
root #rc-update add elogind bootroot #rc-service elogind start選択したディスプレイマネージャをブート時に開始するには、システムの default ランレベルに display-manager を追加してください:
root #rc-update add display-manager default今すぐに display-manager を開始するには、次を実行してください:
root #rc-service display-manager startsystemd
machine-id が生成されていないと、SDDM が正しく開始されないことがあります。システムに machine-id があることを確認するには:
root #if [ ! -f /etc/machine-id ]; then systemd-machine-id-setup; fiブート時に SDDM を開始するには:
root #systemctl enable sddm.serviceすぐに SDDM を開始するには:
root #systemctl start sddm.servicePlasma
kde-plasma/sddm-kcm をインストールすると、グラフィカルな設定が Plasma のシステム設定に統合されます:
root #emerge --ask kde-plasma/sddm-kcmトラブルシューティング
SDDM が greeter を表示するまでの読込み時間が長い
エントロピープールが低いと、SDDM の読込みに長い時間がかかります - 上流のバグ報告を参照。systemd を使用している場合、グラフィカルターゲットに到達すると全てが固まったようになります。マウスを動かしたりキーボードを使用したりすると SDDM に greeter を(より速く)表示させることができます。
この問題は、例えば、sys-apps/haveged パッケージを使用してエントロピープールを増加させたり、十分に新しい CPU 上で RANDOM_TRUST_CPU カーネル設定オプションを有功にすることで解決できます。
Xorg.log 内の Permission denied エラー
X server が開始されず、Xorg.log というログファイルに(以下のような)「Permission denied」というエラーが表示されます:
/var/log/Xorg.log/var/log/Xorg.0.log:[ 2058.998] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied /var/log/Xorg.0.log:[ 2061.229] (EE) intel(0): [drm] failed to set drm interface version: Permission denied [13].
これは、おそらく sddm ユーザーが video グループに追加されていないためです。以下のコマンドで解決するはずです:
root #usermod -a -G video sddmシステムボタンが表示されない
SDDM は、機能が提供されていると判断したときのみボタンを表示します。この判断はいくつかの要素に依存します。elogind を使用している OpenRC システムにおいては、ディスプレイマネージャが初期化されたときに elogind サービスが実行されていないことが原因になることがあります。elogind が確実に実行されるようにするには、単純に boot ランレベルに追加します。
root #rc-update add elogind bootユーザーが表示されない
ログインスクリーンにユーザーの選択肢が表示されない場合、原因はおそらく /etc/sddm.conf です - 一般的な MinimumUid は1000ですが、いくつかの既存のユーザーの uid がそれより小さいためでしょう。
/etc/sddm.conf[Users] MaximumUid=60000 MinimumUid=1000
SDDM サービスは開始されるが画面が黒いままになる
この閉じられたバグ報告 によると、NVIDIA カードでは.、SDDM は、有効化され、かつ操作可能な DRM を必要とするようです。
カーネルで Direct Rendering Manager が有効になっているか確認してください。なっていなければ、それを有効化してカーネルをリビルドし、x11-drivers/nvidia-drivers を再度 emerge してください。
Device Drivers ---> Graphics support ---> <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> [*] Enable legacy fbdev support for your modesetting driver
起動時に、nvidia-drm モジュールが modeset オプションが有効化された状態で読み込まれるようにしてください:
/etc/modules-load.d/nvidia-drm.confnvidia-drm options nvidia-drm modeset=1
代わりに、カーネルコマンドラインで nvidia-drm.modeset=1 とすることで modeset オプションを有効化することもできます。これは、bootloader で設定したり、カーネル設定に組み込むことができます。
関連項目
- LightDM — X サーバーの標準ディスプレイマネージャとなることを目標としている、デスクトップ間共通のディスプレイマネージャです。
- SLiM — a desktop-independent graphical display manager.