Покурил маны xvkbd и убедился что был прав на счет его назначения
Не могу понять чем отличается бот от клиента со скриптами?
В принципе -- ничем. Речь о том, чтобы сдлеать бота попроще, без аццких костылей в виде отправки нажатия клавиш.
Объясните мне глупому. Я так понимаю что стандартный ввод это клавиатура...
Нет. В системе существует 3 стандартных потока ввода-вывода: stdin, stdout и stderr. Стандартный ввод -- stdin, не факт, что он клавиатура. Для процесса эти потоки можно перенаправить, например stdin из файла, а stdout/stderr в файл.
И не факт, что приложение будет читать оттуда, оно может просто обрабатывать события нажатия клавиш (например, чтобы обрабатывать сочетания).
ЗЫ рекомендую обратить внимание на пакет libpurple-bin (эт я к тому, что проще будет применить finch + purple-remote/purple-send)!