お知らせ

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

#1 2008-12-04 04:00:25

tettou77-1
新しいメンバ
登録日: 2008-12-04

[解決済み]IE6でディスク上のファイルが開けません

IEs4linuxでIE6をインストールしたのですが、ディスク上のhtmlファイルを開くことができません(FirefoxやOperaでは開けました)。
htmlファイルを右クリックして、「別のアプリで開く」からIE6を選ぶのですが、「ページを表示できません」と表示されて、存在しないアドレスを開こうとしたような扱いになります。
どうすれば開けるようになるでしょうか?

ちなみにUbuntuのverは8.04です。

よろしくお願いします。

最後の編集者: tettou77-1 (2008-12-04 12:54:52)

オフライン

 

#2 2008-12-04 08:14:48

STGSAGWAN
ゲスト

Re: [解決済み]IE6でディスク上のファイルが開けません

A. 簡単なやり方:
Wine上のIEのメニューから、
ファイル -> 開く -> 参照ボタンを押して、開きたいファイルを開けばOKです。


B. Ubuntuの右クリックの「別のアプリで開く」を使って開く方法
おそらくこちらの方をtettou77-1 様は望んでいるのだと思います。

前提:
1. ie6の起動シェルスクリプトが/home/username/bin/ie6 にある。
2. Ubuntu上の /home/username/foo.html というHTMLファイルを開きたい。

tettou77様が遭遇されたエラーの説明:
最初に、tettou77-1 様が遭遇されたエラーが何だったのか説明します。
Ubuntuの右クリックの「別のアプリで開く」を選択し、一覧にie6の起動シェルスクリプトを追加しても上手く動きません。この時何が起きているかというと、「別のアプリで開く」でHTMLファイルを開くと、/home/username/foo.html という文字列がWine上のIE(IEXPLORE.EXE)にパラメタとして渡されます。IEは渡されたパラメタ/home/username/foo.html という文字列の頭に http:// を自動で付与した後に http:///home/username/foo.html を開こうとしますが、そんなURLは実際には存在しないので、「ページが見つかりません」というエラーページが表示されるのです。

私が考えた解決方法:
解決方法は、/home/username/bin/ie6 のシェルスクリプト内からIEに渡す引数を少しだけ加工することで、例でいうならば、/home/username/foo.htmlの代わりに、Z:/home/username/foo.html が渡されるようにする、という方法です。実際、Ubuntu上の /home/username/foo.html にあるファイルは、Wine上から見ると、Z:\home\username\foo.html にあるように見えるのです(理由は省略しますので、「wine zドライブ」などで調べてみてください)。Z:/home/username/foo.html と Z:\home\username\foo.html は違う、と思われるかもしれませんが、IEはURLがスラッシュで区切られていても、その辺りは融通を効かすのか、スラッシュをバックスラッシュ(日本語のフォントでは円記号\)に自動で変換してくれるようです。
よって、引数の加工としては、頭に Z:をつけるだけでよいのです。

引数の加工手順:
ベタなやり方ですが、引数を加工して渡すように既存のシェルスクリプトを改造します。

1. ie6の起動シェルスクリプトをコピーします。(ここではコピー後のファイル名を ie6-openlocalfile とします)
2. コピー後のファイル(ie6-openlocalfile)を編集します。
具体的な編集はというと、下記の add >> 〜 add << で囲われた行を追加し、 upd >> 〜 upd << で囲われた部分については、IEXPLORE.EXEに続く"$@"が"${ARR[@]}"になるように変更します。
---------
else
# add >>
ROOTDRIVE='Z:'
ARR=""; IDX=0;
while [ "$1" != "" ] ; do
ARR[IDX]="${ROOTDRIVE}$1"
IDX=`expr $IDX + 1`
shift 1
done
# add <<
# upd >>
#( wine "/home/username/.ies4linux/ie6/drive_c/Program Files/Internet Explorer/IEXPLORE.EXE" "$@" 2>&1 ) | debugPipe
( wine "/home/username/.ies4linux/ie6/drive_c/Program Files/Internet Explorer/IEXPLORE.EXE" "${ARR[@]}" 2>&1 ) | debugPipe
# upd <<
fi
---------
3. 「別のアプリで開く」の登録では、「コマンドを直接指定する」に /home/username/bin/ie6-openlocalfile を指定します。
以上

# シェルスクリプトは慣れていないので、稚拙なロジックになっているかもしれません。
# もっと良い方法があったら、ご指導願います。

 

#3 2008-12-04 12:54:13

tettou77-1
新しいメンバ
登録日: 2008-12-04

Re: [解決済み]IE6でディスク上のファイルが開けません

「別のアプリで開く」で開けるように設定できました!

最近Ubuntuを始めたんですが、エラーに遭遇する度に勉強になりますね。
原因もよく分かりましたし、丁寧な説明ありがとうございました!

オフライン

 

Board footer

Powered by FluxBB