web-dev-qa-db-ja.com

起動時にGUIプログラムを実行する

Ubuntu 14.04を使用しています。私は、試験という名前の小さなスクリプトを書きました。スクリプトの内容は次のとおりです。

 #!/bin/sh
Shell=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin     
sh -c firefox

スクリプトを/etc/init.dにコピーし、chmod +x trialを使用して権限を変更し、update-rc.d trial defaultsを使用しました。ファイルはリンクを作成しましたが、マシンを再起動したとき。 Firefoxは実行されませんでした。私はcron @rebootを試しましたが、成功しませんでした。 rc.localをもう一度試しましたが、失敗しました。

4
Joker

ディレクトリ/etc/init.d/には、基本的にデーモン(システムサービス)を起動、停止、再起動するシステムスクリプトが含まれています。これは「System V Initialization」メソッド(SysVinit)であり、initプログラム(カーネルのロードが完了したときに実行される最初のプロセス)が含まれています。 (2015年7月2日編集:最近、多くのLinuxシステムがsystemd initシステムに切り替わりました。)

しかし、FirefoxはグラフィカルなWebブラウザです。そのため、ウィンドウサーバー(X-Windows)とウィンドウマネージャーを起動する必要があります。また、Firefoxを起動するには、ウィンドウマネージャーにログインする必要があります。したがって、ウィンドウマネージャーにログインした後、プログラムを自動的に起動する方法を学ぶのがあなたの仕事です。

ウィンドウマネージャーの名前を見つけます。次に、プログラムの自動起動に関するヘルプを検索します。

7
Christopher

Firefoxが起動時に開かない へのこの回答は、もう少し情報を提供し、私にとってはうまくいきました:

ホームディレクトリ〜/ .config/lxsession/LXDE-pi/autostartにローカル自動起動ファイルがある場合、グローバル自動起動ファイル/ etc/xdg/lxsession/LXDE-pi/autostartは無視されます。ローカル自動起動ファイルがある場合は、グローバル自動起動ファイルの代わりにそれを使用する(またはローカル自動起動ファイルを削除する)必要があります。ローカル自動ファイルが存在する場合、グローバル自動起動ファイルに入力したものはすべて無視されます。ローカル自動起動ファイルは次のように編集できます:nano ~/.config/lxsession/LXDE-pi/autostart(またはお好みのエディターを使用してください)。ファイルがまだ存在しない場合は、これを除外できます。

0
electron1979