他のttyでJavaプログラムを実行するシステムサービスファイルがあります。
[Unit]
Description=java program
After=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/java -cp "/home/user/someclass.jar"
Restart=always
RestartSec=10
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit
TTYPath=/dev/tty10
TTYVTDisallocate=yes
TTYReset=yes
TTYVHangup=yes
[Install]
WantedBy=multi-user.target
プログラムはttyで入力を待ちます。 Ctrl+Alt+F10 を使用するか、 を使用してその tty に変更し、chvt 10
プログラムと対話できます。
今私は現在のttyを変更せずにそのttyから入力を送信して出力を取得したいと思います。試してみましたが、空のscreen
画面だけが表示されました。そのttyでbashを実行するとscript
成功しますが、Javaプログラムを実行すると失敗します。
ベストアンサー1
このPTY
機能は、アドオンsocat
なしでプログラムで端末集約型アプリケーションを接続するのに最適なオプションです。例については、マニュアルページを参照してください。
また、端末エミュレータから簡単にアクセスできるように、同様の(多方向)再接続セマンティクスがdtach
提供されています。screen