SLiM (日本語)
| 概要 |
|---|
| Simple Login Manager についての全体的な説明。 |
| 関連項目 |
| Display Manager (日本語) |
SLiM は Simple Login Manager の頭文字を取った造語です。SLiM はシンブルで、軽量かつ設定が容易です。SLiM には GNOME や KDE (日本語) が必要なく、Xfce (日本語), Openbox (日本語), Fluxbox などの軽量なデスクトップのために使われることがあります。
インストール
設定
SLiM を有効にする
slim デーモンを有効にしてください。systemd では、inittab を使って slim を有効にすることはできなくなりました。
systemctl enable slim.service
シングル環境
特定の環境をロードするよう SLiM を設定するには、{{ic|~/.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
それぞれの環境をどうやって起動するかについての詳しい説明は、それぞれのページを参照してください。
SLiM はローカルの ~/.xinitrc を読み込み、ファイルに書かれたデスクトップを起動します。~/.xinitrc がない場合、スケルトンファイルを使うことができます:
$ cp /etc/skel/.xinitrc ~
~/.xinitrc を実行可能にすることを忘れないで下さい:
chmod +x ~/.xinitrc
自動ログイン
特定のユーザーに自動でログインするようにするには /etc/slim.conf で以下を変更してください。
# default_user simone
この行をアンコメントし、"simone" を自動でログインしたいユーザーに変えます。
# auto_login no
この行をアンコメントし 'no' を 'yes' に修正します。これで自動ログイン機能が有効になります。
Zsh
デフォルトのログインコマンドではあなたの環境を正しく初期化できません [source]。/etc/slim.conf 内の login_cmd 行を次のように修正してください:
#login_cmd exec /bin/sh - ~/.xinitrc %session login_cmd exec /bin/zsh -l ~/.xinitrc %session
マルチ環境
複数のデスクトップ環境を選択できるようにするには、あなたが選んだ環境にログインするように SLiM をセットアップします。
~/.xinitrc ファイルに以下のような case 文を入れて、case 文のトリガになる名前を /etc/slim.conf のセッション変数に設定してください。ログイン時に F1 を押すことでセッションを選択できます。この機能は実験的なものです。
# Adapted from: http://svn.berlios.de/svnroot/repos/slim/trunk/xinitrc.sample case $1 in kde) exec startkde ;; xfce4) exec startxfce4 ;; wmaker) exec wmaker ;; blackbox) exec blackbox ;; icewm|*) icewmbg & icewmtray & exec icewm ;; esac
テーマ
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 テーマについての公式ドキュメントを見て下さい。
他のオプション
カーソルを変更する
デフォルトの X カーソルのデザインを変えるには、slim-cursor パッケージを利用してください。
インストールした後、/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にする))
rc.d デーモンでの SLiM init エラー
If you initialize SLiM with /etc/rc.conf inside the DAEMONS array and it fails to initialize it's most likely a lock file issue. SLiM creates a lock file in /var/lock on each initialization, however, in most cases the lock folder in /var does not exist preventing SLiM from initializing. Check to make sure /var/lock exists, if it does not you can create it by typing the following:
# mkdir /var/lock/
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 のログイン情報
By default, SLiM fails to log logins to utmp and wtmp which causes who, last, etc. to misreport login information. To fix this edit your slim.conf as follows:
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 を使って Gnome セッションを起動していてキーリングへのアクセスが失敗する場合、以下の行を /etc/pam.d/slim に追加してください (as discussed here)。
auth optional pam_gnome_keyring.so session optional pam_gnome_keyring.so auto_start
/etc/pam.d/passwd に追加する必要もあります:
password optional pam_gnome_keyring.so
スクリーンセーバーを使う場合は /etc/pam.d/gnome-screensaver (gnome-screensaver はあなたが使っているものにあわせて slimlock, slock などに置き換えてください) に以下を追加する必要があります。
auth optional pam_gnome_keyring.so
追加しておかないと、スクリーンセーバーによって画面がロックされたときにあなたのキーリングがロックされてログインしなおした後にアンロックされなくなります。
しかしながら、Gnome 2.30 からこの修正だけでは十分でなくなりました。ここで記述されているように次の変更が必要です。/etc/slim.conf の login_cmd 行を修正:
login_cmd exec dbus-launch /bin/bash -login ~/.xinitrc %session >~/.xsession-errors 2>&1
As of GNOME 3.4, you need to edit /etc/pam.d/{slim,passwd} as mentioned above, so that /etc/pam.d/slim looks like:
#%PAM-1.0 auth requisite pam_nologin.so auth required pam_env.so auth required pam_unix.so auth optional pam_gnome_keyring.so account required pam_unix.so session required pam_limits.so session required pam_unix.so session optional pam_gnome_keyring.so auto_start password required pam_unix.so
and /etc/pam.d/passwd
#%PAM-1.0 password required pam_unix.so sha512 shadow nullok password optional pam_gnome_keyring.so
As of 2012-10-13, /etc/pam.d/gnome-screensaver already contains the pam_gnome_keyring.so instruction.
The correct positioning of the pam_gnome_keyring.so instructions were taken from here.
After editing the above files, you need to edit /etc/inittab.
The solutions mentioned here and also further information are found here.
If you have problems keeping the keyring unlocked for longer sessions, there is another thing that Gnome does:
Look at /etc/xdg/autostart/{gnome-keyring-gpg.desktop, gnome-keyring-pkcs11.desktop, gnome-keyring-secrets.desktop, gnome-keyring-ssh.desktop}.
Append the following lines to .xinitrc just before you start your wm (example here is awesome wm):
/usr/bin/gnome-keyring-daemon --start --components=gpg /usr/bin/gnome-keyring-daemon --start --components=pkcs11 /usr/bin/gnome-keyring-daemon --start --components=secrets /usr/bin/gnome-keyring-daemon --start --components=ssh /usr/bin/awesome
After login check if there is only one gnome-keyring-daemon instance running (ps -A ). If those lines are executed too early then you have 4 instances running which is not good.
You also should notice that seahorse for example does not show any pkcs11 errors anymore and that your keyring is unlocked all the time and does not lock itself anymore. Finally gnome-keyring is fully functional like in Gnome. See also here.
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 に移動する
Lets say you have commented out tty terminals 3-6 as you may not use them. (You may use screen and therefore only need one terminal)
So, to move the X-Server you need to change one number in the /etc/slim.conf file. Just a few lines down you should see:
xserver_arguments -nolisten tcp vt07
Simply change the vt07 to lets say vt03 as there is no agetty started there.
暗号化した /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 の全ての設定オプションとそのデフォルト値の一覧です。
| オプション名 | デフォルト値 |
|---|---|
| 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...
|
| sessions | wmaker,blackbox,icewm
|
| sessiondir | |
| 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