Page MenuHomePhabricator

webservice command should not consume control-p (Docker + Kubernetes)
Open, LowPublic

Description

When you do "webservice --backend=kubernetes python3.7 shell", the resulting connection consumes control-p characters as part of a docker command sequence. There should be a way to disable this. Additional background at:

Event Timeline

A not too promising response regarding Kubernetes in particular regarding this https://stackoverflow.com/questions/59739696/kubectl-exec-bin-bash-eating-control-p

They reference a bug that was closed by bot, though, not because it was a wontfix.

screen: Ctrl-A D
ssh: Enter ~ .
docker: Ctrl-P Ctrl-Q

xkcd: 927

*famepalm*

LOL

The real problem is that in-band signalling is evil. You would think we would have learned our lesson 50 or 60 years ago.

https://en.wikipedia.org/wiki/2600_hertz

bd808 renamed this task from webservice command should not consume control-p to webservice command should not consume control-p (Docker + Kubernetes).Mar 3 2020, 4:46 PM
bd808 added a project: Upstream.

OK, I've finally found a solution. You can configure tmux to map C-p to the up-arrow escape sequence, which works around docker eating the C-p. It's hacky and duct-tapey, but it works. Still, fie on docker for not providing a way to configure/disable this behavior.

Details at https://stackoverflow.com/questions/59739696/kubectl-exec-bin-bash-eating-control-p See Anh Pham's answer.

Obligatory factoid discovered while yak-shaving: tmux won't re-read its config file as long as there's a session open somewhere. So if you're going to implement this, make sure you quit all your tmux sessions before mucking with your config.