24/7 twenty-four seven

iOS/OS X application programing topics.

Ubuntuで無線LANを使うとき、キーリングのパスワード入力を省略するには

Network Managerの代わりにWicdを使用する。

Network Managerを使用する場合は以下のように設定する。

Ubuntu 8.04 LTS "Hardy Heron"で無線LANを使うとき、キーリング(keyring)のパスワード入力を省略する方法

参考サイト

参考サイトの方法を色々と試したが、Ubuntu 8.04では次の方法が有効なようだ。

「pam_keyring」の最新のソースコードをダウンロードする。

$ cd /usr/src/
$ sudo wget http://www.hekanetworks.com/opensource/pam_keyring/pam_keyring-0.0.9.tar.gz

ソースコードを解凍する。

$ sudo tar zxfv pam_keyring-0.0.9.tar.gz

ビルドに必要なライブラリをインストールする。

$ sudo apt-get install build-essential libglib1.2-dev libglib2.0-dev
$ sudo apt-get install libtool libgnome-keyring-dev libpam0g-dev

ビルドしてインストールする(ここでは必要なバイナリのみをインストールするのでmake installはしない)。

$ cd /usr/src/pam_keyring-0.0.9
$ sudo ./configure --prefix=/usr
$ sudo make
$ sudo cp src/pam-keyring-tool /usr/bin/

バイナリを検証する。使用方法(usage)が表示されればOK。

$ /usr/bin/pam-keyring-tool --help

ログインスクリプト(unlock-keyring.sh)を作成する。

$ mkdir ~/scripts
$ sudo chmod 750 ~/scripts
$ touch ~/scripts/unlock-keyring.sh
$ sudo chmod 750 ~/scripts/unlock-keyring.sh
$ sudo gedit ~/scripts/unlock-keyring.sh

unlock-keyring.shを編集する(「PASSWORD_HERE」は自分のパスワード)。

#!/bin/bash
echo "PASSWORD_HERE" | /usr/bin/pam-keyring-tool -u -s

「システム」→「設定」→「セッション」から「自動起動するプログラム」に登録する。
「追加」ボタンを押して、以下のように入力。

名前:1-unlock-keyring
コマンド:~/scripts/unlock-keyring.sh

「/etc/pam.d/gdm-autologin」がデフォルトの状態になっていることを確認する。
以下の状態になっていればOK。

#%PAM-1.0
auth    requisite       pam_nologin.so
auth    required        pam_env.so readenv=1
auth    required        pam_env.so readenv=1 envfile=/etc/default/locale
auth    required        pam_permit.so
@include common-account
session required        pam_limits.so
@include common-session
@include common-password

このあと再起動すれば、キーリングのパスワードは自動的に入力される。