PuTTY weiß nicht, wann ein Remote-Befehl auf Eingabe wartet. Was das Endgerät (oder den SSH-Client) betrifft, so kann Eingabe erfolgen immer gesendet werden. (Selbst das Erraten anhand des angezeigten Texts ist zwecklos, da viele Fortschrittsanzeigen von Eingabeaufforderungen für einen Computer nicht zu unterscheiden sind.)
Angesichts Ihrer Anforderungen ist die einzige Option, die mir in den Sinn kommt, eine LD_PRELOAD
Bibliothek, die eine Glocke druckt, wenn ein Programm versucht, von einem tty-Gerät zu lesen. So etwas wie:
#define _GNU_SOURCE
#include <dlfcn.h>
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count) {
static ssize_t (*real_read)(int fd, void *buf, size_t count);
if (isatty(fd))
write(fd, "\a", 1);
if (!real_read)
real_read = dlsym(RTLD_NEXT, "read");
return real_read(fd, buf, count);
}
(Nun, es funktioniert nicht für statisch verknüpfte Binärdateien, aber nahe genug.)
Wenn ein Befehl auf eine Eingabe wartet, ist dies wiederum per Definition der Fall nicht durchgeführt Die Anforderungen sind also etwas widersprüchlich.
tput bel
sonst höre ich keine Glocke. gibt es also keine generische lösung für kitt?