迷惑なGUIダイアログをポップアップするコマンドを実行するbashスクリプトを実行しています(スクリプト内で複数回実行します)。このポップアップは、スクリプトをバックグラウンドで実行しているときにUIで実行していることをすべて中断します。
これらを隠す方法はありますか?
スクリプトから実行されるGUIアプリケーションは、DISPLAY
変数で指定されたXサーバーに接続しようとします。その変数をクリアすると、プログラムはウィンドウを開くことができなくなるため、ポップアップを効果的に防ぐことができます。たとえば、これを実行しようとすると、次のようになります。
DISPLAY= xterm
次のようなエラーが発生します。
xterm: Xt error: Can't open display: xterm: DISPLAY is not set
上記のxterm
で示したように実行するコマンドの直前にDISPLAY=
を書き込むか、スクリプトの前半のどこかに独自の行にDISPLAY=
を書き込むことができます。
ただし、DISPLAY
が設定されていないと、一部のプログラムがまったく起動しない場合があります。それがポップアップを生成するプログラムの場合であり、このプログラムがポップアップ以外の有用なことを行う場合、この手法を使用することはできません。とにかく一撃の価値があります。