ฉันมักจะใช้เครื่องมาก
ดังนั้นฉันสงสัยว่ามีวิธีที่ฉันสามารถทำให้Ctrl+ Alt+ Tโฟกัสเทอร์มินัลที่มีอยู่หากมีหรือไม่สร้างเทอร์มินัลใหม่
ฉันมักจะใช้เครื่องมาก
ดังนั้นฉันสงสัยว่ามีวิธีที่ฉันสามารถทำให้Ctrl+ Alt+ Tโฟกัสเทอร์มินัลที่มีอยู่หากมีหรือไม่สร้างเทอร์มินัลใหม่
คำตอบ:
สร้างสคริปต์เล็ก ๆ ซึ่งจะยกเทอร์มินัล 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
ข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำเช่นนี้
นอกจากนี้ยังมีวิธีการอื่น ๆ อีกมากมายที่ทำงานได้ดีกว่ากับตัวจัดการหน้าต่างอื่น ๆ
ทำไมคุณไม่ลองtilda
หรือguake
ทั้งสองอย่างมีอยู่ในที่เก็บอูบุนตู แม้ว่าพวกเขาจะไม่ได้ทำสิ่งที่คุณต้องการโดยเฉพาะฉันแน่ใจว่าพวกเขาเป็นสิ่งที่คุณกำลังมองหา แต่ไม่รู้ว่ามันมีอยู่จริง ;)
แก้ไข : ตกลงฉันค่อนข้างคลุมเครือข้อมูลเพิ่มเติมดังนี้:
จากวิกิพีเดีย :
Tilda เป็นเทอร์มินัลจำลอง GTK + การออกแบบได้รับแรงบันดาลใจจากคอนโซลในเกมคอมพิวเตอร์เช่น Quake ซึ่งเลื่อนลงมาจากด้านบนของหน้าจอเมื่อกดคีย์โดยทั่วไปคือตัวหนอนและเลื่อนกลับขึ้นเมื่อกดปุ่มอีกครั้ง
การเรียกใช้ Tilda สามารถทำได้เร็วกว่าการเรียกใช้เทอร์มินัลใหม่พร้อมแป้นพิมพ์ลัดเนื่องจากโปรแกรมโหลดเข้าสู่หน่วยความจำแล้ว มันจะมีประโยชน์กับคนที่พบว่าตัวเองเปิดและปิดเทอร์มินัลสำหรับงานที่แปลก
guake
มันเป็นสิ่งเดียวกันความแตกต่างเพียงอย่างเดียวที่ฉันสังเกตคือฉันไม่สามารถเปิดลิงก์ http โดย ctrl + คลิกซึ่งฉันพบว่าน่ารำคาญ
รุ่นของฉัน (=
สคริปต์เพื่อเรียกใช้ / เพิ่มแอพใด ๆ :
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
ลอง
sudo apt-get install wmctrl
wmctrl -xa 'gnome-terminal-server.Gnome-terminal'
ไปที่การตั้งค่าระบบ - Keyborad เพิ่มทางลัดที่กำหนดเองและวางคำสั่ง wmctrl ที่นั่น มันได้ผล.
โดยที่สตริง gnome-terminal- * มาจาก
wmctrl -xl
อีกตัวเลือกหนึ่ง: เรียกใช้หรือเปลี่ยน สคริปต์อาศัย 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ทางลัด
| head -n1
หลังจากการค้นหาหน้าต่าง gnome-terminal เพื่อป้องกันไม่ให้เกิดข้อผิดพลาดถ้ามากกว่าหนึ่งหน้าต่างจะพบ