gedit
私はUbuntu 20デスクトップでこれから実行する予定ですが、何も起こりません。なぜそんなことですか?
$ echo "echo foo > at.sux" | at now + 1
warning: commands will be executed using /bin/sh
job 8 at Tue Jun 2 21:47:00 2020
$ echo `which gedit` | at now + 1
warning: commands will be executed using /bin/sh
job 9 at Tue Jun 2 21:47:00 2020
$ atq
9 Tue Jun 2 21:47:00 2020 a dandv
8 Tue Jun 2 21:47:00 2020 a dandv
# A minute later
$ cat at.sux
foo
$ ps auxf | grep gedit # nothing but grep
$ `which gedit` # launches gedit
echo "gedit &" | at now + 1
コメントに示されているとおりに試しましたが、1gedit
分後でもまだ実行されません。
ベストアンサー1
GUIアプリケーションはサーバーを介して画面にアクセスします。環境は、アプリケーションをコマンドラインまたはメニューから実行するときにサーバーに接続する方法を示します。
ただし、コマンドを実行すると、at
環境にその情報が含まれないため(at -c JOBNUMBER
アプリケーションが継承している環境を見ることができます)、アプリケーションは起動されますが実行されません。
GUIアプリケーションを実行するには、サーバーを指定するか、以下を使用してアプリケーションを呼び出すことができます(表示は異なる場合があります)。
DISPLAY=:0 application
または、アプリケーションによっては次のようになります。
application --display :0
サーバーの権限を変更する必要がある場合や、セッションの外部からアクセスできない他のサービス(例:dbus)が必要な場合があります。