
私は、send keys 引数の構文を正しく理解しようと試み、man ページから集めたいくつかのバリエーションを試してみましたが、単に何かを誤解しているに違いありません。
tmux を次の方法で初期化し、以下のように操作したいと考えています。
sudo -H -u username1 -g usergroup1 bash -c '/usr/bin/tmux -S /home/shares/tmux_sessions/sock_file new -d -s "sess-tv0-i" mycommand -arg1 -arg2'
sudo -H -u username1 -g usergroup1 bash -c '/usr/bin/tmux -S /home/shares/tmux_sessions/sock_file new -d -s "sess-tv1-i" mycommand -arg1 -arg2'
sudo -H -u username1 -g usergroup1 bash -c '/usr/bin/tmux -S /home/shares/tmux_sessions/sock_file new -d -s "sess-tv2-i" mycommand -arg1 -arg2'
個々のセッションにキーを送信しようとしましたが、以下のコマンドはすべてのセッションにコマンドを送信しているようで、これは望ましくありません。一度に 1 つのセッションにのみキーを送信したいのです。
tmux -S /home/shares/tmux_sessions/sock_file send-keys C-c -t sess-tv0-i
上記のコマンドを使用するとエラーは発生しませんが、前述のとおり、そのキー文字列はそのソケット内の複数のセッションに送信されます。
以下のことも試しましたが失敗しました。
tmux -S /home/shares/tmux_sessions/sock_file target-session -t sess-tv0-i send-keys C-c
unknown command: target-session
tmux target-session -t sess-tv0-i send-keys C-c
error connecting to /tmp/tmux-0/default (No such file or directory)
tmux -S /home/shares/tmux_sessions/sock_file -t sess-tv0-i send-keys C-c
tmux: unknown option -- t
usage: tmux [-2CluvV] [-c shell-command] [-f file] [-L socket-name]
[-S socket-path] [command [flags]]
アドバイスや正しい方向を指し示していただき、ありがとうございます。
答え1
明らかなエラーは使用中
tmux -S /home/shares/tmux_sessions/sock_file send-keys C-c -t sess-tv0-i
これにより、CcまたはControl+cキーが、そのsockファイル内のすべてのセッションに送信されます。
tmux -S /home/shares/tmux_sessions/sock_file send-keys -t sess-tv0-i C-c
これにより、-t フラグが適切に評価されるようになります。