systemd サービスデーモンの端末ウィンドウの表示

systemd サービスデーモンの端末ウィンドウの表示

設定:

  • Raspberry PiはRaspbianを起動し、モニター(HDMI)を接続します。

  • 継続的に実行されるシステムサービス(デーモン)

ターゲット:

  • ディスプレイに表示される新しい端末ウィンドウを起動します。

  • 概念証明としてシェルスクリプトを実行したいと思います。

サービスでシェルスクリプトを実行するのに問題はありませんが、ディスプレイに表示されるウィンドウを開くのは難しいようです。

コード(デーモン)

        var process = new Process()
        {
            StartInfo = new ProcessStartInfo
            {
                FileName = "/bin/bash",
                Arguments = $"-c \"{Paths.Dotnet} /path/to/app.dll\"",
                WorkingDirectory = workingDirectory,
                RedirectStandardOutput = false,
                UseShellExecute = false,
                CreateNoWindow = false,
                WindowStyle = ProcessWindowStyle.Maximized
            }
        };

        process.Start();

        string result = process.StandardOutput.ReadToEnd();
        process.WaitForExit();

**編集する**パラメータを次のように変更します。

Arguments = $"-c \"DISPLAY=:0.0 lxterminal -e {Paths.Dotnet} /path/to/app.dll\""

問題は解決されませんでした。 app.dllが実行されますが、まだバックグラウンドにあります。

関連情報