ターミナルコマンドを使用して、現在開いているFirefoxタブのURLを確認したいと思います。可能性はありますか?
このようにして、テキストファイルに書き込み、後で見ることができます。安全なリソース(多くの場合、開いているタブが多数あります)。 firefoxのアドオンがあることは知っていますが、自分でスクリプトを作成する方が快適です。
現在開いているFirefoxタブのURLは、sessionstore.js
ディレクトリのどこかにある$HOME/.mozilla/firefox/XXXXXXXX.default
ファイルに保存されます。
したがって、次のようなものから始めることができます。
cat $HOME/.mozilla/firefox/*default/sessionstore.js | sed "s/{/\n/g" | egrep -o '"url".*"scroll"' | cut -d\" -f4
cat
を使用すると、そのファイルを表示できます。また、sed
、egrep
、およびcut
を使用して、そのファイルから開いているFirefoxタブのURLのみを選択します。
その情報は$ HOME/.mozilla/firefox/* default/sessionstore.jsに保存され、その形式はjsonです。
次の例は、PHPで動作するように作成されています。すべてのFirefoxウィンドウ、すべてのタブを調べ、「エントリ」内の最後のエントリである関連情報を取得します。 xpathを使用して解析できる場合は、/ windows/*/tabs/last()/ urlのようになります(xpathの知識は錆びています)。
このコードを端末にコピー/貼り付けできます:
cat $HOME/.mozilla/firefox/*default/sessionstore.js | php -r '
$json=json_decode(fgets(STDIN), TRUE);
foreach($json["windows"] as $w)
foreach($w["tabs"] as $t)
echo end($t["entries"])["url"]."\n";'
EDIT:Perlの場合(ただし、最初にSudo apt-get install libjson-pp-Perl):
cat $HOME/.mozilla/firefox/*default/sessionstore.js | Perl -e '
use JSON qw( decode_json );
my $json = decode_json(<STDIN>);
foreach my $w ( @{$json->{"windows"}} ) {
foreach my $t ( @{$w->{"tabs"}} ) {
print $t->{"entries"}[-1]->{"url"}."\n";
}
}'
Bashを使用すると、次の答えが見つかりました。パッケージjqのみが必要です。 apt-get install jqでインストールできます。
jq '.windows[].tabs[].entries[].url' ~/.mozilla/firefox/xkxwaf4z.default/sessionstore-backups/recovery.js
これは、Firefoxの最前面/アクティブタブの現在のURLを抽出する方法です。
cat recovery.js | php -r '$json=json_decode(fgets(STDIN), TRUE); $tindex = $json["windows"][0]["selected"]-1; $eindex = $json["windows"][0]["tabs"][$tindex]["index"]-1; echo $json["windows"][0]["tabs"][$tindex]["entries"][$eindex]["url"];'
説明:最初に、アクティブなタブのインデックス$tindex
を見つけ、次にこのタブのアクティブな履歴エントリのインデックス$eindex
を見つけます。
Firefoxは*default/sessionstore-backups/recovery.js
に15秒ごとにバックアップを作成します。