web-dev-qa-db-ja.com

別の(新しい)ターミナルウィンドウでコマンドを実行する

別のターミナルウィンドウでコマンドを実行する方法

例:ターミナルウィンドウを1つ開き、apropos editorなどのコマンドを実行すると、そのウィンドウで実行され、出力されます。 ただし、最初の端末からの現在のウィンドウではなく、別の端末ウィンドウ(新しいウィンドウ)で同じコマンドを実行したい

詳細な説明
新しいターミナルウィンドウを開き、その(新しく開いた)ウィンドウで前述のsuggest-command <command>を実行する<command>が必要です。 (suggest-commandはコマンドの提案の例です。)

どうやってするか?

28
Pandya

これはあなたが検索するものかもしれません:

gnome-terminal -e "bash -c \"!!; exec bash\""

または(まもなく):

gnome-terminal -x sh -c "!!; bash"

最後に実行されたコマンド(!!)でgnome-terminalを開き、topless...などの対話型コマンドであっても、シェルのコマンド出力でstays open.

あなたの場合、その:

gnome-terminal -e "bash -c \"apropos editor; exec bash\""

または

gnome-terminal -x sh -c "apropos editor; bash"
28
chaos

実行したい端末の別のインスタンスを起動します。

xterm -hold -e 'apropos editor' & 

-holdに注意してください。ほとんどの端末は、入力したコマンドを実行した後に終了します。これについては、すでにサイトに約12の質問があります。

それに代わる方法は、終了する必要があるアプリケーションを使用することです。 nanoは単独で開いたままになります。画面に出力するだけの場合は、lessにパイプすることができます。

xterm -e 'apropos editor | less' & 

とはいえ、あなたの場合(他の2人が言ったように)、別のターミナルを開いてコマンドを実行する方が簡単なようです。

9
Oli

各端末は、他のプログラムと同じように起動できるプログラムであり、&をバックグラウンドにして、引数のリストなどを提供します。

どの端末を使用するかは、最初に、使用しているシステムの可用性(インストールされているかどうか)に依存し、その後、その特殊性、次に個人の好みに依存します。

  konsole   --hold -e "ls" &  
  xterm      -hold -e "ls" &  
  gnome-terminal   -e "ls" & ...  

-hold of xterm--hold of konsoleの違いに注意してください。

各実現には異なるオプションがあり、ヘルプで確認する必要があります。ヘルプでも別の方法で呼び出すことができます。 man konsoleは機能しないため、--helpを使用して実行可能ファイルに直接問い合わせる必要があります。

これは、システムで検索できる端末のリストです

aterm          - AfterStep terminal with transparency support
gnome-terminal - default terminal for GNOME
guake          - A dropdown terminal for GNOME
konsole        - default terminal for KDE
Kuake          - a dropdown terminal for KDE
mrxvt          - Multi-tabbed rxvt clone
rxvt           - for the X Window System (and, in the form of a Cygwin port, 
                 for Windows) 
rxvt-unicode   - rxvt clone with unicode support
xfce4-terminal - default terminal for Xfce desktop 
                 environment with dropdown support
Terminator     - is a GPL terminal emulator. It is available on
                 Microsoft Windows, Mac OS X, Linux and other Unix X11 systems.
Terminology    - enhanced terminal supportive of multimedia 
                 and text manipulation for X11 and Linux framebuffer
tilda          - A drop down terminal
wterm          - It is a fork of rxvt, designed to be lightweight, but still
                 full of features
xterm          - default terminal for the X Window System
Yakuake        - (Yet Another Kuake), a dropdown terminal for KDE
7
Hastur

次のようにgnome-terminalに-eオプションを使用できます。

gnome-terminal -e 'sh -c propose editor'

ここでshはgnome-terminalが開くシェルです。コマンドが終了するとすぐに端末が終了することに注意してください。 gnome-terminalのマニュアルページ を参照してください。

3
jobin
  1. 2つのターミナルを開きます。
  2. ttyコマンドで各端末を識別する。
  3. / dev/pts/0および/ dev/pts/1で識別されたと仮定します。
  4. ターミナル[pts/0]でexecコマンドを使用してstdoutをpts/1にリダイレクト:exec 1>/dev/pts/1
  5. 現在、すべてのコマンドstdout outputは、pts/0端末からpts/1に表示されています。
  6. カンマで標準出力にリダイレクト:exec 1>/dev/pts/0
  7. これで、pts/0 stdoutは以前と同様に機能します。

YouTubeビデオ:

2

Ubuntu 18.04 LTSの後、-e--の両方が非推奨になったため、gnome-terminal -eからgnome-terminal --、つまり-eから-xに切り替えることができます。

1
kensaii

ターミネーターで私の50セントがここにあります:

terminator -x "script.sh; bash"

これも機能しますが、違いはわかりません。

terminator -e "script.sh; bash"

スクリプトはコマンドでもあることに注意してください。

Ubuntu 18.04 LTSでテスト済み。

0