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


32

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

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

さらなる説明: 新しいターミナルウィンドウを開き、その(新しく開いた)ウィンドウで言及されているように実行
する必要があります。(コマンドの提案の例です。)suggest-command <command><command>suggest-command

どうやってするか?


1
ターミナルアイコンを右クリックして、[新しいターミナルを開く]をクリックします。
ラファエル14年

ラーメンのように聞こえたら申し訳ありませんが、それはあなたの質問から理解したことです。
ラファエル14年

gnome-terminal right?
Braiam

新しいターミナルを開くと問題が解決する場合がありますが、単にnohupを使用し、出力をリダイレクトして、エディターをバックグラウンドに配置することもできます。nohup apropos editor &> /dev/null &
パンサー14年

私も理解していません:なぜ新しいターミナルを開かないのですか?
ヨーゼフクリムク

回答:


29

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

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

または(まもなく):

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

それは(あなたの最後のコマンドでgnome-terminalの開き!!を実行し、それが)ままでものような対話型のコマンドを使用して、シェルにコマンドの出力で開いtopたりless...

あなたの場合、その:

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

または

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

2
少し短くgnome-terminal -x sh -c "!!; bash"
TuKsn 14年

10

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

xterm -hold -e 'apropos editor' & 

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

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

xterm -e 'apropos editor | less' & 

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


gnome-terminalその代わりに使用するxterm方法はありますか?
パンディア14年

xfce4-terminalでこれを行う方法に興味があります(xfce4-terminalは新しいプロセスを開きますが、xtermは開きません。私の場合、実際には新しいプロセスは必要ありません)。
シュル

7

各ターミナルは、他のプログラムと同じように起動でき&、バックグラウンドに入れたり、引数のリストなどを提供したりするプログラムです。

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

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

-holdof xterm--holdofの違いに注意してください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

3

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

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

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


コマンドが終了/終了した後に終了する、新しく開いたターミナルを保持する方法は?
パンディア14年

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

YouTubeビデオ:


1

Ubuntuの18.04 LTSの後、あなたはから切り替えたいこと-e--、すなわち、gnome-terminal -egnome-terminal --あるため-e-xの両方廃止されました。


1

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

terminator -x "script.sh; bash"

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

terminator -e "script.sh; bash"

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

Ubuntu 18.04 LTSでテスト済み。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.