Perintah untuk membuka jendela terminal baru dari terminal saat ini?

46

Saya menginstal xdotool dengan menjalankan sudo apt-get install xdotooldan melempar xdotool key ctrl+alt+tperintah untuk membuka jendela terminal baru dari yang sekarang. Tapi itu tidak berfungsi.

Apa perintah untuk membuka jendela terminal baru dari terminal gnome saat ini?

Avinash Raj
sumber
1
ctrl + shift + n
wim

Jawaban:

67

Hanya perintah ini yang akan dilakukan:

gnome-terminal

Biasanya jika Anda ingin perintah terbuka dari terminal dan terpisah (sehingga kembali ke prompt tanpa harus menutup program yang dibuka) , Anda harus menggunakan sesuatu seperti ini:

gnome-terminal & disown

Namun terminal induk tampaknya mendeteksi bahwa perintah yang sama sedang digunakan sehingga Anda tidak perlu melakukan itu dan gnome-terminalakan cukup. Hal ini juga tampaknya terjadi ketika menjalankan xfce4-terminaldari Xfce terminal, konsoledari KDE juga (tampaknya tidak bekerja ketika menjalankan xtermdari xterm(lihat juga xterm xterm) - Menjalankan konsoledari karya terminal Gnome / Unity & Xfce juga , tapi untuk Xfce terminal di gnome terminal Anda perlu xfce4-terminal & disown).

Untuk lebih lanjut kunjungi gnome-terminalhalaman manual :

 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]
Wilf
sumber
1
Anda mungkin ingin menjalankannya di latar belakang, seperti itu: gnome-terminal &. Kalau tidak, terminal saat ini tidak akan dapat digunakan, karena akan sibuk menjalankan yang lain - sehingga Anda hanya berakhir dengan satu terminal yang dapat digunakan, yang mungkin tidak ada gunanya.
Rafał Cieślak
1
Menarik. Anda tampaknya benar, namun, saya juga tidak salah :) Saya baru saja memeriksanya secara rinci. Jika saya menjalankan gnome-terminal ketika instance lain sudah berjalan (mungkin itu yang saya gunakan untuk meluncurkan perintah ini) - itu memang selesai segera, karena alih-alih menjalankan instance baru gnome-terminal, ia mengatakan bahwa saat ini menjalankan satu untuk membuka yang baru jendela. Rumit. Tetapi jika saya lari gnome-terminaldari hal lain , dan tidak ada contoh lain gnome-terminalmenjalankan, itu seperti yang saya jelaskan di komentar sebelumnya, memblokir terminal yang digunakan untuk meluncurkannya.
Rafał Cieślak
1
@ RafałCieślak - lagi pula, konsolesepertinya tidak perlu sama sekali ... aneh. Saya tidak tahu mengapa pertanyaan / jawaban ini sangat populer :)
Wilf
2
Terima kasih banyak, jika Anda ingin membuka terminal dengan direktori yang sama Anda bisa melakukan ini,gnome-terminal .
kisanme
1
Jika Anda menggunakan Ubuntu MATE (mis. 16.x) itumate-terminal
Frank Nocke
8

Perintah untuk membuka jendela terminal baru dari terminal saat ini,

xdotool key ctrl+shift+n

Untuk menginstal xdotool,

sudo apt-get install xdotool
Avinash Raj
sumber
4
Ctrl + Shift + T akan membuka tab terminal baru.
GabrielF
2
Ini adalah terminal baru ... tetapi di tab baru dan bukan di jendela baru.
GabrielF
1
Saya tidak melihat alasan untuk menggunakannya xdotool key ctrl+shift+nsaat menggunakan gnome-terminalAnda memiliki banyak pilihan lain; lihat man gnome-terminaldalam pengertian ini.
Radu Rădeanu
1
Ctrl + Shift + N akan membuka jendela terminal baru.
Siddhartha
Masih berpikir ini rapi :) apakah ada yang setara untuk Mir atau Wayland (untuk implementasi tidak kompatibel dengan barang-barang server X)
Wilf
0

Script berikut akan membuka tab baru di jendela gnome-terminal saat ini dan secara opsional memberi judul pada tab itu. Ini berfungsi dari jendela mana pun, Anda tidak harus berada di jendela terminal gnome untuk menjalankannya. Dan, jika tidak ada terminal gnome yang berjalan, ia akan memulai. Satu-satunya peringatan adalah bahwa jika Anda mengubah hotkey untuk membuka tab baru, Anda mungkin harus mengubah baris xdotool key ctrl+Tuntuk menggunakan hotkey Anda.

#!/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
seth
sumber