vine-users ML アーカイブ



[vine-users:070293] Re: 起動時 に自動的に mozilla を立ち上げるには ?

  • From: "Ryow Takahashi" <ryow_t7i@xxxxxxxxxxxxxxxxx>
  • Subject: [vine-users:070293] Re: 起動時 に自動的に mozilla を立ち上げるには ?
  • Date: Thu, 3 Feb 2005 17:30:46 +0900
RYOW です。

On Wed, 2 Feb 2005 13:38:31 +0900
Satoru Otsubo <otsubo_p@xxxxxxxxxxxxxxx> wrote:

> $ less /var/log/messages | grep 'session opend for user -username-' とすると、
> 特定の -username- の人のログイン記録が出せそうなので、これをつかって最後に
> ログインした日時に基づき mizilla を起動するかいなかを決定するプログラムが
> 作れるかと思いますが、上記コマンドは root でないと許可されないので、困りますね。

lastlog コマンドなら一般ユーザでも OK です。

その日の最初のログインかどうかの判定方法があまいですが、例えば、こんなの
でどうでしょう。

---- ここから ----
#!/bin/bash

# あなたが起動する Mozilla を設定して下さい
moz_bin="/usr/local/bin/firefox"
# Mozilla 起動時に指定したいオプションがあれば、ここに設定して下さい
moz_opt=""
# Mozilla 起動時に開きたい URL を指定して下さい
url1="http://vinelinux.org/";
url2="http://www.linux.or.jp/";
url3="http://www.mozilla.org/";

today=`date +"%d" | sed "s/^0//"`
lastlogin=`lastlog | sed -n "/^$USER/s/.* \([1-3]*[0-9]\) .*/\1/p"`
if test $lastlogin -lt $today; then
  if ! $moz_bin $moz_opt -remote "openURL($url1, new-tab)" &> /dev/null; then
    $moz_bin $moz_opt $url1 &> /dev/null &
  fi
  until $moz_bin $moz_opt -remote "openURL($url2, new-tab)" &> /dev/null; do
    sleep 3
  done
  # これ以降、sleep の必要はありません
  $moz_bin $moz_opt -remote "openURL($url3, new-tab)" &> /dev/null
fi
---- ここまで ----

開きたいページがもっとあるのであれば、url3 の代わりに

  url_list="hoge.html fuga.html moga.html"

のように変数をリストにし、

  $moz_bin $moz_opt -remote "openURL($url3, new-tab)" &> /dev/null

の代わりに

  for url in $url_list; do
    $moz_bin $moz_opt -remote "openURL($url, new-tab)" &> /dev/null
  done

とすればいいと思います。

-- 
Ryow Takahashi
ryow_t7i@xxxxxxxxxxxxxxxxx