コマンドラインから Firefox をリロードするには (ただしLinux上のみ)

コマンドラインからFirefoxをリロードするには、以下のようなshell スクリプトで実現できます。

Netscape(懐かしい!)はコマンドライン・オプションに”-reload”があったようで、reloadできました(遠い記憶ですが)。

Firefoxはコマンドラインからリロードするオプションは無いようですね。検索すると質問は結構な数がヒットしますが、大抵は回答がないです。

以下のネタ元は https://unix.stackexchange.com/questions/37258/refresh-reload-active-browser-tab-from-command-line です。

ポイントはxdotoolというツールを使うことです。これはX11上のキーボード・マウスのイベントを摸擬するツールです。 結構渋いコマンドですが、Unix文化の香り漂う感じが堪りません。 このため、下のコマンドはLinux(というかX-Window)上でしか使えません。

リロードのキーは普通はF5で良いと思います。F5だと、表示している箇所をリロードしてくれます。

一方、Ctrl-F5を使うと、リロードしてページの最初を表示します。お好みで選ぶと良いです。

#!/bin/bash

set -o errexit
set -o nounset

#keystroke="CTRL+F5"
keystroke="F5"

# set to whatever's given as argument, defaults to firefox
BROWSER="${1:-firefox}"

# find all visible browser windows
browser_windows="$(xdotool search --sync --all --onlyvisible --name ${BROWSER})"

# Send keystroke
for bw in $browser_windows; do
xdotool key --window "$bw" "$keystroke"
done