Debian の起動時にコマンドを使用して端末を開きます。

Debian の起動時にコマンドを使用して端末を開きます。

ACソースコードからインポートされたオブジェクトファイルであるアプリケーションがあります。端末でこのアプリケーションを実行すると正常に動作します。

システムの起動時にこのアプリケーションを実行したいと思います。現在、端末からすべてのログデータを印刷しているので、端末を開き、このアプリケーションを端末で実行したいと思います(リアルタイムログを見て、端末から自分のアプリケーションに入力を提供できるように)。

いくつかのチュートリアルを検索した後、起動時にシェルスクリプトを実行するサービスを作成できました。端末を開き、アプリケーションを実行するようにこのスクリプトを変更しました。端末でシェルスクリプトを実行すると正常に動作します。

ただし、サービスでスクリプトを実行すると、次の警告が表示されます。

(x-terminal-emulator:16048): Gtk-warning**: ディスプレイを開けません:

私はどこで間違っていますか?

ここでは Debian で動作する beaglebone black を使用しています。

私のサービスコード(application.service)。

[Unit]
Description=application setup

[Service]
WorkingDirectory=/root/application/
ExecStart=/root/application/start_application
SyslogIdentifier=application
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

これはstart_application.shです。

#! /bin/sh
#
# start_app_server
#

echo "Starting application server"
x-terminal-emulator -e "app_server/a.out"

echo Done

ベストアンサー1

* nixメソッドは、ターミナルなしでスクリプトを起動し、出力をログファイルに送信することです。たとえば、

app_server/a.out > /var/log/app_server.log &

その後、ユーザーのcrontabに追加できます@reboot

有効であれば、本物*nixのアプローチは、いかなる形でも含まれるサービスを作成することです。産業用コンピュータ必要に応じて。

おすすめ記事