Crontabに次の行を追加することで、起動時にスクリプトを実行できます。
@reboot Perl /path/script
それはうまくいきます。しかし、Gmailの通知などのGUIアプリケーションを実行しようとすると問題が発生します。それは単に実行されません。
起動時にGUIアプリケーションを実行するにはどうすればよいですか?
Cronはあなたが求めているプログラムではありません。 GUIプログラムを実行するには、さまざまなアプローチがあります。どちらを選択するかは、デスクトップ環境によって異なります。
従来の方法は、ウィンドウマネージャーを起動する前に.xinitrcファイルにフックすることです。簡単な例.xinitrcは次のようになります。
#!/bin/sh
# Play a login sound
ogg123 -q "${HOME}/Music/login.ogg" &
# Start a terminal emulator
urxvt -T Terminal &
# Start the window manager
exec awesome
デスクトップ環境によっては、~/.config/autostart/
を使用してprogram.desktop
ファイルを作成することもできます。すでにエントリが含まれている場合は、そのディレクトリを確認してください。それが最も簡単な方法だと思います。
autostart […]は、デスクトップ環境の起動中にアプリケーションを自動的に起動する方法を定義します[…]
Lubuntuでこれを行うのは恐ろしい時間だったので、最終的にどのようにして入手したかを共有したいと思いました。 .desktop
に/etc/xdg/autostart
ファイルを作成します。形式は freedesktop Desktop Application Autostart Specification から取得するか、そのフォルダー内の他のデスクトップ構成ファイルを確認するだけです。私の大きな問題は、コマンドでリストされたフォルダーにそれを入れようとしていたことでした
echo $XDG_CONFIG_DIRS/autostart
ただし、上記のフォルダと同様に、機能しないフォルダが表示されます。おそらく、他のシステムでは、どこからそれを置くかについてのヒントを得ることができます
Sudo find / -name *.desktop
もう1つのちょっとしたヒント-.desktop
ファイルを作成する場合は、デスクトップフォルダーに置くことで確認できます。アイコンとして表示され、開くとプログラムが実行されます。