Logré hacer esto
echo -n " comando "> / dev / tty1
Aparecen las letras y el cursor se mueve, pero son "fantasmas". Si golpeas Enter, no pasa nada (no están en stdin).
Editar:
En el medio de la siguiente captura de pantalla, puede ver por qué veo el uso de esto. (La línea con un subtítulo rojo, justo debajo de la línea con un subtítulo amarillo). Tal como está ahora, realmente no está "editando" el texto de la nota; solo se le pide que escriba un nuevo texto, que reemplazará el texto de la nota que está editando (no realmente). Por lo tanto, pensé que podría remediarse simplemente pegando el texto antiguo en el tty: si el usuario presiona enter, no se realiza ninguna modificación. (Este programa está en Perl / MySQL, pero pensé que sería más interesante pedir una solución general que "cómo hago esto en Perl").
Edición 2:
Aquí está el código de Perl, que usa el código C a continuación (funciona exactamente como se esperaba), así como una nueva captura de pantalla; con suerte, esto aclarará las cosas más allá de toda duda :) Nuevamente, mire el centro de la captura de pantalla, donde se realiza la edición al texto de la nota: esta vez, el texto anterior está allí, por ejemplo, si solo desea corregir un error tipográfico, no tendrá que volver a escribir todo el texto de la nota.
my $edit_note_text = $edit_note_data[2];
print BOLD, RED, " new text: ", RESET;
system("writevt /dev/tty \"$edit_note_text\"");
my $new_text = <$in>;
$new_text = fix_input($new_text);
my $set_text = "UPDATE notes SET note = \"$new_text\" WHERE id = $edit_note_id";
$db->do($set_text);