# SLiM (日本語)

関連記事

- ディスプレイマネージャ

Warning: 現在 SLiM は Systemd への対応が不完全で、2回目のログイン後に様々な問題が起こります。 これらの問題の概要については、ディスプレイマネージャ#systemd との非互換性を参照してください。

SLiM は Simple Login Manager の頭文字から名付けられました。SLiM は軽量で、設定が容易です。SLiM は最小限の依存しか要求せず、 GNOME や KDE デスクトップ環境は不要です。そのため、たとえば Xfce や Openbox, Fluxbox などの軽量なデスクトップを好むユーザーのためのシステムにも適しています。

## インストール

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

## 設定

Note: 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 を有効にする

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

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

### 単一のデスクトップ環境

Tip: 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 のそれぞれの記事を参照してください。

### 複数のデスクトップ環境

Note: 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>

### 自動ログインの有効化

Note: この機能を利用するにはまず、SLiM にデフォルトユーザー名を指定するだけではなく、単一のデスクトップ環境に設定する必要があります。
Warning: root アカウントで利用してはいけません。

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

    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/suspend` を `sudo /usr/sbin/pm-suspend` にする))

### Splashy でのパワーオフエラー

Splashy と SLiM を使っていて、ときどき　GNOME, Xfce, LXDE などのメニューからパワーオフ・再起動ができなくなるかもしれません。`/etc/slim.conf` と `/etc/splash.conf` を開いて、`DEFAULT_TTY=7` を `xserver_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

Note: SLiM 1.3.5-1 は ログイン時にキーリングを外すように `/etc/pam.d/slim` を設定済みです。ユーザーは、このファイルを変更する必要はもうありません。

カスタムセッションにGNOME キーリングを利用したい場合には、GNOME Keyring#Use Without 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 の全ての設定オプションとそのデフォルト値の一覧です。

Note: welcome_msg では、%host と %domain の2つの変数を利用可能です。

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

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

オプション名 | デフォルト値
--- | ---
default_path | `/bin:/usr/bin:/usr/local/bin`
default_xserver | `/usr/bin/X`
xserver_arguments | `vt07 -auth /var/run/slim.auth`
numlock |
daemon | `yes`
xauth_path | `/usr/bin/xauth`
login_cmd | `exec /bin/bash -login ~/.xinitrc %session`
halt_cmd | `/sbin/shutdown -h now`
reboot_cmd | `/sbin/shutdown -r now`
suspend_cmd |
sessionstart_cmd |
sessionstop_cmd |
console_cmd | `/usr/bin/xterm -C -fg white -bg black +sb -g %dx%d+%d+%d -fn %dx%d -T`
screenshot_cmd | `import -window root /slim.png`
welcome_msg | `Welcome to %host`
session_msg | `Session:`
default_user |
focus_password | `no`
auto_login | `no`
current_theme | `default`
lockfile | `/var/run/slim.lock`
logfile | `/var/log/slim.log`
authfile | `/var/run/slim.auth`
shutdown_msg | `The system is halting...`
reboot_msg | `The system is rebooting...`
sessiondir | `/usr/share/xsessions/`
hidecursor | `false`
input_panel_x | `50%`
input_panel_y | `40%`
input_name_x | `200`
input_name_y | `154`
input_pass_x | `-1`
input_pass_y | `-1`
input_font | `Verdana:size=11`
input_color | `#000000`
input_cursor_height | `20`
input_maxlength_name | `20`
input_maxlength_passwd | `20`
input_shadow_xoffset | `0`
input_shadow_yoffset | `0`
input_shadow_color | `#FFFFFF`
welcome_font | `Verdana:size=14`
welcome_color | `#FFFFFF`
welcome_x | `-1`
welcome_y | `-1`
welcome_shadow_xoffset | `0`
welcome_shadow_yoffset | `0`
welcome_shadow_color | `#FFFFFF`
intro_msg |
intro_font | `Verdana:size=14`
intro_color | `#FFFFFF`
intro_x | `-1`
intro_y | `-1`
background_style | `stretch`
background_color | `#CCCCCC`
username_font | `Verdana:size=12`
username_color | `#FFFFFF`
username_x | `-1`
username_y | `-1`
username_msg | `Please enter your username`
username_shadow_xoffset | `0`
username_shadow_yoffset | `0`
username_shadow_color | `#FFFFFF`
password_x | `-1`
password_y | `-1`
password_msg | `Please enter your password`
msg_color | `#FFFFFF`
msg_font | `Verdana:size=16:bold`
msg_x | `40`
msg_y | `40`
msg_shadow_xoffset | `0`
msg_shadow_yoffset | `0`
msg_shadow_color | `#FFFFFF`
session_color | `#FFFFFF`
session_font | `Verdana:size=16:bold`
session_x | `50%`
session_y | `90%`
session_shadow_xoffset | `0`
session_shadow_yoffset | `0`
session_shadow_color | `#FFFFFF`

## アンインストール

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

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

## 既知の問題

### systemd との非互換性

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

## 参照

- SLiM ホームページ
- SLiM ドキュメント

Category:

- Display managers (日本語)