14

The most common Quake-style terminal in Gnome seem to be Guake and Tilda, but they can't split to show several shells in single tab like Yakuake can. Is there any alternative which can do so?

4
  • Welcome to Ask Ubuntu! The question you have posted does not fall in the scope of questions discussed here. Please refer to the FAQ to see what kind of questions you can ask here. Regards,
    – Ringtail
    Apr 5, 2012 at 8:08
  • 4
    @BlueXrider Why do you think this is offtopic?
    – Oli
    Apr 5, 2012 at 8:31
  • They're all terminal emulators for linux...it's not specific to ubuntu IMHO...
    – Ringtail
    Apr 5, 2012 at 8:38
  • Have you solved this issue?
    – pl1nk
    Jun 24, 2012 at 22:38

5 Answers 5

14

Try Guake with tmux to get the splitting feature.


For Ubuntu 14.04

Terra can be made to run on Ubuntu 14.04. See this answer for details


For Ubuntu 13.04 and older

Alternatively there is a new experimental project called Terra.

Terra is a GTK+3.0 based terminal emulator with useful user interface, it also supports multiple terminals with splitting screen horizontally or vertically.

Terra Terminal Emulator Screenshot

Quick installation:

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

For more information check out the WebUpd8 article.

0
4

I wrote a similar but more extensive answer here.

Alacritty/Guake + Byobu

I use (now on 20.04) Alacritty (before I used Guake, any modern virtual terminal will be fine; could be just GNOME Terminal) with Byobu as shell interpreter, which by default use tmux as backend (probably better than screen).

Three steps

  1. Install: sudo apt install byobu (no PPAs needed).

  2. Add it to available shells: which byobu | tee -a /etc/shells, as I told in this Guake Github issue.

  3. On Guake preferences (guake-prefs) choose Byobu as the default interpreter: image

  4. Optional: Hide tab bar, since you will use Byobu for that:

    image

  5. If a shortcut doesn't work, try disabling Guake ones that might interfere (in my case was Ctrl+F2 for vertical split): screenshot

Other suggestions

  1. Learn shortcuts with Shift+F1 or this excellent screencast.
  2. Learn available byobu terminal commands with apropos byobu
  3. To use fn keys on Midnight Commander use Alt+ or Shift+F12 to disable byobu F-keys.
  4. Maybe Tilix (~5k) full-screen Quake mode could be an alternative. kitty (~14k) and alacritty (~38k) wont add drop-down support. This GNOME extension could be a workaround.

screenshot

2
3

You can write a small script to make any window bring to the front. Though it is not sliding down from top like in quake it serves the purpose. I'm using terminator as my grid terminal since its very powerful.

The script I'm using for this is given below. So first install terminator and wmctrl then put this script where you keep your scripts and add a shortcut key (eg: Ctrl+`) and your done.

Now when you press Ctrl+` terminator comes to the front and press the same once more, it will go to the back of the other windows.

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

For Xenial users do this. It works great with terminator so far.

This will run/show/hide when using keyboard shortcut

I had F12 mapped to show/hide Guake for a while now but wanted terminal panes.

sudo apt update && sudo apt install xdotool wmctrl

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

Paste this in the file:

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

Then drop Guake map, if replacing the same shortcut like I was.

Open System Settings GUI -> Keyboard -> Shortcuts -> Custom Shortcuts

Click + and add this to command line: /home/you/terminator_show_hide.sh terminator

Then map the key right there and you should be good to go.

This is slightly modified version of https://askubuntu.com/a/189603/597130

I didn't have the bin folder mentioned and it wouldn't fire from home/me/.local/bin but when I moved it to /home/me/ it worked instantly.

Now I have the best of both worlds, Guake Show/Hide & PANES!! FYI: I'm putting this info here because I found this post on first search. I found the other post after digging a little wider hole.

1

I use terminator as my primary terminal, and I've tried Guake and Tilda but missed tiling in the dropdown. I went with the suggestion @Pablo Bianchi mentions above as a secondary option: Tilix in Quake mode.

I didn't want to use terminator as a dropdown as I generally have 1-5 (yes 5!) full screen terminator instances open at any given time and I didn't want to deal with the logic of having a separate config for just a single instance.

I installed tilix on Ubuntu 18.04 from the repo:

$ sudo apt install tilix

Set my config, colors, etc. and Quake mode settings in the Preferences menu, then created a startup application entry (I use Cinnamon DE) for Tilix in the GUI, but you can replicate that like this:

$ 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

This autostart method should work for more than Cinnamon, I'd expect it would work for most GTK based desktops (I think is part of the XDG freedesktop standard...?).

Finally, set a hotkey of your choice via the method employed by your DE. In Cinnamon this is stored in dconf, which means it's way easier to use the settings GUI than to script getting things in the dconf DB.

I've used Tilix before, almost replaced Terminator but I think memory usage made me switch back. With the large number of terminator instances I run, the reduced memory usage is important. Running Tilix in a limited instance case such as Quake mode as we are here, will probably be just fine.

1
  • Reporting back after just over a month of constant use, and the above is working quite well for me. Tilix appears to be very stable in this mostly background application. Currently I'm at 16 days uptime and memory usage has been consistent - no "memory creep" or anything like that. Jun 9, 2020 at 14:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .