2

cmusを含む新しいtmuxセッションとウィンドウを開くか、すでに実行されている場合はそれに接続します。Ubuntuusersで私はそれを実行する必要があるこのスクリプトを見つけました。

1. #!/bin/bash
2. SESSION=main
3. tmux="tmux -2 -f tmux.conf"
4. 
5. # if the session is already running, just attach to it.
5. $tmux has-session -t $SESSION
7. if [ $? -eq 0 ]; then
8.   echo "Session $SESSION already exists. Attaching."
9.   sleep 1
10.  $tmux attach -t $SESSION
11.  exit 0;
12.  fi

私はすでにそれを手動で行うことができることを知っています

tmux new -n music cmus

しかし、スクリプトで使用すると、メッセージしか表示されません

usage: new-session [-d] [-n window-name] [-s session-name] [-t target-session] [-x width] [-y height] [command]

新しいセッションでも試してみましたが、変更はありません。コマンドまたはスクリプト、あるいはその両方の問題が何であるか、まったくわかりません。

4

1 に答える 1

4

私がこれを解決した方法は、muttやcmusなどのプログラムが起動または接続できるメインのtmuxセッションを用意することです。たとえば、cmusの場合、エイリアスがあります。

alias cmus='monkeys -n music cmus'

サルは次のスクリプトです。

#! /bin/sh

name=monkeys

# make sure tmux server is running:
tmux start-server

# determine if monkeys session is running:
tmux has-session -t ${name}

# no monkeys running, create monkeys,
# if more than one argument, take it as a command to run 
# on monkeys, else just attach to monkeys
if [ "$?" != "0" ]; then
    tmux new-session -s ${name} $*
elif [ $# -gt 0 ]; then
    tmux new-window -t ${name} $*
else
    tmux a -t ${name}
fi
于 2012-12-06T18:55:12.610 に答える