С помощью python -tmux выполнить поставленные задачи несложно.
. если вы запускаете новый сервер с именем сеанса foo
tmux new-session -s foo
вы можете подключиться к нему через python tmux (при условии, что библиотека python установлена )из ipython через
import libtmux
server = libtmux.Server()
session = server.find_where({ "session_name": "foo" })
Затем вы можете наблюдать в окне tmux за действием команд, например.
session.cmd("send-keys","x")
отправит нажатие клавиши «x». Список панелей, который вы просили, можно запросить через
session.cmd("list-panes").stdout
и вы можете переключиться на конкретное окно (сказать номер. 1 )с
session.cmd("select-window","-t","1").stdout
Вам не нужно читать исходный код tmux, чтобы изучить это. Все эти команды задокументированы на справочной странице tmux. Если вам этого недостаточно,вам нужно быть более конкретным, что вы подразумеваете под python -libtmux, который «каким-то образом отсутствует».
См. Как заставить вновь созданные файлы наследовать разрешения каталога…?
Его решение может помочь вам с подобными вопросами.
Но попробуй ограничить разрешение; 0777 редко действительно нужен.
Когда вы создаете новый файл, вы не можете сделать его исполняемым по умолчанию. Даже если ваш umask равен 000. Это предусмотрено в UNIX/Linux. Вы всегда можете добавить разрешение на выполнение постфактум:
chmod +x filename