Terminals: Difference between revisions
Line 20: | Line 20: | ||
</source> |
</source> |
||
=== Terminator === |
=== Gnome Terminator === |
||
=== [http://www.tenshu.net/terminator/ Gnome Terminator] === |
|||
'''Terminator''' supports multiple GNOME Terminals in one window. |
|||
A multipane terminal emulator based on Gnome Terminal. |
|||
Install it with |
|||
<source lang="bash">sudo add-apt-repository ppa:gnome-terminator # Not needed on Ubuntu Precise (part of Universe repo) |
|||
sudo apt-get update |
|||
sudo apt-get install terminator |
|||
</source> |
|||
==== Terminator on GTK3 ==== |
|||
* See [https://bugs.launchpad.net/terminator/+bug/1030562/comments/101 bug 1030562 (#101)] to download package. '''But you still need to install package dependencies manually'''. |
|||
<source lang=bash> |
|||
# Get terminator/gtk3 sources |
|||
sudo apt install bzr |
|||
bzr branch lp:terminator/gtk3 |
|||
cd gtk3 |
|||
# Apply latest patches |
|||
sudo apt install bzrtools |
|||
bzr patch <(wget -O - https://bugs.launchpad.net/terminator/+bug/1520377/+attachment/4526119/+files/terminator-1520377-stale-tab-title.patch) |
|||
bzr patch <(wget -O - https://bugs.launchpad.net/terminator/+bug/1522542/+attachment/4535308/+files/terminator-1522542-rotate.patch) |
|||
bzr patch <(wget -O - https://bugs.launchpad.net/terminator/+bug/1520969/+attachment/4633044/+files/terminator-1520969-distribute-evenly-v3.patch) |
|||
# Install dependencies |
|||
sudo apt build-dep terminator |
|||
sudo apt install gir1.2-keybinder-0.0 gir1.2-keybinder-3.0 libkeybinder-3.0-0 build-essential intltool libgtk-3-dev gobject-introspection libgirepository1.0-dev valac terminator |
|||
sudo apt install cdbs |
|||
# ... and quick fix for python-support |
|||
# (a better solution would be to apply https://wiki.debian.org/Python/TransitionToDHPython2) |
|||
sudo apt install dh-python |
|||
sudo ln -sf dh_python2 /usr/bin/dh_pysupport |
|||
# Change version and build |
|||
debchange --newversion 1.97~ppa3~local --distribution xenial-proposed "gtk3 branch with patches 1520377, 1522542, 1520969" |
|||
dpkg-buildpackage -rfakeroot -b -d |
|||
# Install |
|||
cd .. |
|||
sudo dpkg -i terminator_1.97~ppa3~local_all.deb |
|||
</source> |
|||
==== My default configuration ==== |
|||
* See [[Configuration Common]] |
|||
==== Tip - Using Terminator for console application ==== |
|||
Say we want to run a custom console application with a custom icon. We can use terminator as follows: |
|||
<source lang=bash> |
|||
terminator -m -p nvim -i /usr/local/icons/neovim.png -u -x nvim |
|||
# -m Maximize |
|||
# -p nvim Select custom profile (see below) |
|||
# -i ... Select custom icon |
|||
# -u Don't use DBus (to avoid terminal appearing in background, see https://bugs.launchpad.net/terminator/+bug/1508531) |
|||
# -x nvim The application to start |
|||
</source> |
|||
We configured the profile as follows. The important settings are <code>scroll_on_keystroke</code>, <code>scrollbar_position</code> and <code>show_titlebar</code>. |
|||
<source lang=text> |
|||
[[nvim]] |
|||
background_color = "#ffffdd" |
|||
cursor_color = "#aaaaaa" |
|||
font = Fantasque Sans Mono 10 |
|||
foreground_color = "#000000" |
|||
scroll_on_keystroke = False |
|||
scrollbar_position = hidden |
|||
show_titlebar = False |
|||
use_system_font = False |
|||
</source> |
|||
==== On Cygwin ==== |
|||
* Copy <tt>C:\cygwin\bin\run.exe</tt> as <tt>C:\cygwin\bin\runpython.exe</tt> (wrapper, see <code>man run</code>). |
|||
* Create windows shortcut by duplicating e.g. ''xterm'' shortcut and changing command to |
|||
<source lang=text> |
|||
C:\cygwin\bin\runpython.exe -p /usr/X11R6/bin /usr/bin/terminator --geometry=1435x860+0+0 |
|||
</source> |
|||
:There is an icon at <tt>/usr/share/icons/hicolors/32x32/apps/terminator.png</tt> (convert to .ico with gimp) |
|||
* Add a new user environment variable <tt>DISPLAY</tt> = <tt>127.0.0.1:0.0</tt><br/> |
|||
* Configuration <tt>~/.config/terminator/config</tt>: |
|||
<source lang=text> |
|||
[global_config] |
|||
[keybindings] |
|||
full_screen = <Alt>F11 |
|||
[profiles] |
|||
[[default]] |
|||
use_system_font = False |
|||
login_shell = True |
|||
foreground_color = "#000000" |
|||
font = Bitstream Vera Sans Mono 9 |
|||
background_color = "#ffffdd" |
|||
scrollback_infinite = True |
|||
[layouts] |
|||
[[default]] |
|||
[[[child1]]] |
|||
type = Terminal |
|||
parent = window0 |
|||
[[[window0]]] |
|||
type = Window |
|||
parent = "" |
|||
[plugins] |
|||
</source> |
|||
=== Xterm === |
=== Xterm === |
Revision as of 19:18, 13 January 2017
Terminals on Linux
Gnome Terminal
The default terminal on Ubuntu.
Configure cursor type
Use gconftool
to configure once for all
gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape <VALUE>
Or use escape sequence for changing it from application [1]:
echo -ne '\e[0 q' # reset to profile's setting
echo -ne '\e[1 q' # blinking block
echo -ne '\e[2 q' # steady block
echo -ne '\e[3 q' # blinking underline
echo -ne '\e[4 q' # steady underline
echo -ne '\e[5 q' # blinking I-beam
echo -ne '\e[6 q' # steady I-beam
Gnome Terminator
Gnome Terminator
A multipane terminal emulator based on Gnome Terminal.
Install it with
sudo add-apt-repository ppa:gnome-terminator # Not needed on Ubuntu Precise (part of Universe repo)
sudo apt-get update
sudo apt-get install terminator
Terminator on GTK3
- See bug 1030562 (#101) to download package. But you still need to install package dependencies manually.
# Get terminator/gtk3 sources
sudo apt install bzr
bzr branch lp:terminator/gtk3
cd gtk3
# Apply latest patches
sudo apt install bzrtools
bzr patch <(wget -O - https://bugs.launchpad.net/terminator/+bug/1520377/+attachment/4526119/+files/terminator-1520377-stale-tab-title.patch)
bzr patch <(wget -O - https://bugs.launchpad.net/terminator/+bug/1522542/+attachment/4535308/+files/terminator-1522542-rotate.patch)
bzr patch <(wget -O - https://bugs.launchpad.net/terminator/+bug/1520969/+attachment/4633044/+files/terminator-1520969-distribute-evenly-v3.patch)
# Install dependencies
sudo apt build-dep terminator
sudo apt install gir1.2-keybinder-0.0 gir1.2-keybinder-3.0 libkeybinder-3.0-0 build-essential intltool libgtk-3-dev gobject-introspection libgirepository1.0-dev valac terminator
sudo apt install cdbs
# ... and quick fix for python-support
# (a better solution would be to apply https://wiki.debian.org/Python/TransitionToDHPython2)
sudo apt install dh-python
sudo ln -sf dh_python2 /usr/bin/dh_pysupport
# Change version and build
debchange --newversion 1.97~ppa3~local --distribution xenial-proposed "gtk3 branch with patches 1520377, 1522542, 1520969"
dpkg-buildpackage -rfakeroot -b -d
# Install
cd ..
sudo dpkg -i terminator_1.97~ppa3~local_all.deb
My default configuration
Tip - Using Terminator for console application
Say we want to run a custom console application with a custom icon. We can use terminator as follows:
terminator -m -p nvim -i /usr/local/icons/neovim.png -u -x nvim
# -m Maximize
# -p nvim Select custom profile (see below)
# -i ... Select custom icon
# -u Don't use DBus (to avoid terminal appearing in background, see https://bugs.launchpad.net/terminator/+bug/1508531)
# -x nvim The application to start
We configured the profile as follows. The important settings are scroll_on_keystroke
, scrollbar_position
and show_titlebar
.
[[nvim]]
background_color = "#ffffdd"
cursor_color = "#aaaaaa"
font = Fantasque Sans Mono 10
foreground_color = "#000000"
scroll_on_keystroke = False
scrollbar_position = hidden
show_titlebar = False
use_system_font = False
On Cygwin
- Copy C:\cygwin\bin\run.exe as C:\cygwin\bin\runpython.exe (wrapper, see
man run
). - Create windows shortcut by duplicating e.g. xterm shortcut and changing command to
C:\cygwin\bin\runpython.exe -p /usr/X11R6/bin /usr/bin/terminator --geometry=1435x860+0+0
- There is an icon at /usr/share/icons/hicolors/32x32/apps/terminator.png (convert to .ico with gimp)
- Add a new user environment variable DISPLAY = 127.0.0.1:0.0
- Configuration ~/.config/terminator/config:
[global_config]
[keybindings]
full_screen = <Alt>F11
[profiles]
[[default]]
use_system_font = False
login_shell = True
foreground_color = "#000000"
font = Bitstream Vera Sans Mono 9
background_color = "#ffffdd"
scrollback_infinite = True
[layouts]
[[default]]
[[[child1]]]
type = Terminal
parent = window0
[[[window0]]]
type = Window
parent = ""
[plugins]
Xterm
Xterm is the legacy terminal emulator under X. See Xterm.
RXVT / uRXVT
Alacritty
Alacritty is a new GPU-accelerated terminal, touted to be the fastest terminal ever.
- See Announcing Alacritty, a GPU-accelerated terminal emulator
- Available on GitHub
- Troubleshoot
- Slower than Gnome Terminal / Terminator on Ubuntu with Intel MESA driver (i915). On Vim, jitter in the scrolling.
- See Issue #225.
st (simple terminal)
st, aka simple terminal from suckless.org, is a simple terminal implementation for X, that sucks less.
On Ubuntu, install either from package
sudo apt install stterm
Or download the git repository and compile from source.
git clone git://git.suckless.org/st
cd st
make clean install
To configure st, edit config.h and build again. Check also the excellent ArchLinux page on st.
Notty
From Notty project page: notty is a virtual terminal like xterm, gnome-vte, sh, or rxvt. Unlike these programs, notty is not intended to emulate a DEC VT-series physical video terminal, or any other physical device. Instead, notty is an experimental project to bring new features to the command-line which would not have been possible for the physical terminals other terminals emulate.
Terminal features
Terminfo
256-color support
True-color support
Cursor type
- Block vs Caret
- Blinking vs steady