現在のターミナルから新しいターミナルウィンドウを開くコマンド


46

実行sudo apt-get install xdotoolしてxdotoolをインストールxdotool key ctrl+alt+tし、現在のウィンドウから新しいターミナルウィンドウを開くコマンドをスロー しましたが、機能していませんでした。

現在のgnome-terminalから新しいターミナルウィンドウを開くコマンドは何ですか?


1
CTRL +シフト+ N
WIM

回答:


67

このコマンドだけでできます:

gnome-terminal

通常、ターミナルからコマンドを開き、分離する(開いたプログラムを閉じることなくプロンプトに戻る)場合は、次のようなものを使用する必要があります。

gnome-terminal & disown

ただし、親端末は同じコマンドが使用されていることを検出しているようなので、それを行う必要はなく、gnome-terminal十分です。また、これは実行しているときに起こるようですxfce4-terminal、Xfceの者の端末からkonsole実行するときにKDEのからだけでなく(が動作するようには思えないxtermからxterm(も参照xterm xterm) -実行中konsoleのGnome /ユニティ&Xfceのの端末作品からだけでなく、あなたは、GNOMEターミナルではなく、Xfceの者の端末について必要xfce4-terminal & disown)。

詳細については、gnome-terminalのマニュアルページをご覧ください

 gnome-terminal  [-e,  --command=STRING]   [-x, --execute ]  [--window-with-profile=PROFILENAME]  [--tab-with-profile=PRO‐
       FILENAME]    [--window-with-profile-internal-id=PROFILEID]    [--tab-with-profile-internal-id=PROFILEID]    [--role=ROLE]
       [--show-menubar]   [--hide-menubar]   [--geometry=GEOMETRY]   [--disable-factory]  [-t, --title=TITLE]  [--working-direc‐
       tory=DIRNAME]  [--usage]  [-?, --help]

1
次のように、おそらくバックグラウンドで実行する必要がありますgnome-terminal &。そうしないと、現在の端末は他の端末の実行でビジー状態になるため使用できなくなります。そのため、使用可能な端末が1つだけになり、ポイントが失われる可能性があります。
ラファウチェエラク14年

1
面白い。あなたは明らかに正しいですが、私も間違っていません:)私はちょうどそれを詳細にチェックしました。私が実行している場合はgnome-terminal 一方で、それの別のインスタンスがすでに実行されている(これは私がこのコマンドを起動するために使用しているものであってもよい) -代わりに新しいインスタンスを実行するのであるため、それは確かに、すぐに終了しgnome-terminal、それが現在のいずれかを実行すると、新しいを開くようにすることを伝えます窓。トリッキー。しかし、他の何かgnome-terminalから実行し、実行中の他のインスタンスがない場合、前のコメントで説明したように実行し、起動に使用された端末をブロックします。gnome-terminal
ラファウチェーラク14年

1
@RafałCieślak-とにかく、konsoleまったく必要ないようです...変です。私はこの質問/回答がなぜそんなに人気があるのか​​分かりません:)
Wilf

2
おかげであなたは同じディレクトリでターミナルを開きたい場合は非常に多く、あなたがこれを行うことができ、gnome-terminal .
kisanme

1
Ubuntu MATE(16.xなど)を使用している場合はmate-terminal
フランクノック

8

現在のターミナルから新しいターミナルウィンドウを開くコマンド、

xdotool key ctrl+shift+n

をインストールするにはxdotool

sudo apt-get install xdotool

4
Ctrl + Shift + Tは、新しいターミナルタブを開きます。
ガブリエルF 14年

2
これは新しいターミナルです...が、新しいウィンドウではなく新しいタブにあります。
ガブリエルF 14年

1
他の多くのオプションを使用xdotool key ctrl+shift+nしているgnome-terminalときに使用する理由はありません。man gnome-terminalこの意味で参照してください。
ラドゥラデアヌ14年

1
Ctrl + Shift + Nは新しいターミナルウィンドウを開きます。
シッダールタ

それでも、これはきちんと考える:)(Xサーバのものと互換性のない実装のための)ミールやウェイランドのための任意の等価がある
Wilf

0

次のスクリプトは、現在のgnome-terminalウィンドウに新しいタブを開き、オプションでそのタブにタイトルを付けます。これはどのウィンドウからでも機能します。gnome-terminalウィンドウで実行する必要はありません。また、実行中のgnome-terminalがない場合は、起動します。唯一の注意点は、新しいタブを開くためのホットキーを変更xdotool key ctrl+Tした場合、代わりにホットキーを使用するように行を変更する必要がある場合があることです。

#!/bin/bash

DELAY=1
# get title we are going to set tab too, default to Terminal
title="Terminal"
if [ $# -eq 1 ]; then
    title="$1"
fi    

# get pid of running terminal server
TPID=$(ps -C gnome-terminal-server -o pid | tail -1 | sed -e's/\s//g')
if [ ${TPID} == "PID" ]; then
    # no terminal process running yet, so just start one
    gnome-terminal -t "$title" --tab
    exit 0
fi

# there is a terminal, get window id of the running terminal server
WID=$(wmctrl -lp | awk -v pid=$TPID '$3==pid{print $1;exit;}')
# get title of currently active tab
TTITLE=`xwininfo -id 0x5000006 | grep xwininfo | awk '{print $5;exit}'`
if [ "$TTITLE" == "\"Terminal\"" ]; then
    # so we don't go into an infinite loop later
    TTITLE="we had a terminal named terminal $$"
fi
# get focus on active terminal tab
xdotool windowfocus $WID
# use keyboard shortcut to open new tab
xdotool key ctrl+T

# see if we have created tab and are in terminal
NTITLE=`xwininfo -id 0x5000006 | grep xwininfo | awk '{print $5;exit}'`
waited=0
while [ "$TTITLE" == "$NTITLE" ]; do
    # sleep for 1 second before we try again
    xdotool sleep 1
    NTITLE=`xwininfo -id 0x5000006 | grep xwininfo | awk '{print $5;exit}'`
    if [ $waited == 0 ]; then
    echo "Waiting "
    waited=1
    fi
    echo -n "."
done    
if [ $waited == 1 ]; then
    echo ""
fi    

# active tab is the new one we created, wait DELAY seconds just to be sure we can type into it to set tab name
xdotool sleep $DELAY
xdotool type --clearmodifiers "termtitle $title"
xdotool key Return
# make tab the active window and raise it to top
wmctrl -i -a $WID
exit 0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.