
Ubuntu日本語フォーラム

ログインしていません。
Ubuntu 11.04 を使用しています。
xdg-open filename とすれば、filenameのsuffixに応じたアプリケーションが立ち上がるような感じで、webで書かれていたので、試してみたのですが、
xdg-open x.pdf や xdg-open x.ppt などしてもlibreofficeが起動しません。
なぜ、アプリケーションが起動しないのかご教示頂けないでしょうか?
ちなみに、
xdg-open http://www.yahoo.co.jp の場合は、Browserにyahooのページが表示され、
xdg-open directory の場合は、Nautilusが立ち上がります。
オフライン
Ubuntuの標準状態ではPDFはevinceが起動されるようになっているはずなのですが、何も起動されないのでしょうか? もしかして、Nautilusの「プロパティ」などで関連付けを既に弄ってあるとかでしょうか。
状態を確認するには、「xdg-mime query filetype ファイル名」でMIMEタイプの検出をし、「xdg-mime query default MIMEタイプ」で起動されるアプリケーションがわかりますので確認してみてください。
$ xdg-mime query filetype test.pdf application/pdf $ xdg-mime query default application/pdf evince.desktop
あと、xdg-mimeやxdg-openは内部で使用するプログラムをデスクトップ環境で判断していますので、どの環境で実行したのかも記しておくと良いかもしれません。
オフライン
ちょっとわかりにくくなっているので補足。
Templer による投稿:
xdg-mimeやxdg-openは内部で使用するプログラムをデスクトップ環境で判断していますので
この使用するプログラムというのは、MIMEタイプに紐付けられたアプリケーションのことではなく、MIMEタイプの検出やopenするためのプログラムのことです。
オフライン
Templerさん、ご教示ありがとうございます。
「なぜ、アプリケーションが起動しないのかご教示頂けないでしょうか?」は、適切ではありませんでした。
情報を整理すると
デスクトップ環境: Ubunutuクラッシック(エフェクトなし)
yama@roswell:~/htdocs$ ls x.pdf
x.pdf
yama@roswell:~/htdocs$ xdg-mime query filetype x.pdf
application/pdf
yama@roswell:~/htdocs$ xdg-mime query default application/pdf
evince.desktop
yama@roswell:~/htdocs$ xdg-open x.pdf
すると、
/home/yama/htdocs/x.pdf を表示できませんでした。その場所はフォルダではありません
とダイアログが出てきます。
ちなみに、x.pdfは、Nautilus から開けます。
また、Nautilusで、ファイルの関連付けは弄っていません。
他に、何か確認する事や疑わしい事があればご教示お願いできますで消化?
オフライン
詳細な情報ありがとうございます。
こちらでも同現象を再現できました。(その立ち上がったダイアログは、Nautilusをファイルを指定して起動させた時のものです)
結論を言うと、バグです。
本来の通常の状態であれば「xdg-mime query default MIMEタイプ」の結果にあるアプリが起動されるはずなのですが、xfceのシステムの一部(exo-utilsらしい)がインストールされていると、GNOME系セッション上におけるxdg-openの振る舞いであるgnome-open(もしくはgvfs-open)の挙動を狂わせてしまうようです。
(ちなみに、この現象はPDFファイルに限らず、ファイルを指定した場合は同じ挙動となります)
私の確認したものは上記なのですが、それと一致しているのかを、xfce(というかexo)関連パッケージのインストールの有無で確認してみてください。
$ dpkg -l | grep exo ii exo-utils 0.6.0-1 Utility files for libexo ii libexo-1-0 0.6.0-1 Library with extensions for Xfce ii libexo-common 0.6.0-1 libexo common files
で、上記の方向でlaunchpadにバグ報告がないか調べてみました。
おそらく、これではないかと思います。
参照: https://bugs.launchpad.net/unity-place- … bug/751374
UnityのDash(左上のubuntuロゴをクリックした時に出現するボード)でも使われているようで、そこでも同現象になりますね。
それで、解決方法なんですが、「env GNOME_DESKTOP_SESSION_ID= xdg-open ファイル名」とかすれば私の環境と同じようにgenericな振る舞いになり、いけるんでは?と思ったんですがダメっぽいです。
一応、launchpadの#8に回避方法があります。が、xfce関連のパッケージを削除することができない場合において行うというのが良いかと思います。
後はもう、launchpadでstatusが「Fix Released」になるのを待つしかないかもしれません。
(他の方から良質な方法が提示されるかもしれませんので、ちょくちょくフォーラムを覗いておいてください)
ちなみに、起動するアプリを変更する方法は「xdg-mime default desktopファイル名 MIMEタイプ」です。
「desktopファイル名」は、「/usr/share/applications」もしくは「~/.local/share/applications」ディレクトリ内にある「.desktop」ファイルとなります。
以下は例。
xdg-mime default evince.desktop application/pdf
オフライン
もうひとつ同様の報告がありました。
参照: https://bugs.launchpad.net/ubuntu/+sour … bug/775640
もし、ファイルマネージャのthunarがインストールされていて、"本現象のxdg-open(gnome-open)によるファイルマネージャがThunarでも構わない" というのであれば、上記リンクの#10を参考にしてください。
thunarの場合はファイル名を渡されるとそのファイルを実行してくれますので、バグを利用しちゃいましょうというものです。
(Nautilusに拘らないのであれば、こちらのほうが良いですね)
オフライン
Templer さん、どうもありがとうございました。
おかげさまで、Thunar を利用することで、正常に動作するようになりました。
とてもうれしいです。
かさねがさね有難うございました。
オフライン