X 外部の tty (例: tty1) から wmctrl (例: wmctrl -l) を実行しようとすると、「ディスプレイを開けません」というメッセージが表示されます。
$DISPLAY および $XAUTHORITY 変数を、X 内の端末エミュレータから取得した値に設定しようとしましたが、何も変わりません。
答え1
DISPLAY を設定するだけでは不十分です。変数はシェル内でのみ設定されます。シェルから呼び出されるプログラムで動作させるには、エクスポートする必要があります。
export DISPLAY=:0
または、次のように wmctrl を呼び出します。
DISPLAY=:0 wmctrl