Ваши клавиатурные привязки не работают, потому что Ваша клавиатура больше не имеет те keysyms.
Если Вы хотите иметь, например, Alt+F делают что-то, то Вам нужен "F" в некотором ключе. Но если Вы загружаете один только "рутений", затем нет никакого "F" вообще (ни никакая латинская буква).
Я думаю, особенно когда необходимо обработать несколько разметок, что намного лучше позволить X11 (через setxkbmap), делают задание для Вас; путем менеджеры окон делают это намного более ограничено, поскольку Вы обнаружили.
Можно также попробовать, поскольку ужасный виджет, кажется, называет setxkbmap, изменяет "рутений" с "рутением, нас", например:
kbdcfg.layout = { { "us", "" }, { "ru,us", "phonetic" } }
тем путем "мы", расположение будет сложено сверху того "рутения" при загрузке, и keysysms "нас" расположение, в то время как все еще не непосредственно typeable будут замечены уровнем X11, который обрабатывает привязки клавиш.
tmux 1.8 введена команда wait-for
, которая может помочь сделать то, что вы хотите:
time tmux new-window -t p12346 'echo foo;sleep 10;tmux wait-for -S p12346-neww-done' \; \
wait-for p12346-neww-done
Имя "канала" (p12346-neww-done
в примере выше) может быть чем угодно (при условии, что оно одинаково в обоих местах; если вы предполагаете несколько потенциально одновременных вызовов, то вы, вероятно, также захотите использовать уникальное значение для каждого вызова). Важной частью является то, что вы "ждете" сигнала после команды new-window
(как часть одной и той же команды tmux, таким образом, экранированная точка с запятой: tmux должен обрабатывать ее, а не оболочку). и посылать сигнал в качестве последнего шага команды окна.
Если вам нужно быть немного более устойчивым к прерыванию последовательности команд уродливым или неудобным способом, то вы можете попробовать использовать оболочку-ловушку для посылки сигнала (переупорядочить бит для удобочитаемости(?)):
time \
tmux new-window -t p12346 '
trap "tmux wait-for -S p12346-neww-done" 0
echo foo
sleep 10
' \; wait-for p12346-neww-done