Терминал в стиле Quake с расщеплением в Gnome, кроме Yakuake

Самым распространенным терминалом в Quake-стиле в Gnome, кажется, являются Guake и Tilda, но они не могут разделиться, чтобы показать несколько оболочек в одной вкладке, как это делает Yakuake. Есть ли альтернатива, которая может это сделать?

12
задан 5 April 2012 в 10:48

5 ответов

Для пользователей Xenial сделайте это. До сих пор он прекрасно работает с терминатором .

Это будет запускаться / показываться / скрываться при использовании сочетания клавиш

У меня было F12 сопоставлено, чтобы показать / скрыть Guake некоторое время, но я хотел панели терминала.

sudo apt update && sudo apt install xdotool wmctrl

cd ~ && touch terminator_show_hide.sh && sudo chmod +x terminator_show_hide.sh

Вставьте это в файл:

#!/bin/bash                                                                                                            
#
# This script does this:
# launch an app if it isn't launched yet,
# focus the app if it is launched but not focused,
# minimize the app if it is focused.
#
# by desgua - 2012/04/29
# modified by olds22 - 2012/09/16
#  - customized to accept a parameter
#  - made special exception to get it working with terminator


# First let's check if the needed tools are installed:

tool1=$(which xdotool)
tool2=$(which wmctrl)

if [ -z $tool1 ]; then
  echo "Xdotool is needed, do you want to install it now? [Y/n]"
  read a
  if [[ $a == "Y" || $a == "y" || $a = "" ]]; then
    sudo apt-get install xdotool
  else
    echo "Exiting then..."
    exit 1
  fi
fi

if [ -z $tool2 ]; then
  echo "Wmctrl is needed, do you want to install it now? [Y/n]"
  read a
  if [[ $a == "Y" || $a == "y" || $a = "" ]]; then
    sudo apt-get install wmctrl
  else
    echo "Exiting then..."
    exit 1
  fi
fi


# check if we're trying to use an app that needs a special process name
# (because it runs multiple processes and/or under a different name)
app=$1
if [[ $app == terminator ]]; then
  process_name=usr/bin/terminator
else
  process_name=$app
fi

# Check if the app is running (in this case $process_name)

#pid=$(pidof $process_name) # pidof didn't work for terminator
pid=$(pgrep -f $process_name)

# If it isn't launched, then launch

if [ -z $pid ]; then
  $app

else

  # If it is launched then check if it is focused

  foc=$(xdotool getactivewindow getwindowpid)

  if [[ $pid == $foc ]]; then

    # if it is focused, then minimize
    xdotool getactivewindow windowminimize
  else
    # if it isn't focused then get focus
    wmctrl -x -R $app
  fi
fi

exit 0

Затем удалите карту Guake, если замените тот же ярлык, как я.

Откройте GUI системных настроек -> Клавиатура -> Ярлыки -> Пользовательские ярлыки

Нажмите + и добавьте это в командную строку: /home/you/terminator_show_hide.sh terminator

Затем сопоставьте ключ прямо здесь, и вы должны хорошо идти

Это слегка измененная версия https://askubuntu.com/a/189603/597130

Я не упомянул папку bin, и она не будет стрельба из home/me/.local/bin, но когда я переместил его в /home/me/, он работал мгновенно.

Теперь у меня есть лучшее из обоих миров, Guake Show / Hide & amp; СТЕКЛА !! К вашему сведению: я размещаю эту информацию здесь, потому что я нашел это сообщение при первом поиске. Я нашел другой пост после рытья немного более широкой ямы.

0
ответ дан 5 April 2012 в 10:48

Вы можете написать небольшой скрипт, чтобы любое окно выводилось на передний план. Хотя он не скользит сверху вниз, как в землетрясении, он служит цели. Я использую терминатор в качестве моего грид-терминала, так как он очень мощный.

Сценарий, который я использую для этого, приведен ниже. Поэтому сначала установите terminator и wmctrl , затем поместите этот скрипт в место, где вы храните свои скрипты и добавьте комбинацию клавиш (например, Ctrl + `) и все готово.

Теперь, когда вы нажимаете Ctrl + `терминатор выходит вперед и снова нажимает то же самое, он переходит к задней части других окон.

#!/bin/bash
TM_STATE=/tmp/tm_stat
WIN=$( wmctrl -lGx | grep -i terminator | awk '{print $1}' );
if [[ $WIN == "" ]]
then
   terminator&
   exit 0
else
   if [[ -e $TM_STATE ]]
   then
      wmctrl -i -r $WIN -b remove,below
      wmctrl -i -r $WIN -b add,above
      #wmctrl -i -r $WIN -b remove,shaded
      #wmctrl -i -a $WIN 
      rm $TM_STATE
   else
      wmctrl -i -r $WIN -b remove,above
      wmctrl -i -r $WIN -b add,below
      #wmctrl -i -r $WIN -b add,shaded
      touch $TM_STATE
   fi
fi
0
ответ дан 5 April 2012 в 10:48

Попробуйте Guake с tmux , чтобы получить функцию расщепления.


Для Ubuntu 14.04

Terra может быть запущена на Ubuntu 14.04. См. этот ответ для подробностей


Для Ubuntu 13.04 и старше

В качестве альтернативы существует новый экспериментальный проект под названием Terra .

Terra - эмулятор терминала на основе GTK + 3.0 с полезным пользовательским интерфейсом, он также поддерживает несколько терминалов с разделением экрана по горизонтали или вертикали.

Terra Terminal Emulator Screenshot

Быстрая установка:

sudo add-apt-repository ppa:ozcanesen/terra-terminal
sudo apt-get update
sudo apt-get install terra

Для получения дополнительной информации см. статью WebUpd8 .

0
ответ дан 5 April 2012 в 10:48

Бёбу

Я использую (сейчас 16.04) Гуаке с Бёбу в качестве интерпретатора оболочки, который по умолчанию использует tmux ( вероятно, лучше , чем screen).

Три шага

  1. Установка: sudo apt-get install byobu (PPA не требуется).
  2. Добавьте его в доступные оболочки: which byobu | tee -a /etc/shells, как я сказал в этом выпуске Guake Github .
  3. В настройках Guake (guake-prefs) выберите Byobu в качестве переводчика по умолчанию: image
  4. Необязательно: Скрыть панель вкладок, поскольку вы будете использовать Byobu для этого:

    image

  5. Если ярлык не работает, попробуйте отключить Guake, который может помешать (в моем случае было Ctrl + F2 < / kbd> для вертикального разделения): screenshot

Другие предложения

  1. Изучите ярлыки с помощью Shift + F1 или этот отличный скринкаст .
  2. Изучите доступные команды терминала byobu с помощью apropos byobu
  3. Чтобы использовать клавиши fn в Midnight Commander, используйте Alt + или Shift + F12 для отключения клавиш F byobu.
  4. Tilix Режим землетрясения кажется приемлемой альтернативой Guake.

screenshot

0
ответ дан 5 April 2012 в 10:48

Я использую терминатор в качестве основного терминала, и я пробовал Guake и Tilda, но пропустил мозаику в раскрывающемся списке. Я пошел с предложением @Pablo Bianchi, упомянутым выше в качестве дополнительного варианта: Tilix в режиме Quake.

Я не хотел использовать терминатор в качестве раскрывающегося списка, так как у меня обычно открыто от 1 до 5 (да, 5!) полноэкранных экземпляров терминатора в любой момент времени, и я не хотел иметь дело с логикой наличия отдельного config только для одного экземпляра.

Я установил tilix на Ubuntu 18.04 из репозитория:

$ sudo apt install tilix

Установил конфигурацию, цвета и т. д. и настройки режима Quake в меню «Настройки», затем создал запись запуска приложения (я использую Cinnamon DE) для Tilix в графическом интерфейсе. , но вы можете воспроизвести это следующим образом:

$ cat <<EOF > /tmp/Tilix\ Drop-Down.desktop
[Desktop Entry]
Type=Application
Exec=/usr/bin/tilix --quake
X-GNOME-Autostart-enabled=true
NoDisplay=false
Hidden=false
Name[en_US]=Tilix Drop-Down
Comment[en_US]=Launch Tilix in Quake mode
X-GNOME-Autostart-Delay=5
EOF

Этот метод автозапуска должен работать не только для Cinnamon, я ожидаю, что он будет работать для большинства рабочих столов на основе GTK (я думаю, что это часть стандарта XDG freedesktop...?).

Наконец, установите горячую клавишу по вашему выбору с помощью метода, используемого вашей DE.В Cinnamon это хранится в dconf, что означает, что гораздо проще использовать графический интерфейс настроек, чем скрипт для получения вещей в базе данных dconf.

Раньше я использовал Tilix, почти заменил Terminator, но я думаю, что использование памяти заставило меня переключиться обратно. При большом количестве экземпляров терминаторов, которые я запускаю, важно уменьшить использование памяти. Запуск Tilix в ограниченном случае, таком как режим Quake, как мы здесь, вероятно, будет просто прекрасным.

1
ответ дан 7 May 2020 в 23:24

Другие вопросы по тегам:

Похожие вопросы: