コマンドラインを使用して、Google Chromeの開いているウィンドウのすべてのURLを異なるテキストファイルに保存します。そのためには、Ubuntu 16.04 LTSのどこでgoogleクロムが現在のgoogleクロムURLを保存するかを知る必要があります。
クロム用のスクリプトを作成したいのですが、Firefoxで この推奨事項 を試しましたが、機能しませんでした。 sessionstore.jsファイルがどこにも見つかりませんでした。
次の方法で、ユーザーのホームディレクトリ内のChromiumのディレクトリであるfind
を作成できます。
find $HOME -type d -name *mium -exec echo {} \;
結果は次のようになります。
/home/<user>/.config/chromium
/home/<user>/.cache/chromium
ディレクトリ/home/<user>/.config/chromium/Default
内には、役に立つ可能性のあるファイルがいくつかあります。
$ ls -1t $HOME/.config/chromium/Default | grep -i 'tabs\|sess'
Current Tabs
Current Session
Session Storage
Last Tabs
Last Session
問題は、 Firefoxのログファイル とは異なり、Chromiumのログファイルは読み取り可能な形式ではなく、タブの履歴を現在のURLから分離するのが難しいということです。
ただし、私のCurrent Session
内には、2つの開いているタブがあります。
https://askubuntu.com/questions/970546/location-of-url-of-opened-tabs-of-google-chromium-in-ubuntu
-ブックマークで開いたこと。
https://www.facebook.com/
-ブックマークで開いたが、ログインしてFBロゴをクリックしたこと。
このいコマンドで正しい結果を得ることができました:
$ cat -e $HOME/.config/chromium/Default/'Current Session' | sed -e 's/\^@/\n/g' -e '/_\/chrome/d' | grep -Po '(http|https)://\K.*' | sort -u
askubuntu.com/questions/970546/location-of-url-of-opened-tabs-of-google-chromium-in-ubuntu
www.facebook.com/?ref=logo
しかし、別のタブを開いてしばらく中をブラウズすると、上記のコマンドの出力がより曖昧になります。
$ cat -e $HOME/.config/chromium/Default/'Current Session' | sed -e 's/\^@/\n/g' -e '/_\/chrome/d' | grep -Po '(http|https)://\K.*' | sort -u
askubuntu.com/questions/970546/location-of-url-of-opened-tabs-of-google-chromium-in-ubuntu
spidersport.com/forum/
spidersport.com/forum/index.php?sid=59f48a87db485e3a321aedbf7de68e6a
spidersport.com/forum/login.php
spidersport.com/forum/login.php?sid=59f48a87db485e3a321aedbf7de68e6a
www.facebook.com/
www.facebook.com/login.php?login_attempt=1&lwv=111
www.facebook.com/?ref=logo
www.spidersport.com/
はい、開いているタブのURLがリストされているため、結果は正しいですが、閲覧履歴からのURLも表示されます。
$ Perl -nwle '$h{$_}++ for /http[[:print:]]+/g; END{print for sort keys %h;}' \
~/.config/chromium/Default/Current\ Session
@ pa4080の改訂版です(単にコメントとして追加することはできませんでした)。