Difference between revisions of "SLiM (日本語)"

From ArchWiki
Jump to: navigation, search
m
m (SLiM を有効にする)
Line 32: Line 32:
  
 
'''slim''' [[Daemons (日本語)|デーモン]]を有効にしてください。systemd では、{{ic|inittab}} を使って slim を有効にすることはできなくなりました。
 
'''slim''' [[Daemons (日本語)|デーモン]]を有効にしてください。systemd では、{{ic|inittab}} を使って slim を有効にすることはできなくなりました。
 +
 +
Note: すでに他のログインマネージャを使っている場合は、まずそれを無効にしておいてください。例えば、kdm から slim に切り替える時は:
 +
{{bc|
 +
$ sudo systemctl disable kdm
 +
rm '/etc/systemd/system/display-manager.service'
 +
$ sudo systemctl enable slim
 +
ln -s '/usr/lib/systemd/system/slim.service' '/etc/systemd/system/display-manager.service'
 +
}}
  
 
=== シングル環境 ===
 
=== シングル環境 ===

Revision as of 09:36, 15 March 2013

概要 help replacing me
Simple Login Manager についての全体的な説明。
関連項目
Display Manager (日本語)

SLiM は Simple Login Manager の頭文字を取った造語です。SLiM はシンブルで、軽量かつ設定が容易です。SLiM には GNOMEKDE が必要なく、Xfce, Openbox, Fluxbox などの軽量なデスクトップのために使われることがあります。

インストール

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

設定

SLiM を有効にする

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

slim デーモンを有効にしてください。systemd では、inittab を使って slim を有効にすることはできなくなりました。

Note: すでに他のログインマネージャを使っている場合は、まずそれを無効にしておいてください。例えば、kdm から slim に切り替える時は:

$ sudo systemctl disable kdm
rm '/etc/systemd/system/display-manager.service'
$ sudo systemctl enable slim
ln -s '/usr/lib/systemd/system/slim.service' '/etc/systemd/system/display-manager.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

Note: zsh が何かわかってなかったりインストールしてなかったら、このパラグラフは無視して下さい。

デフォルトのログインコマンドではあなたの環境を正しく初期化できません [source]。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
Note: slim の最新版 (1.3.5) では、デフォルトセッションのプリセットは行われず、'DEFAULT_SESSION' 変数を使ってもそれが反映されません。代わりにデフォルトセッションにしたいものを最後に置いて |*) を付けて下さい (上を参照)

テーマ

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-cursorAUR パッケージを利用してください。

インストールした後、/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 にする))

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=7xserver_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

If you use a screensaver you also have to add

auth    optional        pam_gnome_keyring.so

to /etc/pam.d/gnome-screensaver for example (replace gnome-screensaver with slimlock, slock, whatever you use). If you don't do that, your keyring is locked when screen is locked by your screensaver and not unlocked again after logging back in.

However, this fix alone no longer works since Gnome 2.30. Further changes are necessary as described here. Modifying the login_cmd line in /etc/slim.conf:

login_cmd exec ck-launch-session dbus-launch /bin/bash -login ~/.xinitrc %session >~/.xsession-errors 2>&1

As of GNOME 3, simply adding dbus-launch after ck-launch-session will work, without needing to edit /etc/pam.d/slim.

As of GNOME 3.1, you need to add dbus-launch after ck-launch-session and edit /etc/pam.d/{slim,passwd}, otherwise the keyring will not be automatically unlocked. I never tried it on 3.0, so maybe the above information about GNOME 3 is wrong.

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 above mentioned code

login_cmd exec ck-launch-session dbus-launch /bin/bash -login ~/.xinitrc %session >~/.xsession-errors 2>&1

will work, but when you try to power off or reboot the system from GNOME menu it will drop you into the SLiM screen. To solve this problem, use the code below

login_cmd exec dbus-launch --exit-with-session /bin/bash -login ~/.xinitrc %session >~/.xsession-errors 2>&1

ck-launch-session is no longer necessary as stated here.

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 を使うことができます。

全ての Slim オプション

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

Note: welcome_msg allows 2 variables %host and %domain
sessionstart_cmd allows %user (execd right before login_cmd) and it is also allowed in sessionstop_cmd
login_cmd allows %session and %theme

アンインストール

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

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

See also