1

Тема: tmux: як відкрити 3 панелі та виконати shell команду на кожній

Вітаю.
Я хочу запустити tmux і щоб в ньому відразу було 3 панелі горизонтально розміщені, котрі мають однакову ширину, і щоб в цих панелях була виконана команда.

Задумка така - в i3wm я створюю вікно терміналу і запускаю в ньому tmux з трьома панелі і в кожні з них викликаю node, потім я рухаю це вікно в scratchpad, і тепер я можу приховувати і показувати це вікно тоді, коли мені потрібно, і в цьому вікні в мене буде три панелі, в котрих, використовуючи командний рядок node, я зможу виконувати математичні операції.

Мені це треба для швидких обрахунків, тому що зараз я то роблю в адресному рядку браузера.

Я б хотів це все зробити у вигляді однієї команди

tmux ....

Наразі я знаю, як зробити 3 панелі однакової висоти, я записав такий код в .tmux.conf

splitw -h
splitw -h
select-layout even-horizontal

і коли я запускаю tmux ось так

tmux source ~/.tmux.conf

то воно запускає tmux з трьома рівними за розміром панелями, але це відбувається не завжди, в мене лише 1 раз вийшло так запустити його, а решту випадків воно пише - no server running /tmp/...

1. Як мені виконати в кожній з трьох панелей команду node ?
2. Як мені позбутися помилки - no server running /tmp/... ?

2

Re: tmux: як відкрити 3 панелі та виконати shell команду на кожній

кулупався з тим лайном собачим, а воно не може й нормально запуститися.

Якщо запустити спочатку tmux, вручну, в консолі, а потім так само вручну запустити команди, одну за одною, руцями, то виходить те, що мені треба, а от коли записую ці самі команди в файлик з розширенням sh і запускаю - то воно й наче робить те, що треба, але через сраку, проявляється це в зайвих символах, котрі показуються в двох створених панелях.

При цьому код, котрий запускає tmux, а потім виконує команди - не працює, тому що цьому лайну спочатку потрібно роздуплитись після запуска tmux'а, аби воно розчехлилось "о! так тут же tmux запущений, йоклмн!" і після цього воно може виконати tmux команди, а якщо все відразу робити, команда за командою, то воно тупить "еее... куди тут ці команди собі встромити, не бачу де той tmux є запущений, еееееееееее........"

Коротше, лайно ваш tmux собаче.

3 Востаннє редагувалося HetmanNet (05.03.2019 16:24:06)

Re: tmux: як відкрити 3 панелі та виконати shell команду на кожній

FakiNyan написав:

кулупався з тим лайном собачим, а воно не може й нормально запуститися.

Якщо запустити спочатку tmux, вручну, в консолі, а потім так само вручну запустити команди, одну за одною, руцями, то виходить те, що мені треба, а от коли записую ці самі команди в файлик з розширенням sh і запускаю - то воно й наче робить те, що треба, але через сраку, проявляється це в зайвих символах, котрі показуються в двох створених панелях.

При цьому код, котрий запускає tmux, а потім виконує команди - не працює, тому що цьому лайну спочатку потрібно роздуплитись після запуска tmux'а, аби воно розчехлилось "о! так тут же tmux запущений, йоклмн!" і після цього воно може виконати tmux команди, а якщо все відразу робити, команда за командою, то воно тупить "еее... куди тут ці команди собі встромити, не бачу де той tmux є запущений, еееееееееее........"

Коротше, лайно ваш tmux собаче.

А зробити затримку перед відправкою команд в tmux?
Чи ставити в автозапуск в systemd демон tmux?
Може проблема не в tmux?

Подякували: FakiNyan1

4

Re: tmux: як відкрити 3 панелі та виконати shell команду на кожній

HetmanNet написав:
FakiNyan написав:

кулупався з тим лайном собачим, а воно не може й нормально запуститися.

Якщо запустити спочатку tmux, вручну, в консолі, а потім так само вручну запустити команди, одну за одною, руцями, то виходить те, що мені треба, а от коли записую ці самі команди в файлик з розширенням sh і запускаю - то воно й наче робить те, що треба, але через сраку, проявляється це в зайвих символах, котрі показуються в двох створених панелях.

При цьому код, котрий запускає tmux, а потім виконує команди - не працює, тому що цьому лайну спочатку потрібно роздуплитись після запуска tmux'а, аби воно розчехлилось "о! так тут же tmux запущений, йоклмн!" і після цього воно може виконати tmux команди, а якщо все відразу робити, команда за командою, то воно тупить "еее... куди тут ці команди собі встромити, не бачу де той tmux є запущений, еееееееееее........"

Коротше, лайно ваш tmux собаче.

А зробити затримку перед відправкою команд в tmux?
Чи ставити в автозапуск в systemd демон tmux?
Може проблема не в tmux?

затримку ставив, але воно не допомогло

а по другому варіянту - я як раз це побачив в arch wiki і от як раз прийшов сюди, аби написати, що тепер все працює на 99% як треба, і ваше повідомлення побачив

systemd запускає tmux в від'єднаному режимі, а в конфігі i3wm я роблю так

exec --no-startup-id st -e tmux attach
exec --no-startup-id ~/tmux_bootstrap.sh

тобто, воно приєднується до тієї сесії, котра була запущена systemd, а потім запускається скрипт, котрий створює потрібний лейаут.

Виглядає отако
https://cdn.discordapp.com/attachments/305408547913465856/552493087159615498/unknown.png


червоним обведені якісь незрозумілі артефакти, коли я вручну команди вводив, то все виглядало красиво, як в першій панельці, а через скрипт виглядає отако, чомусь