お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2011-10-08 17:26:25

QP
新しいメンバ
登録日: 2011-10-07

Firefoxでローカルファイルの表示ができない

先日、ubuntu 7.10 から 8.04→ 10.04 → 10.10 → 11.04 と順に
アップグレードしました。
Firefox は 3.6.23 になり、さらに7.01なっています。
アップグレード後、Firefox でローカルファイルの表示ができなくなってしまいました。

URL に file:///opt/aaa/bbb/のように入力すると
ファイル名が一覧表示されますが、
その一覧の中にある ccc.html や ddd.jpg などの個別のファイルを
クリックしても何も変化しません。
URL 欄はディレクトリ名のままで、ファイル名は表示されません。
エラーメッセージが表示されるわけでもなく何も変わらないのです。

ところが、
「Ubuntu 11.04へようこそ!」のページ
file:///usr/share/ubuntu-artwork/home/locales/index-ja_JP.html
は正常に表示できるし、
file:///home/hoge/の中にある xxx.html や yyy.jpg も正常に表示されます。

そこで先ほど表示できなかった /opt/aaa/bbb/ccc.html を
/home/hoge/ の下にコピーすると
/home/hoge/ccc.html の内容は正常に表示できます。

ccc.htmlやddd.jpgなどの個別のファイルはずっと以前に作成したもの
ですが、 ubuntu をアップグレードする前は上記のような問題は無かった
のでファイルの内容自体には問題がないと思います。

何らかの理由で、ディレクトリやファイルのオーナーとかアクセス権の設定が
変わったのかと思って確認したのですが、以前と変わっていないように見えます。

別のブラウザではどうかと思い、GNOME ウェブブラウザ (Epiphany) 2.30.6
をインストールしてみたところ、こちらは正常に表示できました。

ubuntu のフォーラム は今回始めて見たのですが、類似の現象として、
「 デスクトップ向けソフトウェア」のところに
2010-11-19 05:53:24
「別パーティション上にあるhtmlファイルをFirefoxで閲覧できない」
というタイトルの質問があるのを見つけましたが、回答はゼロのままです。

次に何をすればよいでしょうか? どなたかご教示頂ければ幸です。

オフライン

 

#2 2011-10-09 09:08:20

QP
新しいメンバ
登録日: 2011-10-07

Re: Firefoxでローカルファイルの表示ができない

> 別のブラウザではどうかと思い、GNOME ウェブブラウザ (Epiphany) 2.30.6
> をインストールしてみたところ、こちらは正常に表示できました。

さらに、Google Chrome もインストールしてみました。
Chrome でも表示はできました。ただし、日本語が全面的に化けていますが・・ (^_^;;

何となくFirefox自体の問題、アップデートしたことで何らかの設定が変わったのかもという気がしてきました。
もう少し様子を見てから(どなたからも反応がなければ)、もじらジャパンのFirefoxサポートで質問してみようかと思います。

オフライン

 

#3 2011-10-09 09:56:32

hmatsue
アドバイザ
登録日: 2009-03-10

Re: Firefoxでローカルファイルの表示ができない

どのようなディレクトリ構成になっているのか、
マウントされているボリュームはどこに、どの形式のファイルシステムでマウントされているのか、
読める場所/ファイルと読めない場所/ファイルはどのようなものがあるか、

コード:

sudo apparmor_status

を実行して、apparmorの設定状況を確認し、apparmorでfirefoxの動作が制限されていないか、
なにかfirefoxプラグインが邪魔をしていないか、

コード:

firefox -safe-mode

でfirefoxを起動してプラグインなどを無効化した状態で同じ挙動を示すか、
などを確認することから始めてみてはいかがでしょう。

オフライン

 

#4 2011-10-09 10:59:19

miraihack
メンバ
From: 東京都千代田区
登録日: 2011-10-09

Re: Firefoxでローカルファイルの表示ができない

file://で右クリックしてソースを表示すると、

> 300: file:///var/log/apache2/
> 200: filename content-length last-modified file-type
> 201: access.log 0 Sun,%2004%20Sep%202011%2022:35:23%20GMT FILE
> 201: access.log.1 645 Sat,%2003%20Sep%202011%2022:57:47%20GMT FILE

という感じで1行目に現在のディレクトリ、2行目に目次、3行目以降にファイル情報が
見えるはずですが、この表示は問題のディレクトリでもきちんと出るでしょうか?

オフライン

 

#5 2011-10-09 12:53:07

QP
新しいメンバ
登録日: 2011-10-07

Re: Firefoxでローカルファイルの表示ができない

hmatsue さん、ご回答有難うございます。

> どのようなディレクトリ構成になっているのか、
> マウントされているボリュームはどこに、どの形式のファイルシステムでマウントされているのか、
> 読める場所/ファイルと読めない場所/ファイルはどのようなものがあるか、

これらはあとで調べるとして、取り敢えずご教示頂いたコマンドライン2つを試してみました。
・firefox -safe-mode は、現象は変わらず、表示できません。
・sudo apparmor_status は、下記のようになりました。

firefox-7.0.1 という行が3行ありますが、これは何を意味しているのでしょうか?
何かの動作が制限されているということでしょうか?
というか、そもそも apparmor_status とは何かということも分かってません。
ヘルプを見てもよくわからず、man page も、
apparmor_status will report various aspects of the current state of
AppArmor confinement.
とのことですが、AppArmor confinement の現在の状態って何?って感じで意味不明です。
疑問だらけで申し訳ありません。

--------------------------------------------
sudo apparmor_status
[sudo] password for xxxxxxxx
apparmor module is loaded.
15 profiles are loaded.
15 profiles are in enforce mode.
   /sbin/dhclient
   /usr/bin/evince
   /usr/bin/evince-previewer
   /usr/bin/evince-thumbnailer
   /usr/lib/NetworkManager/nm-dhcp-client.action
   /usr/lib/connman/scripts/dhclient-script
   /usr/lib/cups/backend/cups-pdf
   /usr/lib/firefox-7.0.1/firefox{,*[^s][^h]}
   /usr/lib/firefox-7.0.1/firefox{,*[^s][^h]}//browser_java
   /usr/lib/firefox-7.0.1/firefox{,*[^s][^h]}//browser_openjdk
   /usr/sbin/cupsd
   /usr/sbin/mysqld-akonadi
   /usr/sbin/mysqld-akonadi///usr/sbin/mysqld
   /usr/sbin/tcpdump
   /usr/share/gdm/guest-session/Xsession
0 profiles are in complain mode.
2 processes have profiles defined.
2 processes are in enforce mode :
   /sbin/dhclient (543)

オフライン

 

#6 2011-10-09 16:22:35

QP
新しいメンバ
登録日: 2011-10-07

Re: Firefoxでローカルファイルの表示ができない

miraihackさん、有難うございます。

問題のディレクトリで右クリックしてソースを表示すると、例で示されたのと同様に
1行目に現在のディレクトリ、2行目に目次、3行目以降にファイル情報が表示されます。

なお、問題のディレクトリの中にあるhtmlファイルを右クリックして「新しいタブで開く」を
選択すると、新しいタブのタブ名のところとURL欄にはディレクトリ名とファイル名が表示される
ものの、ウィンドウのなかは真っ白で何も表示されません。

オフライン

 

#7 2011-10-09 18:29:09

miraihack
メンバ
From: 東京都千代田区
登録日: 2011-10-09

Re: Firefoxでローカルファイルの表示ができない

下記のFirefoxヘルプで、ローカルファイルが開けない時の
エラーの判定方法や、解決策としてLocalLink拡張機能が紹介されています。

http://support.mozilla.com/ja/kb/%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%BE%E3%81%9F%E3%81%AF%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E4%B8%8A%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%B8%E3%81%AE%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%8C%E5%88%A9%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84

記事は少し古く、エラーコンソールは「ツール」→「WEB開発」→「エラーコンソール」になりますが、
エラーコンソールを立ち上げてローカルファイルを開くと何と表示されるでしょうか。

また、LocalLink拡張は7.0.1でも動くようですが、こちら導入されてみてはいかがでしょうか。

オフライン

 

#8 2011-10-10 08:49:05

QP
新しいメンバ
登録日: 2011-10-07

Re: Firefoxでローカルファイルの表示ができない

miraihackさん、有難うございます。

お示し頂いたドキュメントを見ると「セキュリティ対策として、Firefox はインターネット上の
サイトに対して、ローカルコンピュータにあるファイルへリンクすることを禁止しています」
と書いてあるので「何、そんなことしているのか。原因はこれだな?」と喜び勇んで試してみました。

ドキュメントに従い、Firefoxで問題のリンクが含まれるページを表示してから、
「ツール」→「WEB開発」→「エラーコンソール」を開き「消去」「すべて」のボタンを押し、
問題のリンクをクリックしましたがエラーコンソールには何も表示されず空白のままでした。
う~む、残念。

オフライン

 

#9 2011-10-10 16:59:20

hmatsue
アドバイザ
登録日: 2009-03-10

Re: Firefoxでローカルファイルの表示ができない

QP による投稿:

・sudo apparmor_status は、下記のようになりました。

firefox-7.0.1 という行が3行ありますが、これは何を意味しているのでしょうか?
何かの動作が制限されているということでしょうか?

QP による投稿:

--------------------------------------------
sudo apparmor_status
[sudo] password for xxxxxxxx
apparmor module is loaded.
15 profiles are loaded.
15 profiles are in enforce mode.
   /sbin/dhclient
   /usr/bin/evince
   /usr/bin/evince-previewer
   /usr/bin/evince-thumbnailer
   /usr/lib/NetworkManager/nm-dhcp-client.action
   /usr/lib/connman/scripts/dhclient-script
   /usr/lib/cups/backend/cups-pdf
   /usr/lib/firefox-7.0.1/firefox{,*[^s][^h]}
   /usr/lib/firefox-7.0.1/firefox{,*[^s][^h]}//browser_java
   /usr/lib/firefox-7.0.1/firefox{,*[^s][^h]}//browser_openjdk
   /usr/sbin/cupsd
   /usr/sbin/mysqld-akonadi
   /usr/sbin/mysqld-akonadi///usr/sbin/mysqld
   /usr/sbin/tcpdump
   /usr/share/gdm/guest-session/Xsession
0 profiles are in complain mode.
2 processes have profiles defined.
2 processes are in enforce mode :
   /sbin/dhclient (543)

apparmorについては、
https://wiki.ubuntu.com/AppArmor
https://help.ubuntu.com/community/AppArmor
http://ubulog.blogspot.com/2009/06/ubuntu-apparmor.html
あたりが参考になるかと思います。
私の環境では、firefoxはenforce modeになっていない、つまり、実際にはfirefoxの動作は制限されておらず、これが、Ubuntu 11.04クリーンインストール時のデフォルトの状態であったと思います。
QPさんの環境では、firefoxがenforce modeとなっており、動作が制限された状態になっています。
/etc/apparmor.d/以下のfirefoxの設定ファイルを確認すると具体的にどのような動作が許可されているのか確認することができます。

firefoxをapparmorで動作制限させないようにするには、

コード:

sudo aa-disable /etc/apparmor.d/usr.bin.firefox

として下さい。

あるいは動作制限させつつ、特定の動作を許可する場合には、/etc/apparmor.d/local/usr.bin.firefoxに追加の設定をしていただくとよいかと思います。

なお、apparmorの設定ファイルの書式詳細は、私も正確には理解していないため、ドキュメント類を参照下さい。

オフライン

 

Board footer

Powered by FluxBB