
私はxdotoolを使用してw3mブラウザを自動化するbashスクリプトに取り組んでいます。このスクリプトをaws ubuntuインスタンスでホストしましたが、このスクリプトを実行すると以下のエラーが発生します。
Error: Can't open display: (null)
Failed creating new xdo instance
No protocol specified
以下はスクリプトです
#!/bin/sh
filename="links"
while read line; do
export DISPLAY=:0
export XAUTHORITY=/home/ubuntu/.Xauthority
"w3m $line"
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Return
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Return
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Tab
xdotool key Return
xdotool key Return
sleep 30m
done < $filename
答え1
xdotool
は「コマンドラインX11「自動化ツール」。これはマニュアルページの最初の行です。X が必要です。AWS Ubuntu インスタンスではおそらく X が実行されていません。インストールすることはできますが、AWS インスタンスに通常インストールまたは使用されるものではありません。
w3m
はテキストベースの Web ブラウザです。X ターミナル エミュレータで実行できますが、X は必須ではなく、X 機能は使用されません。
テキストベースのコマンドラインプログラムを自動化するには、期待するまたはプログラミング言語用のexpectのようなライブラリの1つ。たとえば、perlの期待するまたはPythonの期待する。