Mevcut terminalden yeni terminal penceresi açılsın mı?


45

Ben çalıştırarak xdotool yüklü sudo apt-get install xdotoolve atış xdotool key ctrl+alt+tçalışma değildi one.But akımından yeni terminal penceresi açmak için komut.

Geçerli gnome-terminalinden yeni bir terminal penceresi açma komutu neydi?


1
ctrl + shift + n
wim

Yanıtlar:


66

Sadece bu komut yapacak:

gnome-terminal

Normalde bir komutun terminalden açılmasını ve ayrılmasını istiyorsanız (bu nedenle açılmış programı kapatmak zorunda kalmadan istemine döner) , bunun gibi bir şey kullanmanız gerekir:

gnome-terminal & disown

Bununla birlikte, ana terminal aynı komutun kullanıldığını algıladığı için bunu yapmanız gerekmeyecek ve gnome-terminalyeterli olacaktır. Bu aynı zamanda çalıştırırken gerçekleşmesi gibi görünüyor xfce4-terminalXfce terminal dan konsoleçalıştırırken (işe görünmüyor sıra KDE en dan xtermitibaren xterm(ayrıca bkz xterm xterm) - Running konsoleGnome / Unity & XFCE terminal eserlerden de ancak Xfce terminal cüce terminali içinde sizin için ihtiyaç xfce4-terminal & disown).

Daha fazla ziyaret için gnome-terminalmanuel sayfa :

 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
Muhtemelen bunun gibi, arka planda çalıştırmak istiyorum: gnome-terminal &. Aksi taktirde mevcut terminal kullanılamaz hale gelir, çünkü diğerini çalıştırmakla meşgul olur - bu nedenle sadece eksik olan tek bir terminalle karşılaşırsınız.
Rafał Cieślak

1
İlginç. Görünüşe göre haklısın, ama ben de yanılmıyorum :) Ben sadece detaylı olarak kontrol ettim. Koşarsam gnome-terminal iken bunun başka bir örneği zaten çalışıyor (ben bu komutu başlatmak için kullanıyorum biri olabilir) - yerine yeni bir örneğini çalışan çünkü gerçekten de hemen bitirir gnome-terminal, şu anda bir tane çalışan yeni açmaya söyler penceresi. Zor. Ama çalıştırırsanız gnome-terminaldan başka bir şey ve başka hiçbir örnek vardır gnome-terminalçalışan, bunu başlatmak için kullanılan terminalin engelleme, önceki yorumunda açıklandığı gibi öyle.
Rafał Cieślak

1
@ RafałCieślak - Neyse, konsolehiç de gerekmez gibi ... garip. Bu sorunun / sorunun neden bu kadar popüler olduğunu bilmiyorum :)
Wilf

2
Çok teşekkürler, aynı dizinde bir terminal açmak istiyorsanız, bunu yapabilirsiniz,gnome-terminal .
kisanme

1
Eğer Ubuntu MATE'deyseniz (örn. 16.x) bumate-terminal
Frank

8

Mevcut terminalden yeni terminal penceresi açma komutu,

xdotool key ctrl+shift+n

Yüklemek için xdotool,

sudo apt-get install xdotool

4
Ctrl + Shift + T yeni bir terminal sekmesi açar.
GabrielF

2
Yeni bir terminaldir ... ama yeni pencereden ziyade yeni bir sekmede.
GabrielF

1
xdotool key ctrl+shift+nKullanırken kullanmak için hiçbir neden göremiyorum gnome-terminal, başka birçok seçeneğiniz var; bkz man gnome-terminalbu anlamda.
Radu Rădeanu

1
Ctrl + Shift + N yeni bir terminal penceresi açacaktır.
Siddhartha

Yine de bu derli toplu :) :) Mir veya Wayland için eşdeğer var mı (X sunucu sayfalarıyla uyumlu olmayan uygulamalar için)
Wilf

0

Aşağıdaki komut dosyası, geçerli gnome-terminal penceresinde yeni bir sekme açar ve isteğe bağlı olarak bu sekmeye bir başlık verir. Bu, herhangi bir pencereden çalışır, çalıştırmak için cüce-terminal penceresinde olmanız gerekmez. Ve eğer bir gnome-terminal çalışması yoksa, bir tane başlayacaktır. Tek uyarı, kısayol tuşunu yeni bir sekme açmak için değiştirdiyseniz, xdotool key ctrl+Tkısayol tuşunuzu kullanmak için satırı değiştirmeniz gerekebilir .

#!/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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.