スポンサーサイト
投稿日時 : -------- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- --:-- | スポンサー広告
Ubuntuでsmbfsを使用しているとシャットダウン時にフリーズ
投稿日時 : 2009-06-08 01:44
 Ubuntu9.04(それ以前のバージョンでも)でsmbfsを使用してWindows共有フォルダをマウントしていると、Ubuntuのシャットダウン(再起動)時に、
CIFS VFS: server not responding
CIFS VFS: no response for cmd ## mid ###
 
のようなメッセージ(#は起動毎に異なる数字が入る)が表示され、長い時間そのままフリーズしたようになる現象が起きます。しばらく待てばちゃんと終了されるんですが、気持ち悪いのでこの問題をなんとかします。
 ちなみにシャットダウン時にこういったメッセージを見るには、「/boot/grub/menu.lst」のkernelオプションの「quiet」と「splash」を削除して再起動しておく必要があります。
 

一時的な回避方法

 エラーメッセージに「CIFS」があることからも、smbfsを利用したWindows共有フォルダのマウントに関係する問題だということが分かります。Ubuntuの終了プロセス中にWindows共有フォルダをアンマウントするわけですが、その際になぜかWindows側の応答待ちになって、タイムアウトするまでUbuntuがプチフリーズしている、といった挙動のように見受けられます。それならUbuntuの終了、再起動前に
sudo umount -a
とコマンドを打って、あらかじめアンマウントしておけばいいのでは?と思いやってみると一応これで回避できることを確認しました。
 

根本的な解決方法

 一時的な回避策でうまくいくことからも、つまりはしかるべきタイミングでアンマウントされていればよさそうだということがわかります。そのあたりを調べているとubuntu.comの公式ドキュメントに情報を発見。
 
MountWindowsSharesPermanently - Community Ubuntu Documentation
sudo update-rc.d -f umountnfs.sh remove
sudo update-rc.d umountnfs.sh stop 15 0 6 .
最後の「.」(ピリオド)を忘れないように。これでスムーズにシャットダウンできるようになります。
 

update-rc.d コマンドは何をしているのか

 上記の update-rc.d コマンドが何をしているか簡単に言うと、Ubuntuの終了プロセス、再起動プロセス中に「umountnfs.sh」という名前のスクリプトファイルがいつ、何を引数に実行されるのかを設定しています。この「umountnfs.sh」がどこにあるか/etc以下を検索して、その詳細情報を表示してみます(update-rc.dコマンド実行前)。
itmst@Ubuntu904:~$ sudo find /etc -name *umountnfs.sh -exec ls -l {} \;
[sudo] password for itmst: 
lrwxrwxrwx 1 root root 22 2009-03-31 18:01 /etc/rc0.d/S31umountnfs.sh -> ../init.d/umountnfs.sh
-rwxr-xr-x 1 root root 2140 2009-03-31 18:01 /etc/init.d/umountnfs.sh
lrwxrwxrwx 1 root root 22 2009-03-31 18:01 /etc/rc6.d/S31umountnfs.sh -> ../init.d/umountnfs.sh
「/etc/init.d/umountnfs.sh」がファイルの実体で、他の2つはその実体へのシンボリックリンクになっています。これらはLinuxのランレベル変更時に自動実行されるスクリプトの関連ファイルです。このあたりの話は以下の記事にまとめてあります。現在のUbuntuのディレクトリ構造とは多少異なりますが、動作原理はほぼ同じです。
 
Electronic Genome - ランレベルとサービス起動プロセスのまとめ
 
ファイル詳細情報から
  • ランレベル 0 のときに /etc/rc0.d 中にある優先度 30 以下のスクリプトが実行された後に /etc/init.d/umountnfs.sh が「start」を引数に実行される
  • ランレベル 6 のときに /etc/rc6.d 中にある優先度 30 以下のスクリプトが実行された後に /etc/init.d/umountnfs.sh が「start」を引数に実行される
ということが読み取れます。ディレクトリ名の数字からランレベル、ファイル名の 1 文字目から実行時の引数が start なのか stop なのか、2 文字目 3 文字目から実行優先度が分かります。
 
以下は関連ファイルの状態を確認しながら update-rc.d コマンドを実行したログです。
itmst@Ubuntu904:~$ sudo find /etc/ -name *umountnfs.sh ←実行前に確認
/etc/rc0.d/S31umountnfs.sh ←シンボリックリンク
/etc/init.d/umountnfs.sh ←実体ファイル
/etc/rc6.d/S31umountnfs.sh ←シンボリックリンク
itmst@Ubuntu904:~$ sudo update-rc.d -f umountnfs.sh remove
Removing any system startup links for /etc/init.d/umountnfs.sh ...
/etc/rc0.d/S31umountnfs.sh ←シンボリックリンク削除
/etc/rc6.d/S31umountnfs.sh ←シンボリックリンク削除
itmst@Ubuntu904:~$ sudo find /etc/ -name *umountnfs.sh ←削除確認
/etc/init.d/umountnfs.sh ←実体ファイルしか表示されない
itmst@Ubuntu904:~$ sudo update-rc.d umountnfs.sh stop 15 0 6 .
↑ランレベル0と6用のディレクトリに優先度15のstop用シンボリックリンク作成
Adding system startup for /etc/init.d/umountnfs.sh ...
/etc/rc0.d/K15umountnfs.sh -> ../init.d/umountnfs.sh ←シンボリックリンク作成
/etc/rc6.d/K15umountnfs.sh -> ../init.d/umountnfs.sh ←シンボリックリンク作成
itmst@Ubuntu904:~$ sudo find /etc/ -name *umountnfs.sh
/etc/rc0.d/K15umountnfs.sh
/etc/init.d/umountnfs.sh
/etc/rc6.d/K15umountnfs.sh
 
何が起こったかまとめると、
 /etc/rc0.d/S31umountnfs.sh
 /etc/rc6.d/S31umountnfs.sh
が削除されて
 /etc/rc0.d/K15umountnfs.sh
 /etc/rc6.d/K15umountnfs.sh
が生成されました。つまりランレベル 0 と 6 の時に /init.d/umountnfs.sh を優先度 31 で start を引数に実行させるためのシンボリックリンクが2つ削除されて、ランレベル 0 と 6 の時に /init.d/umountnfs.sh を優先度 15 で stop を引数に実行させるシンボリックリンクが2つ作成されたわけです。
 
実は大したことをしていないので手作業でもなんとかなりそうですね。
 

S31umountnfs.shはいらない子だったの?

 ところで、じゃあ削除された start 用のファイルはなんだったの?いらない子だったの?という疑問が浮かんだので /etc/init.d/umountnfs.sh のソースを見てみました。
 
/etc/init.d/umountnfs.sh (91~108行目あたり)
case "$1" in
  start)
        # No-op
        ;;
  restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
  stop|"")
        do_stop
        ;;
  *)
        echo "Usage: umountnfs.sh [start|stop]" >&2
        exit 3
        ;;
esac
startを引数に実行しても何もしていないことが判明。やっぱりいらない子でしたw。引数が start と stop 以外の restart、reload、force-reloadやその他の場合はエラーを返しています。引数が stop (と引数なし)の場合は do_stop 関数を呼び出しています。結局、stop が引数のときしか処理が行われていないことが判明しました。
 

Linux普及に向けて

 それにしてもsmbfsでWindows共有フォルダマウントするなんてUbuntu使いの多くの人がやることのような気がするので、デフォルトでシャットダウン時に umountnfs.sh を実行するようにしていてくれてもよさそうな気もするんですがどんなもんでしょう・・・
 まあ最近のWindowsのように「勝手なことすんじゃねー」と叫びたくなるほどお節介なのも問題ですが、ちょっとLinuxさわってみうようかなというライトユーザはこういうところで「やっぱりLinuxは難しい」と感じてしまうのではないかと思います。普及のためにも一考の余地ありかと思われます。
 
 
スポンサーサイト
2009-06-08 01:44 | Linux | Comment(0) | Trackback(0)
VMWare+Ubuntu9.04でオープンソース版VMWare Toolsを使う
投稿日時 : 2009-06-03 03:59
更新日時 : 2009-06-09 10:36
 VMWare Workstation6.5.2にUbuntu9.04のISOを読ませると、Ubuntu9.04が認識され「簡易インストール」を実行できます。XPなんかのときはほぼ全自動で問題なくセットアップをやってくれるので便利なんですが、Ubuntu9.04の場合、簡易インストールで自動インストールされるVMWareToolsは動作しないようです。さらに、キーボードは自動で英語配列が選択され、タイムゾーンも勝手に日本以外が設定されてしまいます。これはもう百害あって一利ナシなので簡易インストールは使用するべきではありません。
 

簡易インストールは選択しない

VMWare Install OS Later
 
「後でOSをインストール」を選択して仮想マシン一旦作成し、その後でUbuntu9.04のISOファイルをDaemon Toolsなどで仮想ドライブにマウントしてから、仮想マシンを再度起動、後は通常通りインストールします。
 

オープンソース版VMWare Toolsをインストールする

 オープンソース実装のVMWare Toolsが存在するようです。
 
VMware/LinuxにVMware Toolsをインストールする(Ubuntu 9.04編) - 俺の基地
 
この記事の通りにオープンソース版をインストールします。
sudo apt-get install open-vm-source open-vm-toolbox open-vm-tools open-vm-tools-dbg
 

もし既に簡易インストールした後なら

 もし簡易インストールしてしまった後なら、オープンソース版VMWare Toolsのインストール中に「既に設定ファイルがあるけど、新しい方のメンテナのファイル使う?」的な意味の英語の質問が表示されます。古い設定ファイルは標準VMWare Toolsのものなので、Y(またはI)を入力して新しいファイルで上書きします。
 

オープンソース版VMWare Toolsで何ができるか

 いったんログオフして再度ログインするとVMWare Toolsの機能が有効になっています。でオープン版のVMWare Toolsで何ができるかというと、たぶん標準版と変わりません。
  • VMwareのウィンドウ幅変更をトリガにゲストOSの解像度自動変更
  • マウスカーソルがホストOSとゲストOS間でシームレスになる
  • ドラッグ&ドロップによるファイル転送(ゲスト→ホストの方向のみ)
  • テキストのコピペ(ゲスト←→ホスト)
  • ファイルのコピペ転送(ゲスト←→ホスト)
追記(2009-06-09 10:36):ホスト→ゲスト方向のテキストのコピペとファイルのコピペ転送ができる時とできない時があるようです。原因が分かったらまた別記事で報告します)
 
他にも何か機能が追加されているのかな?まあ目立つ機能は上記のものだと思います。
 
 
2009-06-03 03:59 | Linux | Comment(0) | Trackback(0)
Ubuntu8.04のデフォルトのvimはsyntax onできない
投稿日時 : 2009-05-31 23:58
 Ubuntu8.04でデフォルトでインストールされているvimは予約語などで色分け表示する設定の「syntax on」が有効にできません。以下のような設定ファイルをつくり、
~/.vimrc
set fileencodings=iso-2022-jp,utf-8,shift-jis,euc-jp
set number
set ruler
set nowrap
syntax on
次にvimを起動しようとすると
itmst@mv1c3e:~$ vim .vimrc
Error detected while processing /home/itmst/.vimrc:
line    5:
E319: Sorry, the command is not available in this version: syntax on
Press ENTER or type command to continue
「設定ファイル処理してたら5行目でエラー出た。すまんけどこのバージョンじゃsyntax on使えないから」と表示される。検索すると
 
www.cyberciti.biz
Ubuntu Linux comes with tiny version of vim.
「Ubuntuには最小構成バージョンのvimが入ってるよ」ってことらしく、じゃあどうすればいいかというと
www.cyberciti.biz
All you need to do is installed full vim version by typing following command:
  $ sudo apt-get install vim
「次のコマンド打ってフルバージョンのvimインストールするだけでおk」。
 
やってみる。
itmst@mv1c3e:~$ sudo apt-get install vim
[sudo] password for itmst: 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  vim-runtime

(省略)

古いパッケージ vim-tiny 中のファイルを置換しています ...
未選択パッケージ vim を選択しています。
(.../vim_1%3a7.1-138+1ubuntu3.1_i386.deb から) vim を展開しています...
vim-runtime (1:7.1-138+1ubuntu3.1) を設定しています ...
Processing /usr/share/vim/addons/doc

vim (1:7.1-138+1ubuntu3.1) を設定しています ...
古いパッケージとして「vim-tiny」がインストールされていたのが分かります。
これで「syntax on」が通るようになっています。
 
 
 Ubuntuは7.04から使ってますが今までこの作業した記憶がない。やったけど忘れてるだけなのか8.04からvim-tinyになったのか・・・。
 
 
2009-05-31 23:58 | Linux | Comment(1) | Trackback(0)
Ubuntu8.04でUSB無線LANアダプタWLI-U2-G54HPを使う
投稿日時 : 2009-05-27 19:49
 長年使っていたメディアコンバータWN-AG/Cがウンともスンとも言わなくなったので、WLI-U2-G54HPを購入。安いくせにバカにできない性能。Amazonで注文してからLinuxドライバのことを考えてなかった自分に気づく。最近Cygwinでいろいろ事足りてたせいか。とりあえずUbuntu8.04入れてあるノートのMV1-C3Eにつないでみたが反応なし。仕方ないので久々にがんばってみた。

■まずはNDISWrapperに期待してみる

 ここやそのリンク先のここあたりを見るとSynapticでNDISWrapper入れて純正のドライバで動きそうな感じだったので瞬殺wとか思ってたら全然動かないねw
 

■NDISWrapperはナシの方向で

 1時間ほどNDISWrapperに時間かけてみたけど状況が好転しないので「@IT:LinuxでWindows用無線LANドライバを利用するには」や「@IT:NdisWrapperでWindows用無線LANドライバが動作しない場合は」を参考に独自ドライバ入れればよさげだと分かる。
 

■チップ調査

 とりあえず無線LANコントローラがどこのメーカのものかというのが重要なので調査。まずはlsusbでUSBポートに刺さってるメーカを確認。
itmst@mv1c3e:~/tmp$ lsusb
Bus 003 Device 001: ID 0000:0000  
Bus 002 Device 008: ID 0411:00d9 MelCo., Inc. 
Bus 002 Device 003: ID 045e:0737 Microsoft Corp. 
Bus 002 Device 002: ID 0409:0059 NEC Corp. HighSpeed Hub
Bus 002 Device 001: ID 0000:0000  
Bus 001 Device 001: ID 0000:0000 
MelCo(=Buffalo)って書いてある行の「0411:00d9」が後々重要。続けてlshw。
itmst@mv1c3e:~/tmp$ sudo lshw
(省略)
  *-network
       description: Wireless interface
       physical id: 3
       logical name: wlan0
       serial: 00:1d:73:a1:5b:c1
       capabilities: ethernet physical wireless
       configuration: broadcast=yes multicast=yes wireless=RT73 WLAN
無線LAN機器だということはちゃんと認識されている。まあUSBの規格上当然か。ここで最後の「RT73 WLAN」がヒントになりそうなのでググるとすばらしげな記事発見。
 
Kozupon.com - RT73 無線LANデバドラセットアップ指南!
 

■ソースコードゲット

 で、後はここに書いてあるとおりにやればOK・・・とは行かないんですねw。パソコン触る人なら分かると思いますがw。
 
でもまあこれでドライバのソースコードには行き着いたっぽい。
SourceForge.net: rt2400/rt2500 Linux Driver: Files
 
rt73-cvs-daily.tar.gzってファイルを落としてきて展開。
itmst@mv1c3e:~/tmp$ tar xzf rt73-cvs-daily.tar.gz 
 

■ソースコード編集

 で、この先は上記の指南通り行けたらほんとによかったんですが、その通りにやってもWLI-U2-G54HPでは動きませんでした。ネットを彷徨ってるとどうやらソースを少し書き換える必要がありそうなことが判明。
 
BUFFALO WLI-U2-SG54HP - system2222 - livedoor Wiki(ウィキ)
 
rt73-cvs-daily.tar.gzを解凍してできた「./Module/rtmp_def.h」にWLI-U2-G54HPの情報を書き加える。
system2222
3.
解凍して出てきたファイル群の中に、rtmp_def.hというファイルがあるので開き、
最後尾付近の、 
{USB_DEVICE(0,0)}} /* end marker */
という行の直前に、下記を記述して保存。
{USB_DEVICE(0x0411,0x00d8)}, /* BUFFALO WLI-U2-SG54HP */\
これをヒントに書き換えを行う。この例では型番がWLI-U2-SG54HPで、今回のWLI-U2-G54HPとは少し違う。けどほとんど同じ。vimで編集する。
itmst@mv1c3e:~/tmp/rt73-cvs-2009041204/Module$ vim rtmp_def.h 
上の例では「最後尾付近」に追記するとあるが、808行目あたりからメーカ別に情報を列挙した「VID/PID」というブロックが始まっていてちょうど「Buffalo」の項目もある。ここに書いた方がわかりやすそう。
(省略)
//-------------------
// VID/PID
//-------------------

#define RT73_USB_DEVICES { \
 /* AboCom */\
 {USB_DEVICE(0x07b8,0xb21d)},\
 /* Askey */\
 {USB_DEVICE(0x1690,0x0722)},\
 /* ASUS */\
 {USB_DEVICE(0x0b05,0x1723)},\
 {USB_DEVICE(0x0b05,0x1724)},\
 /* Buffalo */\
 {USB_DEVICE(0x0411,0x00d8)},   /* WLI-US-SG54HP */\
 {USB_DEVICE(0x0411,0x00d9)},   /* WLI-U2-G54HP */\ ←この行を追記
 {USB_DEVICE(0x0411,0x00f4)},\
 /* Belkin */\
 {USB_DEVICE(0x050d,0x7050)},\
 {USB_DEVICE(0x050d,0x705a)},\
 {USB_DEVICE(0x050d,0x905b)},\
 {USB_DEVICE(0x050d,0x905c)},\
 /* Billionton */\
 {USB_DEVICE(0x1631,0xc019)},\
 /* CNet */\
 {USB_DEVICE(0x1371,0x9022)},\
 {USB_DEVICE(0x1371,0x9032)},\
 /* Conceptronic */\
 {USB_DEVICE(0x14b2,0x3c22)},\
 /* Corega */\
 {USB_DEVICE(0x07aa, 0x002e)}, /* CG-WLUSB2GPX*/\
(省略)
この「VID」はおそらく「VendorID」で「PID」は「ProductID」と思われる。この書き方からして0x0411はMelCo(=Buffalo)のことだと推測される。これははじめの方でlsusbコマンドで調べておいた情報がそのまま使えそうな雰囲気。PIDも元から記述されていた「WLI-US-SG54HP」の「0x00d8」のひとつ違いで「0x00d9」。まあ間違いなさそう。ちなみに「/* WLI-U2-G54HP */」はただのコメントなのでなくても可。でも行末の改行のエスケープは忘れずに。
 

■コンパイル

 追記がすんだら:wqで保存終了。いよいよコンパイルしてみる!makeします。
itmst@mv1c3e:~/tmp/rt73-cvs-2009041204/Module$ sudo make
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.24-24-generic' に入ります
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/rtmp_main.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/mlme.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/connect.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/rtusb_bulk.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/rtusb_io.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/sync.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/assoc.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/auth.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/auth_rsp.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/rtusb_data.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/rtmp_init.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/sanity.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/rtmp_wep.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/rtmp_info.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/rtmp_tkip.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/wpa.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/md5.o
  CC [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/rt2x00debug.o
  LD [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/rt73.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/itmst/tmp/rt73-cvs-2009041204/Module/rt73.mod.o
  LD [M]  /home/itmst/tmp/rt73-cvs-2009041204/Module/rt73.ko
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.24-24-generic' から出ます
!!! WARNING: Module file much too big (>1MB)
!!! Check your kernel settings or use 'strip'
*** Module rt73.ko built successfully
通った!「rt73.ko」というドライバファイルの完成です。次はmake installでインストール。
itmst@mv1c3e:~/tmp/rt73-cvs-2009041204/Module$ sudo make install
*** Install module in /lib/modules/2.6.24-24-generic/extra ...
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.24-24-generic' に入ります
  INSTALL /home/itmst/tmp/rt73-cvs-2009041204/Module/rt73.ko
  DEPMOD  2.6.24-24-generic
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.24-24-generic' から出ます
/sbin/depmod -a
*** Update /etc/modprobe.d/ralink alias for wlan*
*** Install firmware in /lib/firmware ...
*** Check old config ...
 

■ドライバをロードする

 再起動してもいいんですがコマンドで手動でロードしてみます。/sbin/modprobeを使います。
itmst@mv1c3e:~/tmp$ sudo modprobe rt73
itmst@mv1c3e:~/tmp$ cat /proc/modules | grep rt73 ←ロード済み確認
rt73 217088 0 - Live 0xf0de1000
usbcore 146412 6 rt73,prism2_usb,usbhid,ehci_hcd,ohci_hcd, Live 0xf08ce000
modprobeした瞬間に、全点灯していたWLI-U2-G54HPのステータスランプがPOWERランプのみが点灯になる。iwconfigコマンドでも正しく認識されていることが確認できます。
itmst@mv1c3e:~/tmp$ iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     RT73 WLAN  ESSID:""  
          Mode:Managed  Frequency=2.412 GHz  Bit Rate=54 Mb/s   
          RTS thr:off   Fragment thr:off
          Link Quality=0/100  Signal level:-121 dBm  Noise level:-111 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
 

■最後の手順

 最後に以下のようにネットワークサービスを再起動。
itmst@mv1c3e:~/tmp$ sudo /etc/init.d/networking restart
とすれば動きだす!かと思ったら無反応w。タスクバーのネットワークアイコンから一度ネットワークを無効にして再度有効にするか、USBケーブルを挿し直すと問題なく動作開始。接続が確認できたのでよしとする。
 
 
 
本来はMDISWrapperで動くのが一番スマートなんだろうからもう少し調べてみようかなー
 
 
 
2009-05-27 19:49 | Linux | Comment(0) | Trackback(0)
UbuntuのFirefoxでツールバーアイコンが消える件
投稿日時 : 2008-12-03 13:53
 Ubuntu8.10のFirefox3でカスタマイズで自分好みに配置したツールバーアイコンが消えることが今まで度々あった。カスタマイズウィンドウ内にも消えたアイコンは表示されておらず、localstore.rdfを削除してアイコンの配置を初期化して一からやりなおしていました。まあさほど困ってなかったので放置してたんですが、急に原因が気になってきたので調べてみたらあっさり解決。
 
 原因はUbuntuのFirefoxにデフォルトでインストールされる「Ubuntu Firefox Modifications」というアドオンとTabMixPlusの競合でした。この「Ubuntu Firefox Modifications」はパッケージ名「ubufox」としてUbuntuをインストールした時点で勝手に入っています。でこのubufoxが何か重要なものなのかというと
Ubuntu Firefox specific configuration defaults and apt support
 
Extension package for Firefox provides ubuntu specific configuration defaults as well as apt support for firefox plugins/extensions.
 
You can uninstall this package if you prefer to use a pristine firefox install.
ということで大したことをしてないようです。検索すると削除して問題ないとのことなので消えてもらいます。やはりTabMixPlusが優先でしょう。
$ sudo apt-get remove ubufox
 
synapticからubufoxで検索しても出ます。
 
remove ubufox
 
ふつうは削除しなくてもアドオンの管理画面でUbuntu Firefox Modificationsを無効にするだけでいいんですが、うちはDropboxでプロファイルフォルダ共有してるので「UbuntuでFF起動してUFM無効→WindowsでFF起動→UbuntuでFF起動→UFM復活」となってしまうので削除することに。
 

■ubufoxをxpiでバックアップ

 ubufoxは/usr/share/ubufoxにアドオンの構成ファイルそのままで存在してるので、これをxpiにパッケージングしておけばいいかも。ということでやってみた。xpiはただのzipファイルなのでzipで固めて出力ファイルをxpiにすればできあがりです。「-r9」の「r」はサブフォルダを含める再帰処理で「9」は圧縮率。0-9で圧縮率を変更できます。
itmst@vm-ubuntu8:/usr/share/ubufox$ ls
chrome  chrome.manifest  components  defaults  install.rdf  searchplugins.bak
itmst@vm-ubuntu8:/usr/share/ubufox$ zip -r9 ~/Desktop/ubufox.xpi *
  adding: chrome/ (stored 0%)
  adding: chrome/ubufox.jar (deflated 76%)
  adding: chrome.manifest (deflated 80%)
  adding: components/ (stored 0%)
  adding: components/pluginGlue.js (deflated 58%)
  adding: defaults/ (stored 0%)
  adding: defaults/preferences/ (stored 0%)
  adding: defaults/preferences/ubufox-pfs.js (deflated 37%)
  adding: defaults/preferences/ubufox.js (deflated 22%)
  adding: defaults/preferences/ubuntu-mods.js (deflated 59%)
  adding: defaults/preferences/000system.js (deflated 34%)
  adding: install.rdf (deflated 53%)
  adding: searchplugins.bak/ (stored 0%)
  adding: searchplugins.bak/ask.xml (deflated 55%)
これで共有プロファイルとは別のプロファイルに個別にインストールしなおすことが可能。実際に試してみたところ、ubufox.xpi作成→ubufoxをsynapticで削除→FFでUFM消えてること確認→ubufox.xpiをD&Dインストールで一応動いてるっぽいです。
 
 
2008-12-03 13:53 | Linux | Comment(0) | Trackback(0)
[openSUSE11.0] IPAモナーフォントのインストールメモ
投稿日時 : 2008-07-29 13:22
 「[openSUSE11.0] インストールから日本語フォントの設定まで」でIPAフォントのインストールは完了しましたが、よりキレイな気がするIPAモナーフォントもインストールしてみました。
 
 UbuntuではIPAモナーフォントはデフォルトでインストール済みですが、openSUSEでは適当にリポジトリ追加したりビルドサービス検索したりしてみましたが見つからず。仕方ないので手動インストールに挑戦。フォントの手動インストールは初めてでしたが、やってみて分かったのはこれはopenSUSEに限らず一般的なフォントのインストール方法だと思われるということ。
 
IPAモナーフォントは以下のサイトで配布されています。
 
IPAモナーフォント
 
ダウンロードして解凍します。ダウンロードにwget使ってますがFirefoxなどでダウンロードしてもかまいません。
> wget http://www.geocities.jp/ipa_mona/opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8.tar.gz
(省略)
> tar xvzf opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8.tar.gz 
(省略)
opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/
opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/Makefile.am
opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/Makefile.in
opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/COPYING.font.ja
opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/ipag-mona.ttf
opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/ipagp-mona.ttf
opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/ipagui-mona.ttf
opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/ipam-mona.ttf
opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/ipamp-mona.ttf
opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/README_ipamona.txt
opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/doc/
(省略)
 
ipamonaディレクトリを作って.ttfファイルだけ移動させます。
> mkdir ipamona
> mv opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/*ttf ipamona
 
まとめたディレクトリごと/usr/share/fontsに移動させます。
> sudo mv ipamona /usr/share/fonts
 
所有者とアクセス権を変更します。
> sudo chown root:root -R /usr/share/fonts/ipamona
> sudo chmod 755 /usr/share/fonts/ipamona
> sudo chmod 644 /usr/share/fonts/*
 
一応確認しておきます。
> ls -l /usr/share/fonts/ipamona
合計 17612
-rw-r--r-- 1 root root 3336792 2008-04-19 17:45 ipag-mona.ttf
-rw-r--r-- 1 root root 3341584 2008-04-25 00:34 ipagp-mona.ttf
-rw-r--r-- 1 root root 3057904 2008-04-19 17:45 ipagui-mona.ttf
-rw-r--r-- 1 root root 4124140 2008-04-19 17:45 ipam-mona.ttf
-rw-r--r-- 1 root root 4145932 2008-04-19 17:46 ipamp-mona.ttf
> ls -ld /usr/share/fonts/ipamona
drwxr-xr-x 2 root root 4096 2008-07-29 13:16 /usr/share/fonts/ipamona
 
 これでフォント選択ダイアログなどからIPAモナーフォントが選択可能になっています。Xの再起動は必要ないみたいです。
 
これ/etc/X11/xorg.confのFontPathに追加しなくていいのかな?
 
 
[参考]
つつみくんのLinux記その67(IPAフォントをインストール) - つつみくんのLinux記 - 楽天ブログ(Blog)
 
 
2008-07-29 13:22 | Linux | Comment(0) | Trackback(0)
[openSUSE11.0] mp3やFlashなどを再生可能にするメモ
投稿日時 : 2008-07-16 14:43
 mp3などのプロプライエタリなソフトウェアは特許やらポリシーやら何やらでopenSUSE本体とは一緒に配布することができません。なのでmp3やDVDを再生したいときはユーザが自分で作業する必要があります。本来は個別にインストールして面倒な作業になりますが、以下で配布されているympファイルを使えば一括インストール可能です。
 
Multimedia - openSUSE-Community
download
このひとつのパッケージで以下のものが一括でインストールされます。
  • Flash
  • Java
  • Latest Amarok (with MP3 Support) for KDE, or Helix-Banshee for GNOME users
  • Encrypted DVD (libdvdcss)
  • Extra xine Codecs, for MPEG-4 etc. (libxine1)
  • K3b with MP3 Support (k3b-codecs)
  • Win 32 Codecs (w32codec-all)
他にもオプションでOpera, KMPlayer, Kplayer, MPlayer, Azureus, VLC, Codeineなどの様々なソフトウェアをインストールすることが可能なようです。
 
install 1
 
以下のリポジトリが追加されます。[openSUSE] 必須リポジトリの追加で追加したリポジトリとURIがかぶっているものもあります。重複している場合は後で削除しても構わない(・・・と思う)。
install 2
 
GnuPGの取り込みを許可します。第三者のリポジトリを追加するときは危険が伴うことを認識し、信頼できるリポジトリ提供者かどうかを確認するようにした方がよさそうです。
install 3
 
install 4
 
完了。
install 5
 
mp3などをAmarokなど対応プレーヤで再生できるか確認する。そのほかYouTubeやニコニコ動画でFlash、ヤフオクの「詳細な残り時間」などでJavaの動作が確認できました。
 
 


2008-07-16 14:43 | Linux | Comment(0) | Trackback(0)
[openSUSE11.0] nvidiaドライバのインストールメモ
投稿日時 : 2008-07-16 14:19
 openSUSE11.0をインストールして明らかにおかしかった点は10秒に一回ぐらい画面が点滅すること。グラボがnvidiaなのでそのせいだろうとは思っていましたが、昔nvidiaドライバ関係の問題でXが起動不能になって修復を断念した経験が何度かあったので後回しにしていましたw。FreeBSDとはportsの依存関係問題とnvidiaドライバ問題が原因で決別しました。
 で、openSUSE11.0をインストールしてまだ半日も経ってないので勝手も分からず苦戦するんじゃないかと心配していましたが、実際にはあまりに簡単すぎて拍子抜けしました。
 
 今回の記事を参考にする方は一つ前のエントリ「[openSUSE] 必須リポジトリの追加」にあるように「NVIDIA Repository」を追加しておいてください。
 
 「NVIDIA Repository」リポジトリを追加した後にYaSTの「ソフトウェアの管理」を開いて「nvidia」で検索すると、勝手にグラボの型番調べて適合するドライバにチェックが入った状態で結果が表示されました。
 
nvidia install
 驚くべきことに後は「了解」ボタンを押すだけでしたw
 
nvidia install complete
メインメニューの「コンピュータ」→「システム情報」で確認。
 
 X関係を再起動する必要があるのでいったんログアウトして再ログインすると、画面が点滅する現象は消えました。
 
2008-07-16 14:19 | Linux | Comment(0) | Trackback(0)
[openSUSE11.0] 必須リポジトリの追加
投稿日時 : 2008-07-16 13:27
 ライセンスの関係でFedoraやopenSUSEには配布時にプロプライエタリなソフトウェアが一切含まれていません。このため、mp3などの音声やwmvなどのビデオのコーデックなどがデフォルトではインストールされていないので再生することができません。mp3やwmvが再生できると謳っているxmmsやmplayerなどのソフトウェアであっても公式リポジトリに登録されているものはコーデックを抜いた状態で配布されるているのでそういった形式のファイルを再生することはできません。
 
 ということで公式リポジトリ以外のリポジトリを追加する必要が出てきます。openSUSEでは公式以外のコミュニティリポジトリなどの追加が簡単にできるようになっています。メインメニューの「コンピュータ」→「YaST」→「ソフトウェアリポジトリ」を開いて「追加」ボタンを押して「コミュニティリポジトリ」を選択して「次へ」。コミュニティリポジトリに分類されているリポジトリの一覧が出るので必要なものにチェックをいれます。Repositories - openSUSE-Communityによると、とりあえず大体の人に共通して有用なのは
  • Packman Repository
  • メインリポジトリ(オープンソース)
  • メインリポジトリ(非オープンソース)
  • メインアップデートリポジトリ
あたりのようです。「メイン~」のものはデフォルトで登録されている公式のものと同じです。URIが重複しているようなら追加の必要はありません。
NVIDIAのグラボ積んでる場合は
  • NVIDIA Repository
もここで追加することができます。
 
repository 1
チェックを入れて「OK」。
 
repository 2
リポジトリのインストール開始。
 
repository 3
 途中GnuPG取り込みダイアログが出ます。書いてある通りですが公式以外の第三者のリポジトリを追加する危険性については理解しておくべきです。もちろん今回はYaST経由で取得したリストから選択したものなので信用しても問題ないと思います。FTPやHTTPのURIを手入力するような場合はスペル間違いなども含めいっそう注意が必要です。
 
 リポジトリの追加が完了すればYaSTの「オンライン更新」や「ソフトウェアの管理」で検索したときなどに追加前とヒットするものが変わるはずです。
 
 
[参考]
パッケージリポジトリ - openSUSE
Yastへのパッケージ・リポジトリの追加 - openSUSE
Repositories - openSUSE-Community
 
 
2008-07-16 13:27 | Linux | Comment(0) | Trackback(0)
[openSUSE11.0] 音量を上げても音が小さいときの設定
投稿日時 : 2008-07-16 12:58
FedoraやUbuntuでもそうだったけど、openSUSE11.0もインストール直後はマスターボリュームと物理ボリュームをマックスに上げても低音がまったくない、蚊の鳴くような音しか出ない。うちの環境だけなのかもしれないけど。
 こういうときはサウンドミキサーKMixを開いて(デスクトップ上のボリュームアイコンをクリックして「ミキサー」とか)、「設定」→「チャンネルを設定」を開く。
 
external amplifier
 
「External Amplifier」にチェックを入れて閉じるとミキサーに「External Amplifier」が追加される。
 
check external amplifier
 
 これの「ミュート」にチェックを入れると音声が通常の大きさで出力されるようになる。ただしチェックを入れた瞬間に音が大きくなるので何か音声を再生しながら作業するときは注意したほうがよさげ。
 
 10.3ではサウンドデバイス自体が認識されなくて面倒だったので放置したんだけど、今回初めてopenSUSEの音が聞けた。ウィンドウ最大化したり閉じたりするときに効果音が出るんですねー。10.3もそうだったかは知りませんが。
 
 
2008-07-16 12:58 | Linux | Comment(0) | Trackback(0)
<これ以前の記事
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。