ฉันติดตั้ง xdotool โดยเรียกใช้sudo apt-get install xdotool
และโยน xdotool key ctrl+alt+t
คำสั่งเพื่อเปิดหน้าต่างเทอร์มินัลใหม่จากปัจจุบัน แต่มันไม่ทำงาน
คำสั่งให้เปิดหน้าต่างเทอร์มินัลใหม่จาก gnome-terminal ปัจจุบันคืออะไร
ฉันติดตั้ง xdotool โดยเรียกใช้sudo apt-get install xdotool
และโยน xdotool key ctrl+alt+t
คำสั่งเพื่อเปิดหน้าต่างเทอร์มินัลใหม่จากปัจจุบัน แต่มันไม่ทำงาน
คำสั่งให้เปิดหน้าต่างเทอร์มินัลใหม่จาก gnome-terminal ปัจจุบันคืออะไร
คำตอบ:
เพียงแค่คำสั่งนี้จะทำ:
gnome-terminal
โดยปกติถ้าคุณต้องการให้คำสั่งเปิดจากเทอร์มินัลและแยกจากกัน(ดังนั้นมันกลับไปที่พรอมต์โดยไม่ต้องปิดโปรแกรมที่เปิด)คุณต้องใช้สิ่งนี้:
gnome-terminal & disown
อย่างไรก็ตามเทอร์มินัลหลักจะตรวจพบว่ามีการใช้คำสั่งเดียวกันดังนั้นคุณไม่จำเป็นต้องทำเช่นนั้นและgnome-terminal
จะพอเพียง นอกจากนี้ยังดูเหมือนว่าจะเกิดขึ้นเมื่อทำงานxfce4-terminal
จาก Xfce ของขั้วkonsole
จาก KDE เช่นกัน (ดูเหมือนจะไม่ทำงานเมื่อทำงานxterm
จากxterm
(เห็นxterm xterm
) - การทำงานkonsole
จากคำพังเพย / ความสามัคคีและ Xfce ทำงานของขั้วเช่นกันแต่สำหรับ Xfce ของขั้วใน terminal คำพังเพยคุณ ต้องการ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]
gnome-terminal &
คุณอาจต้องการที่จะทำงานในพื้นหลังที่ชอบ: ไม่เช่นนั้นเทอร์มินัลปัจจุบันจะไม่สามารถใช้งานได้เนื่องจากจะไม่ว่างในการเรียกใช้งานเครื่องอื่นดังนั้นคุณจึงต้องจบด้วยเทอร์มินัลที่ใช้งานได้เพียงเครื่องเดียวซึ่งอาจหายไป
gnome-terminal
ในขณะที่อินสแตนซ์อื่นของมันกำลังทำงานอยู่ (อาจเป็นอันที่ฉันใช้เพื่อเรียกใช้คำสั่งนี้) - มันจะเสร็จสิ้นทันทีโดยทันทีเพราะแทนที่จะเรียกใช้อินสแตนซ์gnome-terminal
ใหม่ หน้าต่าง. เขี้ยวลากดิน แต่ถ้าฉันเรียกใช้gnome-terminal
จากสิ่งอื่นและไม่มีอินสแตนซ์อื่น ๆ ของการgnome-terminal
ทำงานมันจะเป็นไปตามที่ฉันอธิบายไว้ในความคิดเห็นก่อนหน้าปิดกั้นเทอร์มินัลที่ใช้เพื่อเปิดใช้งาน
konsole
ดูเหมือนว่าไม่ต้องการเลย ... แปลก ฉันไม่รู้เลยว่าทำไมคำถาม / คำตอบนี้จึงเป็นที่นิยมมาก :)
gnome-terminal .
mate-terminal
คำสั่งเพื่อเปิดหน้าต่างเทอร์มินัลใหม่จากเทอร์มินัลปัจจุบัน
xdotool key ctrl+shift+n
การติดตั้งxdotool
,
sudo apt-get install xdotool
xdotool key ctrl+shift+n
ในขณะที่ใช้งานgnome-terminal
คุณมีตัวเลือกอื่น ๆ มากมาย; เห็นman gnome-terminal
ในแง่นี้
สคริปต์ต่อไปนี้จะเปิดแท็บใหม่ในหน้าต่าง 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