21

1 つの実行可能ファイルを実行して Konsole を起動し、プログラムの終了後も Konsole を開いたままにする方法を知っています。.desktopファイルを使用してこれを行い、その中のいくつかのオプションを変更できます。

しかし、さらに一歩進んで、複数のタブを開いた状態で KDE コンソールを起動し、それぞれで特定のプログラムを実行し、プログラムが終了しても開いたままにして、プロンプトを表示するようにしたいと思います。

Konsole の man ページがないので、どのようなオプションがあるかさえわかりません。またはいくつかの d-bus 呼び出しですか?ありがとう

4

4 に答える 4

11

私はさらに掘り下げて見つけ、さらに「主観的に」美しい答えを見つけました。目標: コンソールの 3 つの異なるタブで、irssi を実行する空のシェル、音楽プレーヤー、および画面セッションを開始します。

  1. 以下を使用して、単純な実行可能スクリプト ファイルを作成します。

#!/bin/bash konsole --hold --new-tab & konsole --hold --new-tab -e $SHELL -c "/usr/bin/screen -DRS irssi-in-screen irssi" & konsole --hold --new-tab -e $SHELL -c "/usr/bin/ncmpcpp" &

手がかりは、コマンドを直接実行するのではなく、渡されたすべての引数を受け取ることができるシェルを呼び出すことです。$SHELL は /bin/bash に設定されています。この「問題」はここに文書化されています:

引用: " Konsole は、-e オプションの後の引数を 1 つのコマンドとして扱い、直接実行します。解析して、場合によっては実行のためにサブコマンドに分割するのではありません。これは、xterm とは異なります。

konsole -e "command1 ; command2" does not work

konsole -e $SHELL -c "command1 ; command2" works
于 2018-02-14T11:09:20.197 に答える