端末の内外で実行されるコマンドを作成しようとしています(i3ウィンドウマネージャを使用していますcmus
)。projectM-pulseaudio
私が試したとき
projectM-pulseaudio && cmus
cmus
ProjectMを閉じるまで開始されませんでした。私が試したとき
cmus && projectM-pulseaudio
これにより、終了するまでProjectMは起動しませんcmus
。
私が知っている限り、これはcmus
コマンドラインベースのツールですが、ProjectMはそうではありません。それで、うまくいかないのか、それとも別の問題があるのか気になります。どんなアイデアがありますか?
答え1
入力したとおり
utility1 && utility2
これは、終了ステータスがゼロで終了するまで開始されないことを意味します(そうでない場合はそうではありません)utility2
。utility1
同様に、
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'