如何讓evince在啟動時開啟最後一個文件?

如何讓evince在啟動時開啟最後一個文件?

有什麼辦法可以讓證據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 秒保存會話(開啟的 pdf),或執行第二個程式(如用於載入和關閉 evince 的切換按鈕)證據會話)。

相關內容