私はLinuxマシンにデプロイ/インストールされるアプリケーションを設計しています(おそらくArchlinuxかもしれませんが、どんなディストリビューションでも構いません。実際には、可能であれば軽くてDebianスイートにいることを好みます)。マシンは「汎用」またはマルチアプリケーションマシンではありません。唯一の目的は、起動時にアプリケーションを実行し、終了時にアプリケーションを閉じることです。このコンピュータには他のエンドユーザーアプリケーションはインストールされません。
私は次の方法を探しています。
- ユーザーがコンピュータの電源を入れると、通常のUbuntu / OS起動 - > BIOS - >スタート画面 - >ログインではなく、アプリケーションのスタート画面(システムとアプリケーションの起動時にのみ)が表示されます。その後、プロセスは私のアプリケーションをロードします。自分だけの形と感じで
- コンピュータの使用中は、他のアプリケーション、シェル、またはオペレーティングシステムの他の部分にアクセスできず、自分のアプリケーションにのみアクセスできます。
- 実行時にアプリケーションは全画面を占有し、そのウィンドウを最小化したりサイズ変更したりすることはできません。
- アプリケーション(ソフトウェア)は、以下を除いて実行中に閉じたり終了したりすることはできません。
- マシンをシャットダウンすると(物理的に電源を切る)、アプリケーションは正常に閉じ、デフォルトのオペレーティングシステムがシャットダウンします。
したがって、エンドユーザーはシステムがLinux上で実行されていることをまったく知ることができず、アプリケーションはシステム上で「生きている」唯一のものです。
これ持つAndroidをLinux用のラッパーとして見ることもできます。数千単一のアプリケーションのみを実行する他のデバイス。
これは、Javaデスクトップアプリケーションを実際のアプリケーションとして実行するCバイナリです。
上記のプロジェクトを実行する方法についてのアイデアはありますか?
答え1
このタスクにはArchlinuxを強くお勧めします。基本的に、「エンドユーザー」アプリケーションをほとんどインストールせずに構築できる合理的なシステムを維持することの間で微妙なバランスを保ちます。
目標を達成するために必要な手順については、Archをインストールしてから起動時に実行したいサービスを微調整してください。少ないtty)。以来、Xのインストールと構成(このリンクにはログイン時にXを起動するリンクも含まれています。このリンクが必要です。)起動時にスプラッシュ画面が表示されるようにするには、次のように設定する必要があります。プリマス。最後に、systemdは物理的なシャットダウン(消費者ハードウェアの電源ボタンを1回押すなど)をかなりエレガントに処理する傾向があります。ただし、実行するアプリケーションにシャットダウン機能を追加することを検討する価値があります。
$HOME/.xinitrc
多くの機能が必要ない場合、機能は非常に基本的である可能性があります。たとえば、
exec /path/to/your/program/here