コンテンツにスキップ

SLiM

提供: ArchWiki
2024年8月14日 (水) 23:21時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (序文を更新)
警告 SliM プロジェクトは放棄されており(最後のリリースは 2013 年)、logind セッションを含む systemd との完全な互換性がありません。別の Display manager または startx を使用することを検討してください。

SLiM は、Simple Login Manager の頭字語です。軽量で簡単に設定できる SLiM は、必要な依存関係が最小限で、GNOMEKDE デスクトップ環境からの依存関係は一切ありません。そのため、XfceOpenboxFluxbox などの軽量デスクトップを好むユーザーにとって、軽量システムの実現に貢献します。

インストール

公式リポジトリから slimインストールしてください。

設定

ノート SLiM は、複数のセッションを設定した場合において 'default' セッションをサポートしなくなりました。ログアウト後に再度同じセッションにログインしようとするときには、この変更に留意しておく必要があります。

1.3.6-2 バージョンで、 SLiM はインストール済みのデスクトップ環境とウインドウマネージャを自動的に認識するようになりました。このことは、/etc/slim.conf の中の sessiondir /usr/share/xsessions/ に記載されています。したがって、それ以前のバージョンの SLiM をインストールしている方は、/etc/slim.conf~/.xinitrc を修正する必要があります。

.xinitrc ファイル

もし ~/.xinitrc ファイルがまだないようであれば、nano や然るべきテキストエディタ(例えば Leafpad や Geany)で、ファイルを作成しましょう。あるいは以下のようにして、スケルトンファイルをテンプレートとして使用することができます。

$ cp /etc/skel/.xinitrc ~

まだであれば、 ~/.xinitrc ファイルに実行可能権限を与えましょう。

chmod +x ~/.xinitrc

SLiM を有効にする

ノート slim はすでに ConsoleKit をサポートしておらず、systemd-logind を使っています。

SLiM デーモンを有効にするには次のコマンドを実行します: systemctl enable slim.service。この前提として、すでにインストールして有効にしてあるディスプレイマネージャがあればそれをまず無効化しておくか、systemctl enable slim.service -f を実行して既存のディスプレイマネージャを無効にすると同時に SLiM を有効にしましょう。

単一のデスクトップ環境

ヒント SLiM の旧バージョンをインストールしていたユーザーは、sessiondir /usr/share/xsessions/ をコメント化して session に置換することができます。

SLiM バージョン 1.3.6-2 以降を設定して特定の環境をロードするには、/etc/slim.conf~/.xinitrc の両方を編集する必要があります。

まず、/etc/slim.conf を編集して sessiondir /usr/share/xsessions/ をコメント化します。そうすると、インストール済み環境の自動認識が無効になります。

# Set directory that contains the xsessions.
# slim reads xsesion from this directory, and be able to select.
# sessiondir            /usr/share/xsessions/

つぎに、~/.xinitrc を編集して、お望みのセッションを指定します。

#!/bin/sh

#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
#

exec <session-command>

<session-command> をお望みのセッションのコマンドに置き換えてください。例えば以下のように:

exec awesome
exec dwm
exec startfluxbox
exec fvwm2
exec gnome-session
exec openbox-session
exec startkde
exec startlxde
exec startxfce4
exec enlightenment_start
exec mate-session

以上のそれぞれのデスクトップ環境やウインドウマネージャの詳細な解説は、この Wiki のそれぞれの記事を参照してください。

複数のデスクトップ環境

ノート F1キーを押すと、利用可能なセッションの選択が切り替わります。

複数のデスクトップ環境を選択可能なようにするには、 /etc/slim.conf~/.xinitrc を修正します。1.3.6-2 以前の SLiM にも適用可能です。

まず /etc/slim.conf を編集して、 sessiondir /usr/share/xsessions/ があることを確認し、コメント化から外します。

# Set directory that contains the xsessions.
# slim reads xsesion from this directory, and be able to select.
sessiondir            /usr/share/xsessions/

SLiM の古いバージョンのユーザーは、 sessions の項目を新たなコマンドに差し替えねばなりません。

つぎに、~/.xinitrc を編集して、指定されたセッションが起動するようにします。

exec $1

SLiM の古いバージョンのユーザーは、case $1 in [...] esac の部分を置き換えねばならないでしょう。より具体的に言うと、複数のセッションから選択していた古い手段として以下のような例が問題となります。以下のこのコードまるごとが、ただ単なる exec $1 に置き換えられます。

DEFAULTSESSION=openbox-session

case "$1" in
    openbox) exec openbox-session ;;
     xfce) exec xfce4-session ;;
     gnome3) exec gnome-session ;;
     kde) exec startkde ;;
     cinnamon) exec gnome-session-cinnamon ;;
     razor-qt) exec razor-session ;;
     lxde) exec lxsession ;;
     mate) exec mate-session ;;
     *) exec $DEFAULTSESSION ;;
esac

デフォルトユーザー名の指定

SLiM では、お望みのユーザー名が自動的に入力されているように設定可能です。最初からパスワード欄が表示されているようになります。/etc/slim.conf 内の以下の行を変更しましょう。

# default_user        simone

この行のコメント化を外して、 "simone" を希望のユーザ名に変更しましょう。

default_user        <your username>

自動ログインの有効化

ノート この機能を利用するにはまず、SLiM にデフォルトユーザー名を指定するだけではなく、単一のデスクトップ環境に設定する必要があります。
警告 root アカウントで利用してはいけません
警告 自動ログインが有効になっていると、GNOME キーリングがログイン時に自動的に解除されなくなります。これによって Chrome/Chromium や NetworkManager などのアプリケーションの挙動がおかしくなることがあります (https://bbs.archlinux.org/viewtopic.php?id=167579 を参照)。

/etc/slim.conf を編集して、auto_login のコメント化を外し、noyes に変更しましょう。

auto_login          yes

テーマ

slim-themes パッケージをインストールします:

# pacman -S slim-themes archlinux-themes-slim

archlinux-themes-slim パッケージにはテーマが複数入っています (slimthemes.png)。 /usr/share/slim/themes ディレクトリで ls して利用できるテーマを見て下さい。/etc/slim.conf の current_theme 行に使いたいテーマ名を入力します:

#current_theme       default
current_theme       archlinux-simplyblack

起動している Xorg サーバーインスタンスでテーマをプレビューするには:

$ slim -p /usr/share/slim/themes/<theme name>

終了するには、Login 行に "exit" と入力して Enter を押して下さい。

また、追加のテーマパッケージが AUR にあります。

デュアルスクリーンの設定

/usr/share/slim/themes/<your-theme>/slim.theme で slim テーマのパーセント値をカスタマイズできます。ボックス自体は 450 px × 250 px です:

input_panel_x           50%
input_panel_y           50%

ピクセル値にする:

# この設定は "archlinux-simplyblack" パネルを 1440x900 スクリーンの中央に設定します
input_panel_x           495
input_panel_y           325
# この設定は "archlinux-retro" パネルを 1680x1050 スクリーンの中央に設定します
input_panel_x           615
input_panel_y           400

テーマに壁紙画像がある場合は background_style 設定 ('stretch', 'tile', 'center', 'color') を使って正しく壁紙を表示してください。詳しい説明は slim テーマについての公式ドキュメントを見て下さい。

他のオプション

カーソルを変更する

インストールした後、/etc/slim.conf を開き次の行をアンコメントします:

cursor   left_ptr

代わりに矢印が使われるようになります。この設定は xsetroot -cursor_name に優先します。使うことができるカーソルの名前はここ/usr/share/icons/<your-cursor-theme>/cursors/ の中で見ることができます。

ログイン画面で使われるカーソルを変更するには、/usr/share/icons/default/index.theme という名のファイルを次の内容で作って下さい:

[Icon Theme]
Inherits=<your-cursor-theme>

<your-cursor-theme> は使いたいカーソルテーマの名前に置き換えて下さい (例: whiteglass)。

SLiM とデスクトップの壁紙を同じにする

SLiM とデスクトップで壁紙を共有するには、使っているテーマの壁紙をリネームして、デスクトップの壁紙ファイルからデフォルトの SLim テーマへのリンクを作成します:

# mv /usr/share/slim/themes/default/background.jpg{,.bck}
# ln -s /path/to/mywallpaper.jpg /usr/share/slim/themes/default/background.jpg

SLiM からのシャットダウン・再起動・サスペンド・終了・ターミナルの起動

SLiM のログイン画面からシャットダウン・再起動・サスペンド・終了・ターミナルの起動をすることができます。ユーザー名にこれらを意味する変数を、パスワードに root パスワードを入力してください:

  • ターミナルを起動するには、ユーザー名に console と入力します (デフォルトは xterm で予めインストールしておく必要があります、利用するターミナルを変えるには /etc/slim.conf を編集して下さい)
  • シャットダウンするには、ユーザー名に halt と入力します
  • 再起動するには、ユーザー名に reboot と入力します
  • slim を終了して bash に戻るには、ユーザー名に exit と入力します
  • サスペンドをするには、ユーザー名に suspend と入力します (サスペンドはデフォルトでは無効になっています、/etc/slim.conf を root 権限で開き suspend_cmd 行をアンコメントしてください、必要ならサスペンドコマンドも変更してください (例: /usr/sbin/suspendsudo /usr/sbin/pm-suspend にする))

Splashy でのパワーオフエラー

Splashy と SLiM を使っていて、ときどき GNOME, Xfce, LXDE などのメニューからパワーオフ・再起動ができなくなるかもしれません。/etc/slim.conf/etc/splash.conf を開いて、DEFAULT_TTY=7xserver_arguments vt07 と同じように設定してください。

パワーオフのトレイアイコンが使えない

パワーオフのトレイアイコンが失敗する場合、root 権限がないのが原因かもしれません。トレイアイコンを root 権限を使って実行するには、/etc/slim.conf を以下のように編集します:

sessionstart_cmd 	/path/to/tray/icon/program &

SLiM のログイン情報

デフォルトでは、SLiM はログイン情報のログを utmp と wtmp に記録することに失敗し、そのため who や last などがログイン情報の報告を誤ります。これを修正するためには、 slim.conf を編集し、以下のようにします:

 sessionstart_cmd    /usr/bin/sessreg -a -l $DISPLAY %user
 sessionstop_cmd     /usr/bin/sessreg -d -l $DISPLAY %user

カスタム SLiM ログインコマンド

セッションやユーザー、slim が使うテーマなどの情報のログを残すために /etc/slim.conf の sessionstart_cmd/sessionstop_cmd を使うこともできます:

 sessionstop_cmd /usr/bin/logger -i -t ASKAPACHE "(sessionstop_cmd: u:%user s:%session t:%theme)"
 sessionstart_cmd /usr/bin/logger -i -t ASKAPACHE "(sessionstart_cmd: u:%user s:%session t:%theme)"

また、slim がロードされたときに (beep プログラムを使って) 曲を再生するには:

 sessionstart_cmd /usr/bin/beep -f 659 -l 460 -n -f 784 -l 340 -n -f 659 -l 230 -n -f 659 -l 110

SLiM と Gnome Keyring

ノート SLiM 1.3.5-1 は ログイン時にキーリングを外すように /etc/pam.d/slim を設定済みです。ユーザーは、このファイルを変更する必要はもうありません。
警告 自動ログインが有効になっていると、GNOME キーリングがログイン時に自動的に解除されなくなります。これによって Chrome/Chromium や NetworkManager などのアプリケーションの挙動がおかしくなることがあります (https://bbs.archlinux.org/viewtopic.php?id=167579 を参照)。

カスタムセッションにGNOME キーリングを利用したい場合には、GNOME Keyring#GNOME は使わないがディスプレイマネージャは使用する を参照してください。

SLiM で DPI を設定

一般的に DPI の設定は Xorg で行いますが、SLiM で指定することもできます。/etc/X11/xinit/xserverrc 内で -dpi 96 を使って DPI を設定しても、それが SLiM に反映されない場合、これを修正するには slim.conf 内の:

 xserver_arguments   -nolisten tcp vt07 

 xserver_arguments   -nolisten tcp vt07 -dpi 96

に変えてください。

テーマをランダムに使う

current_theme にカンマで区切った複数のテーマをセットすると、ランダムに選ばれます。

全てのセッションを他の VT に移動する

tty ターミナル 3−6 を使用しないようにしたいかもしれません (screen を使用するとき、ターミナルは一つしか必要ないからです)。

それで、X サーバに移動するには、 /etc/slim.conf ファイル内の数字を一つ編集する必要があります。以下の行です。

xserver_arguments -nolisten tcp vt07

vt07 を vt03 に変更するだけで、agetty が起動しないようになります。

暗号化した /home をログイン時に自動でマウントする

pam_mount を使うことができます。

キーボードレイアウトの変更

/etc/X11/xorg.conf.d/10-evdev.conf を開いて、以下のセクションを探し、太字の部分 (dvorak はあなたのキーマップに置き換えて下さい) を追加してください:

Section  "InputClass"
          Identifier "evdev keyboard catchall"
          MatchIsKeyboard "on"
          MatchDevicePath "/dev/input/event*"
          Driver "evdev"
       
          # Keyboard layouts
          Option "XkbLayout" "dvorak"
EndSection

全ての Slim オプション

slim の全ての設定オプションとそのデフォルト値の一覧です。

ノート welcome_msg では、%host%domain の2つの変数を利用可能です。

sessionstart_cmd (login_cmd の直前に実行される) と sessionstop_cmd では、%user が、

login_cmd では %session%theme が利用可能です。

アンインストール

完全に SLiM を削除するには:

 # pacman -Rns slim
 # rm /etc/systemd/system/display-manager.service

既知の問題

systemd との非互換性

ディスプレイマネージャ#systemd との非互換性を参照してください。

参照