i3で1つのキーバインディングで2つのアプリケーションを起動するには?

i3で1つのキーバインディングで2つのアプリケーションを起動するには?

端末の内外で実行されるコマンドを作成しようとしています(i3ウィンドウマネージャを使用していますcmus)。projectM-pulseaudio

私が試したとき

projectM-pulseaudio && cmus

cmusProjectMを閉じる​​まで開始されませんでした。私が試したとき

cmus && projectM-pulseaudio

これにより、終了するまでProjectMは起動しませんcmus

私が知っている限り、これはcmusコマンドラインベースのツールですが、ProjectMはそうではありません。それで、うまくいかないのか、それとも別の問題があるのか​​気になります。どんなアイデアがありますか?

答え1

入力したとおり

utility1 && utility2

これは、終了ステータスがゼロで終了するまで開始されないことを意味します(そうでない場合はそうではありません)utility2utility1

同様に、

utility1 || utility2

ゼロ以外の終了状態で終了するとセマンティクスがutility2実行されます(そうでなければ実行されません).utility1

そして

utility1 & utility2 &

これは次のとおりです。

utility1 &
utility2 &

両方のユーティリティをバックグラウンドプロセスで起動し(両方とも互いに独立して起動します)

utility1 & utility2

これは次のとおりです。

utility1 &
utility2

utility1まずバックグラウンドプロセスで作業し、次にutility2フォアグラウンドプロセスで作業します。

偶然にも、これは質問のタイトルが正しいことを意味します。

cmus & projectM-pulseaudio

または多分

projectM-pulseaudio & cmus

(しかし、私はこれらのプログラムが何をしているのかわからないので、どちらか一方または両方をバックグラウンドプロセスとして実行するのは妥当ではありません。)

答え2

私は何かを思い出そうとしています。このコマンドは端末でcmusを実行し、その横にprojectM-pulseaudioを実行します(私はi3ウィンドウマネージャを使用しています)。

これではありませんi3。欲しいのはこんなことだと思います。

bindsym $mod+v exec projectM-pulseaudio, exec kitty cmus

端末がどのように機能するかを理解する必要があります。kitty合字とグラフィックサポートを備えた最も強力な端末なので、これを使用することをお勧めしますが、画像をレンダリングするためにフレームバッファでRangerを使用します。

cmus以外にシェルが必要な場合(完了しても終了しません)

bindsym $mod+v exec projectM-pulseaudio, exec kitty bash -c'cmus'

関連情報