2021-01-30

【備忘録】ファイルをデフォルトアプリで開く

Python のスクリプトから、特定のファイル、例えば Excel のファイルをデフォルトのアプリ(この場合は Excel)で開きたい時、subprocess.Popen'explorer' と、開きたいファイルのパスを渡して開いています。もちろんこれは Windows でスクリプトを実行する場合です。

それでは Linux ではどうするか。Excel ファイルを Linux で扱うことができますが、アプリはもちろん Microsoft Office ではありません。LibreOffice や WPS Office など複数の選択肢があります。デスクトップ環境は GNOME ばかりではないので、'nautilus' に頼るわけにも行きません。さらに、これらのアプリが Flatpak でインストールされている場合もあります。

そんなとき、Freedesktop.org の xdg-open を使えば良いことが判ったので、備忘録としました。

Python でファイルをデフォルトアプリで開く例
        :
        :
    def open_file_with_app(self, name_file):
        path = pathlib.PurePath(name_file)

        if platform.system() == 'Linux':
            app_open = 'xdg-open'
        else:
            app_open = 'explorer'

        subprocess.Popen([app_open, path])
        :
        :

Fedora では xdg-utils というパッケージに収録されています。

[bitwalk@fedora-pc ~]$ rpm -qf /usr/bin/xdg-open
xdg-utils-1.1.3-7.fc33.noarch
[bitwalk@fedora-pc ~]$ rpm -qi xdg-utils
Name        : xdg-utils
Version     : 1.1.3
Release     : 7.fc33
Architecture: noarch
Install Date: 2020年09月30日 16時38分09秒
Group       : Unspecified
Size        : 319997
License     : MIT
Signature   : RSA/SHA256, 2020年07月31日 05時29分30秒, Key ID 49fd77499570ff31
Source RPM  : xdg-utils-1.1.3-7.fc33.src.rpm
Build Date  : 2020年07月31日 05時25分40秒
Build Host  : buildvm-a64-17.iad2.fedoraproject.org
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://portland.freedesktop.org/
Bug URL     : https://bugz.fedoraproject.org/xdg-utils
Summary     : Basic desktop integration functions
Description :
The xdg-utils package is a set of simple scripts that provide basic
desktop integration functions for any Free Desktop, such as Linux.
They are intended to provide a set of defacto standards.
This means that:
*  Third party software developers can rely on these xdg-utils
   for all of their simple integration needs.
*  Developers of desktop environments can make sure that their
   environments are well supported
*  Distribution vendors can provide custom versions of these utilities

The following scripts are provided at this time:
* xdg-desktop-icon      Install icons to the desktop
* xdg-desktop-menu      Install desktop menu items
* xdg-email             Send mail using the user's preferred e-mail composer
* xdg-icon-resource     Install icon resources
* xdg-mime              Query information about file type handling and
                        install descriptions for new file types
* xdg-open              Open a file or URL in the user's preferred application
* xdg-screensaver       Control the screensaver
* xdg-settings          Get various settings from the desktop environment
[bitwalk@fedora-pc ~]$ 

参考サイト

  1. xdg-utils
  2. 【 xdg-open 】コマンド――ファイルをデフォルトアプリケーションで開く:Linux基本コマンドTips(310) - @IT [2019-06-06]

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村

0 件のコメント: