開いているすべてのPDFファイルの名前を検索します(明白またはそうでない場合)。

開いているすべてのPDFファイルの名前を検索します(明白またはそうでない場合)。

私はしばしば多くのPDFファイルを開きます。通常、Chromeを使用してダウンロードし、evinceを使用してすぐに開きます。

場合によっては、同じ文書セットを後で再度開くことができるように、開いているすべてのPDFファイルの状態を保存したい場合があります。

これは、同じ文書セットを再起動して再開する必要がある場合に主に発生しますが、後で使用できるように開いている文書のリストを維持したい場合があります。

evinceまたは他のプログラムで開いているすべてのPDFファイルの名前をインポートする方法はありますか?それとも、少なくとも再起動後に同じドキュメントセットを再度開くようにデバイスに要求する方法はありますか?

ベストアンサー1

表示されているPDFの拡張子が.pdfであると仮定すると、以下は開いているPDFのリストを提供します。

$ lsof | grep ".pdf$"

Evinceのみを使用した場合は、Gillesの同様の回答を参照してください。マイコンピュータ(一部のPDFが開いている状態)では、出力は次のように表示されます。

evince    6267     myuser   14u      REG    252,0   363755    7077955 /tmp/SM.pdf

ファイル名を取得するには、次のものを使用できますawk

$ lsof | grep ".pdf$" | awk '{print $9}'

またはより良い、

$ lsof | awk '/.pdf$/ {print $9}'

これらの結果をファイルに保存できます。

$ lsof | awk '/.pdf$/ {print $9}' > openpdfs

その後、復元します。

$ xargs -a openpdfs evince

これを自動化するには、デスクトップ環境で提供されるメカニズムを使用して、シャットダウン時に「保存」コマンドを実行し、ログイン時に「開く」コマンドを実行できます。lsofユーザーに返されたPDFを開くようにして、より堅牢性を追加します。この方法の利点の1つは、コマンドライン引数を使用するすべてのPDFビューアで機能することです。 1つの欠点は、ファイル名に依存することです。ただし、いくつかの実験では、ファイル拡張子を知る必要があるという要件も排除できます。

おすすめ記事