Вопрос: Удаленная оболочка Erlang не работает


У меня странное поведение на моих контейнерах докеров (CentOS). Когда я вхожу в SSH, есть исполняемый экземпляр Erlang VM (api@127.0.0.1), я не могу подключиться к нему с аргументом -remsh, но я могу его прогнать. Мой Erlang узел (api @ 12.0.0.1) работает правильно, хотя.

bash-4.2# ./bin/erl -name 'remote@127.0.0.1' -remsh 'api@127.0.0.1'
Eshell V6.1  (abort with ^G)
(remote@127.0.0.1)1> node().
'remote@127.0.0.1'
(remote@127.0.0.1)2> net_adm:ping('api@127.0.0.1').
pong
(remote@127.0.0.1)3> erlang:system_info(system_version).
"Erlang/OTP 17 [erts-6.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]\n"
(remote@127.0.0.1)4> rpc:call('api@127.0.0.1', erlang, node, []).
'api@127.0.0.1'

Происходит 2 процесса linux - один для виртуальной машины, а другой - для процесса, который пытается вызвать удаленную оболочку

26 ?        Sl    40:46 /home/vcap/app/bin/beam.smp -- -root /home/vcap/app -progname erl -- -home /home/vcap/app/ -- -name api@127.0.0.1 -boot releases/14.2.0299/start -config sys -boot_var PATH lib -noshell
32542 ?     Sl+    0:00 /home/vcap/app/bin/beam.smp -- -root /home/vcap/app -progname erl -- -home /home/vcap/app -- -name remote@127.0.0.1 -remsh api@127.0.0.1

Когда я копирую двоичные файлы Erlang на хост (Arch Linux) и запускаю ./bin/erl, у меня разные результаты:

[jodias@arch tmp]$ ./bin/erl
Erlang/OTP 17 [erts-6.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V6.1  (abort with ^G)
1>

Имейте в виду, что версия системы Erlang напечатана и отсутствует в контейнере докеров (однако двоичные файлы Erlang точно такие же).


8


источник


Ответы:


Что $TERM в оболочке вы пытаетесь открыть пульт? Возникает проблема, когда TERM отсутствует или не известно о ncurses, с которым построен Erlang, что делает соединение с удаленной оболочкой бесшумно. Попробуй это:

TERM=xterm ./bin/erl -name 'remote@127.0.0.1' -remsh 'api@127.0.0.1'

Я однажды сообщил проблема  в список рассылки Erlang, но ответа не было. Теперь я вижу Эта проблема  в Erlang вопрос трекера. Пожалуйста, проголосуйте за то, что он будет выбран командой OTP;)


8