LINUX.ORG.RU

Что послать в терминал чтобы он перерисовался?

 


0

1

сабж, есть терминал в браузере (да) когда открывают поток на удаленный сервер он ничего не шлет (соотв. экран пустой и черный, юзер грустит), если там заранее открыт mc и в терминале нажать Ctrl+O - то все перерисовывается как и надо.

Задача - после первого коннекта что-то послать серверу чтобы он выдал все что есть (перерисовал терминал).

Нашел это http://www.tldp.org/HOWTO/Keyboard-and-Console-HOWTO-4.html там

echo -e \\033c

а мне очевидно нужны бинарные данные, вывел это в файл и получил

631b000a

ну ок, пишу

ws.send("\x63\x1b\x00\x0a")

а на сервере появляется

bash: c: command not found

что я делаю не так?

Ответ: читаю документацию я не так, надо Ctrl+L послыать что есть '\x0c'

Deleted

Это ты как так получил 631b000a из \\033c?

anonymous ()

echo -e \\033c

а мне очевидно нужны бинарные данные, вывел это в файл и получил

631b000a

Не надо так делать. Не понятно, откуда ноль взялся.

$ echo -ne \\033c | hexdump -C
00000000  1b 63                                             |.c|
00000002
xaizek ★★★★★ ()
Последнее исправление: xaizek (всего исправлений: 1)

примерчик тебе

    void set_cursor_pos( int x, int y )
    {
        std::ostringstream oss;
        oss << "\033[" << (y + 1) << ";" << (x + 1) << "H";
        std::string s(oss.str( ));
        std::cout.write( s.c_str( ), s.size( ) );
        //write( STDIN_FILENO, s.c_str( ), s.size( ) );
    }
anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.