お知らせ

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

#1 2011-06-30 01:41:26

roswell
メンバ
登録日: 2008-10-30

xdg-open filename でアプリケーションが立ち上がらない

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が立ち上がります。

オフライン

 

#2 2011-06-30 17:42:20

Templer
メンバ
登録日: 2009-07-08

Re: xdg-open filename でアプリケーションが立ち上がらない

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は内部で使用するプログラムをデスクトップ環境で判断していますので、どの環境で実行したのかも記しておくと良いかもしれません。

オフライン

 

#3 2011-06-30 17:54:48

Templer
メンバ
登録日: 2009-07-08

Re: xdg-open filename でアプリケーションが立ち上がらない

ちょっとわかりにくくなっているので補足。

Templer による投稿:

xdg-mimeやxdg-openは内部で使用するプログラムをデスクトップ環境で判断していますので

この使用するプログラムというのは、MIMEタイプに紐付けられたアプリケーションのことではなく、MIMEタイプの検出やopenするためのプログラムのことです。

オフライン

 

#4 2011-07-01 13:03:39

roswell
メンバ
登録日: 2008-10-30

Re: xdg-open filename でアプリケーションが立ち上がらない

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で、ファイルの関連付けは弄っていません。

他に、何か確認する事や疑わしい事があればご教示お願いできますで消化?

オフライン

 

#5 2011-07-01 19:04:00

Templer
メンバ
登録日: 2009-07-08

Re: xdg-open filename でアプリケーションが立ち上がらない

詳細な情報ありがとうございます。
こちらでも同現象を再現できました。(その立ち上がったダイアログは、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

オフライン

 

#6 2011-07-02 02:24:00

Templer
メンバ
登録日: 2009-07-08

Re: xdg-open filename でアプリケーションが立ち上がらない

もうひとつ同様の報告がありました。
参照: https://bugs.launchpad.net/ubuntu/+sour … bug/775640

もし、ファイルマネージャのthunarがインストールされていて、"本現象のxdg-open(gnome-open)によるファイルマネージャがThunarでも構わない" というのであれば、上記リンクの#10を参考にしてください。
thunarの場合はファイル名を渡されるとそのファイルを実行してくれますので、バグを利用しちゃいましょうというものです。
(Nautilusに拘らないのであれば、こちらのほうが良いですね)

オフライン

 

#7 2011-07-04 13:35:23

roswell
メンバ
登録日: 2008-10-30

Re: xdg-open filename でアプリケーションが立ち上がらない

Templer さん、どうもありがとうございました。
おかげさまで、Thunar を利用することで、正常に動作するようになりました。
とてもうれしいです。
かさねがさね有難うございました。

オフライン

 

Board footer

Powered by FluxBB