Відповіді:
Створіть невеликий сценарій, який підніме термінал 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
докладнішу інформацію про те, як це зробити.
Існують також різні інші методи, які краще працюють з іншими менеджерами вікон.
чому б не спробувати tilda
або guake
, обидва доступні у сховищах ubuntu. Хоча вони не роблять конкретно те, що ти шукаєш, я впевнений, що це те, що ти шукав, але не знав, що воно існує. ;)
EDIT : добре, я був трохи розпливчастим, більше інформації випливає:
з Вікіпедії :
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
Ще один варіант: запуск або перемикання. Сценарій покладається на 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.
| head -n1
після пошуку gnome-terminal windows, щоб запобігти помилці, якщо знайдено більше одного вікна