Фокусуйте існуючий термінал за допомогою ярлика `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

Це створить сценарій ~ / підвищенняterminal.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, але переконайтеся, що ви зміните $ USER на власне ім'я користувача.

Якщо ви хочете підняти термінал лише на певному екрані або на робочому столі, перегляньте xdotool search --helpдокладнішу інформацію про те, як це зробити.

Існують також різні інші методи, які краще працюють з іншими менеджерами вікон.


Ви можете додати | head -n1після пошуку gnome-terminal windows, щоб запобігти помилці, якщо знайдено більше одного вікна
ggalmazor

8

чому б не спробувати tildaабо guake, обидва доступні у сховищах ubuntu. Хоча вони не роблять конкретно те, що ти шукаєш, я впевнений, що це те, що ти шукав, але не знав, що воно існує. ;)

EDIT : добре, я був трохи розпливчастим, більше інформації випливає:

з Вікіпедії :

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, щоб перевірити, чи вже відкрито вікно. Якщо він є, скрипт переходить на існуючий, надаючи пріоритет існуючому вікну на поточному робочому столі. Інакше відкриється нове вікно. Цей сценарій опублікував Вон Діксон .

#!/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;

Помістіть цей скрипт у папку бін у вашій домашній папці та зробіть його виконуваним. Потім у розділі "Клавіші швидкого доступу" (Налаштування - Клавіатура) відключіть існуючу гарячу клавішу для "Запуск терміналу" у розділі "Пускові установки": натисніть на неї, а потім натисніть Backspace, щоб відключити поточне призначення. Потім у розділі "Спеціальні ярлики" створіть новий спеціальний ярлик, натиснувши значок +. Заповніть ім'я свого сценарію як "команду" та призначте йому ярлик Ctrl+ Alt+ t.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.