cronでグラフィックアプリを起動する

cronでグラフィックアプリを起動する

セッションの開始時にPython tkinterアプリを起動したいので、ユーザーとルートのcrontabに次の行を追加します

@reboot python3 /home/alvaro/Desktop/python/good.py

しかし、再起動してもアプリは起動しません

This is the output of the cron status
  ● cron.service - Regular background program processing daemon
     Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-04-19 10:35:07 CEST; 1min 46s ago
       Docs: man:cron(8)
   Main PID: 622 (cron)
      Tasks: 1 (limit: 9484)
     Memory: 19.6M
     CGroup: /system.slice/cron.service
             └─622 /usr/sbin/cron -f

abr 19 10:35:07 alvaro-VirtualBox cron[622]: (CRON) INFO (pidfile fd = 3)
abr 19 10:35:07 alvaro-VirtualBox cron[622]: (CRON) INFO (Running @reboot jobs)
abr 19 10:35:07 alvaro-VirtualBox CRON[631]: pam_unix(cron:session): session opened for user root by (uid=0)
abr 19 10:35:07 alvaro-VirtualBox CRON[636]: (root) CMD (python3 /home/alvaro/Desktop/python/good.py)
abr 19 10:35:07 alvaro-VirtualBox CRON[632]: pam_unix(cron:session): session opened for user alvaro by (uid=0)
abr 19 10:35:07 alvaro-VirtualBox CRON[693]: (alvaro) CMD (python3 /home/alvaro/Desktop/python/good.py)
abr 19 10:35:09 alvaro-VirtualBox CRON[631]: (CRON) info (No MTA installed, discarding output)
abr 19 10:35:09 alvaro-VirtualBox CRON[631]: pam_unix(cron:session): session closed for user root
abr 19 10:35:09 alvaro-VirtualBox CRON[632]: (CRON) info (No MTA installed, discarding output)
abr 19 10:35:09 alvaro-VirtualBox CRON[632]: pam_unix(cron:session): session closed for user alvaro

答え1

Cron にはグラフィカル環境がないため、そこから GUI プログラムを実行することはできません。また、再起動時にプログラムを実行するときはログインしていないため、グラフィカル セッションは利用できません。

ログイン時に起動するように、プログラムを「スタートアップ アプリケーション」(「スタートアップ アプリケーションの設定」) に追加します。最終的には、ユーザー名とパスワードの入力を回避するために「自動ログイン」を有効にします。

また、「Ubuntu キオスク セットアップ」を検索して、KIOSK ソリューションの設定に関する情報を見つけることもできます。KIOSK ソリューションとは、ユーザーにデスクトップへのアクセス権を与えずに、起動時にアプリケーションが自動的に起動するセットアップです。

関連情報