โฟกัสเทอร์มินัลที่มีอยู่ด้วยทางลัด `Ctrl-Alt-T`


16

ฉันมักจะใช้เครื่องมาก

ดังนั้นฉันสงสัยว่ามีวิธีที่ฉันสามารถทำให้Ctrl+ Alt+ Tโฟกัสเทอร์มินัลที่มีอยู่หากมีหรือไม่สร้างเทอร์มินัลใหม่

คำตอบ:


24

สร้างสคริปต์เล็ก ๆ ซึ่งจะยกเทอร์มินัล GNOME:

echo 'xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)'> ~/raiseterminal.sh && chmod +x ~/raiseterminal.sh

หรือถ้าคุณต้องการตรวจสอบว่าเทอร์มินัลกำลังทำงานอยู่ให้ใช้:

echo -e $'if ps aux | grep "[g]nome-terminal" > /dev/null\n then xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)\n else gnome-terminal &\nfi' > ~/raiseterminal.sh && chmod +x ~/raiseterminal.sh

สิ่งนี้จะสร้างสคริปต์ ~ / raumer_id.sh ด้วยเนื้อหานี้:

if ps aux | grep "[g]nome-terminal" > /dev/null                                                                                                                                                                                
 then xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)                                                                                                                                            
 else gnome-terminal&                                                                                                                                                                                                          
fi          

เปิดการตั้งค่าเพื่อตั้งค่าแป้นพิมพ์ลัดที่กำหนดเองและตั้งค่าคำสั่งเป็น/home/$USER/raiseterminal.shแต่ต้องแน่ใจว่าได้เปลี่ยนUS $เป็นชื่อผู้ใช้จริงของคุณ

หากคุณต้องการยกระดับเทอร์มินัลบนหน้าจอหรือเดสก์ท็อปเฉพาะดูxdotool search --helpข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำเช่นนี้

นอกจากนี้ยังมีวิธีการอื่น ๆ อีกมากมายที่ทำงานได้ดีกว่ากับตัวจัดการหน้าต่างอื่น ๆ


คุณสามารถเพิ่ม| head -n1หลังจากการค้นหาหน้าต่าง gnome-terminal เพื่อป้องกันไม่ให้เกิดข้อผิดพลาดถ้ามากกว่าหนึ่งหน้าต่างจะพบ
ggalmazor

8

ทำไมคุณไม่ลองtildaหรือguakeทั้งสองอย่างมีอยู่ในที่เก็บอูบุนตู แม้ว่าพวกเขาจะไม่ได้ทำสิ่งที่คุณต้องการโดยเฉพาะฉันแน่ใจว่าพวกเขาเป็นสิ่งที่คุณกำลังมองหา แต่ไม่รู้ว่ามันมีอยู่จริง ;)

แก้ไข : ตกลงฉันค่อนข้างคลุมเครือข้อมูลเพิ่มเติมดังนี้:

จากวิกิพีเดีย :

Tilda เป็นเทอร์มินัลจำลอง GTK + การออกแบบได้รับแรงบันดาลใจจากคอนโซลในเกมคอมพิวเตอร์เช่น Quake ซึ่งเลื่อนลงมาจากด้านบนของหน้าจอเมื่อกดคีย์โดยทั่วไปคือตัวหนอนและเลื่อนกลับขึ้นเมื่อกดปุ่มอีกครั้ง

การเรียกใช้ Tilda สามารถทำได้เร็วกว่าการเรียกใช้เทอร์มินัลใหม่พร้อมแป้นพิมพ์ลัดเนื่องจากโปรแกรมโหลดเข้าสู่หน่วยความจำแล้ว มันจะมีประโยชน์กับคนที่พบว่าตัวเองเปิดและปิดเทอร์มินัลสำหรับงานที่แปลก

guake มันเป็นสิ่งเดียวกันความแตกต่างเพียงอย่างเดียวที่ฉันสังเกตคือฉันไม่สามารถเปิดลิงก์ http โดย ctrl + คลิกซึ่งฉันพบว่าน่ารำคาญ


1

รุ่นของฉัน (=

สคริปต์เพื่อเรียกใช้ / เพิ่มแอพใด ๆ :

PID=$$
xdotool search --class $1 | while read line
do
  echo "$line"
  if [ `xdotool windowactivate $line 2> /dev/stdout | grep -c fail` -eq 0 ]
    then
    kill $PID
    exit
  fi
done
## Launch the program if we reach here
$1 & disown

เช่น

sh ~/raise.sh chromium

0

ลอง

sudo apt-get install wmctrl
wmctrl -xa 'gnome-terminal-server.Gnome-terminal'

ไปที่การตั้งค่าระบบ - Keyborad เพิ่มทางลัดที่กำหนดเองและวางคำสั่ง wmctrl ที่นั่น มันได้ผล.

โดยที่สตริง gnome-terminal- * มาจาก

wmctrl -xl

0

อีกตัวเลือกหนึ่ง: เรียกใช้หรือเปลี่ยน สคริปต์อาศัย wmctrl เพื่อตรวจสอบว่าหน้าต่างเปิดอยู่หรือไม่ หากเป็นเช่นนั้นสคริปต์จะสลับไปยังหน้าต่างที่มีอยู่โดยให้ความสำคัญกับหน้าต่างที่มีอยู่บนเดสก์ท็อปปัจจุบัน มิฉะนั้นหน้าต่างใหม่จะ lauched สคริปต์นี้ถูกเผยแพร่โดยจอห์นดิกสัน

#!/bin/sh

terminal_wm_class="gnome-terminal"
terminal_exec="gnome-terminal"

# no terminal started, so start one
if [ -z "`wmctrl -lx | grep gnome-terminal`" ]; then
    $terminal_exec &
else
    # search for existing terminals on current desktop
    current_desk=`wmctrl -d | grep '*' | cut -d ' ' -f 1`
    term_on_this_desk=`wmctrl -lx | grep "$current_desk[ ]*$terminal_wm_class" | cut -d ' ' -f 1`
    if [ -n "$term_on_this_desk" ]; then
        wmctrl -i -a $term_on_this_desk
    else
        # no terminals on current desktop, so just open the first one we find
        wmctrl -x -a $terminal_wm_class
    fi;
fi;

วางสคริปต์นี้ในโฟลเดอร์ช่องเก็บในโฟลเดอร์บ้านของคุณและทำให้สามารถเรียกใช้งานได้ จากนั้นภายใต้แป้นพิมพ์ลัด (การตั้งค่า - แป้นพิมพ์) ให้ปิดการใช้งานปุ่มลัดที่มีอยู่สำหรับ "Launch terminal" ในส่วน "Launchers": คลิกที่มันจากนั้นกด Backspace เพื่อปิดการมอบหมายปัจจุบัน จากนั้นในส่วน "ทางลัดที่กำหนดเอง" ให้สร้างทางลัดที่กำหนดเองใหม่โดยคลิกที่ไอคอน + กรอกชื่อของสคริปต์ของคุณเป็น "คำสั่ง" และกำหนดมันCtrl+ Alt+ tทางลัด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.