web-dev-qa-db-ja.com

起動時にGUIアプリケーションを実行する

Crontabに次の行を追加することで、起動時にスクリプトを実行できます。

@reboot Perl /path/script

それはうまくいきます。しかし、Gmailの通知などのGUIアプリケーションを実行しようとすると問題が発生します。それは単に実行されません。

起動時にGUIアプリケーションを実行するにはどうすればよいですか?

3

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 […]は、デスクトップ環境の起動中にアプリケーションを自動的に起動する方法を定義します[…]

出典: freedesktop自動起動仕様

8
Marco

Lubuntuでこれを行うのは恐ろしい時間だったので、最終的にどのようにして入手したかを共有したいと思いました。 .desktop/etc/xdg/autostartファイルを作成します。形式は freedesktop Desktop Application Autostart Specification から取得するか、そのフォルダー内の他のデスクトップ構成ファイルを確認するだけです。私の大きな問題は、コマンドでリストされたフォルダーにそれを入れようとしていたことでした

echo $XDG_CONFIG_DIRS/autostart

ただし、上記のフォルダと同様に、機能しないフォルダが表示されます。おそらく、他のシステムでは、どこからそれを置くかについてのヒントを得ることができます

Sudo find / -name *.desktop

もう1つのちょっとしたヒント-.desktopファイルを作成する場合は、デスクトップフォルダーに置くことで確認できます。アイコンとして表示され、開くとプログラムが実行されます。

1
Paul Friesen