コマンドラインでflatpak okularを使用してファイルを開く方法は?

コマンドラインでflatpak okularを使用してファイルを開く方法は?

flatpakでokularエイリアスをインストールし、次のように設定しました。

alias okular="org.kde.okular"

端末で開くことができます。ただし、そのエイリアスを使用して端末でファイルを開こうとすると、次のようになります。

okular document.pdf

それではうまくいきません。私は何が間違っていましたか?

GUIを使用する代わりにokular flatpakを使用して端末でファイルを開く方法はありますか?

修正する:

だからこれを見つけました。協会:

--file-forwardingこのオプションを指定すると、残りの引数がスキャンされ、「@@」引数ペアの間に含まれるすべての引数がファイルパスとして解釈され、ドキュメントストアにエクスポートされ、コマンド結果のドキュメントパス形式で渡されます。 。 '@@u'と '@@'の間のパラメータはurisとして扱われ、すべてのファイル:uriがエクスポートされます。エクスポートは非​​永続的であり、アプリケーションに対する読み取りおよび書き込み権限を持ちます。

もちろん、これがokular flatpakを使用して端末でファイルを開く唯一の方法は、次のことを意味するわけではありません。

flatpak run okular.kde.org --file-forwarding @/home/user/documents/document.pdf@

開きたいすべてのPDFに対してこれを行うことはできません。別のPDFを開くときに長いコマンドを入力する必要がないようにエイリアスとして追加するにはどうすればよいですか?

ベストアンサー1

flatpak与えられた(単一の)引数の前後に表示して追加する方法で呼び出されるシェル関数@(実行しないのでテストされていませんflatpak):

okular () {
    flatpak run org.kde.okular --file-forwarding "@$1@"
}

これは、一般的なエイリアスを入力する場所ならどこにでも行くことができ、次のように使用できます。

okular /home/user/documents/document.pdf

コマンドラインから。


関数が任意の数の引数を受け入れるようにするには、次のように使用できます。

okular () {
    for arg do
        set -- "$@" "@$arg@"
        shift
    done

    flatpak run org.kde.okular --file-forwarding "$@"
}

@このループは、各コマンドライン引数の先頭と末尾に追加されます。

これにより、次のように使用できます。

okular *.pdf

おすすめ記事