起動時に Evidence が最後のドキュメントを開くようにするにはどうすればよいですか?

起動時に Evidence が最後のドキュメントを開くようにするにはどうすればよいですか?

何か方法はあるでしょうか証拠 3.10起動時に最後に開いたドキュメントを自動的に読み込みますか?

答え1

システムのシャットダウン時に Evince の状態を保存し、システムの起動時に再ロードするスクリプトを記述することで、これを実行できます。ただし、Evince を閉じるときにこれを行う方法はわかりません。同様の質問の他の提案に基づいて、同様の解決策に取り組んできましたが、これまでのところ次のようになります (ただし、完全に機能していません)。

保存状態

#!/usr/bin/awk -f
# Note: this won't work yet, just saved version from command line
# Need to adjust to work as stand alone script

# State can be restored with `$ { xargs -d "\n" -a ~/.openpdfs evince; } &`,
# but this is probably not the best option

BEGIN { 
    cmd = "lsof"; 
    while ((cmd | getline) > 0) 
        if ($1=="evince"                                   \
                && /\/home\/.+\.[^. ]+$/                   \
                && !/\.(ttf|cache|log|i686-pc-linux-gnu)$/ \
                && sub(/^[^\/]+/, "")) 
                print > "'$HOME'/.openpdfs"; 
    close(cmd); 
}

状態を復元する

/usr/bin/xargs -d "\n" -a ~/.openpdfs /usr/bin/evince;

答え2

Ubuntu ユーザーの場合、他の回答に基づいて、最後に開いたドキュメントを読み込む簡単なアプリケーションを作成します。githubリポジトリこのlsofコマンドは、evince プロセスによって開かれた PDF を定期的にチェックし、最後の evince ウィンドウが閉じられる 15 ~ 30 秒前、または 2 番目のプログラム (evince セッションをロードして閉じるトグル ボタンなど) を実行する前にセッション (開かれた PDF) を保存します。

関連情報