anexar ao tty executando um processo

0

Eu tenho um arquivo de serviço systemd que executa um programa java em outro tty

[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

O programa aguarda entrada no tty, eu posso mudar para esse tty usando Ctrl + Alt + F10 ou usando chvt 10 e eu sou capaz de interagir com o programa.

Agora eu quero enviar entrada e obter saída desse tty sem alterar meu tty atual. Eu tentei usar screen e tudo que eu obtenho é uma tela em branco e. Eu tentei usar script que teve sucesso se eu executar o bash em que tty mas falhar Se eu executar um programa java

    
por MOHAMMAD RASIM 06.03.2018 / 12:18

1 resposta

0

O recurso PTY de socat pode ser sua melhor aposta para fazer a interface de aplicativos com terminal pesado, sem qualquer funcionalidade extra. Veja os exemplos na página man.

Além disso, dtach fornece a semântica de reconexão de screen (multi-way) para facilitar o acesso de um emulador de terminal.

    
por 06.03.2018 / 12:30