add terminal setup page
[KenyonWiki.git] / Terminal_setup.mdwn
1 Here I'll describe my terminal and shell setup. See also [[Mac OS X Terminal.app]] for info specific to my Mac OS X setup.
2
3 [[!toc levels=2]]
4
5 ## Terminal emulator
6 The never-ending quest for the perfect terminal emulator.
7
8 Current best terminal: [[!wikipedia konsole]], the version that comes with KDE 4 and later.
9
10 I tried mrxvt. Before mrxvt, I tried gnome-terminal. I didn't like its blinking cursor, dependence on GNOME libraries (since I don't use much GNOME stuff), and how you can't wrap around when switching tabs. For a long time before that, I used konsole. When I switched to Debian sid, I had to use an older version of konsole which didn't have the ability to right-click on URLs and launch them. Unfortunately, mrxvt doesn't have that either. Also, mrxvt doesn't support Unicode, so manual pages look messed up in a UTF-8 locale (e.g., `LANG=en_US.UTF-8`).
11
12 rxvt-unicode supports Unicode, tabs, and URL launching. However, [[!debbug 511377]] is quite annoying: you can't scroll using the keyboard when the mouse pointer is outside the terminal window with tabbed enabled. rxvt-unicode has a cool fading feature, where the text can fade when the terminal goes out of focus.
13
14 xfce4-terminal is decent. It does URL launching and tabs, and the tab switching wraps around. You can't rearrange the tabs with the keyboard, but you can with the mouse. It's based on the same terminal widget as gnome-terminal, so it has the same problem where it eats CPU time if you hold down a cursor movement key in vim and the cursor is against a screen edge. It's also slow graphically -- it takes a lot of CPU to scroll, and it has a noticeable refresh delay when switching among desktops containing xfce4-terminal windows (although I see this with rxvt-unicode too, so it is probably just my video card (Intel G31 integrated on a Supermicro C2SBA+)). Also, xfce4-terminal does not hide the mouse cursor when you're typing in the terminal, and doesn't seem to have a way to configure it to do this.
15
16 Bug causing backspace to fail in screen under xfce4-terminal:
17 * <https://bugs.launchpad.net/bugs/29787>
18 * <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477455>
19
20 Command for setting the default browser for gnome-terminal and similar (as I reported in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=487862#35):
21 * `gconftool --type=string --set /desktop/gnome/url-handlers/http/command "x-www-browser %s"`
22
23 Plain xterm supports Unicode, but not URL launching or tabs.
24
25 Another idea is to use urxvt or xterm with [[!wikipedia GNU screen]] to get the same effect as tabbing.
26
27 ### konsole
28 In the environment settings, I put `TERM=xterm-256color`. Verify: `tput colors`
29
30 Change the "open link" handlers with the KDE `systemsettings` program. Use the Default Applications and File Associations applets.
31
32 ### mrxvtrc
33 Here is my ~/.mrxvtrc. I got this stuff by reading the mrxvt manual page and from [dotfiles.org](http://dotfiles.org/search?q=mrxvt).
34
35     #Mrxvt.bottomTabbar: True
36     #Mrxvt.xftAntialias: 1 # antialiasing seems to be default on
37     Mrxvt.autohideTabbar: True
38     Mrxvt.background: black
39     Mrxvt.foreground: white
40     Mrxvt.hideButtons: True
41     Mrxvt.highlightTabOnBell: True
42     Mrxvt.loginShell: True
43     Mrxvt.pointerBlank: True
44     Mrxvt.saveLines: 10000
45     Mrxvt.sessionMgt: True
46     Mrxvt.syncTabTitle: True
47     Mrxvt.tabTitle: mrxvt
48     Mrxvt.xft: 1
49     Mrxvt.xftFont: DejaVu Sans Mono
50     Mrxvt.xftSize: 10
51
52 ## screenrc
53 To enable 256 color support in screen, I used these settings, based on <http://www.frexx.de/xterm-256-notes/>.
54
55     startup_message off
56     deflogin on
57     altscreen on
58     shell -$SHELL
59     term screen-256color-bce
60
61     # set a big scrolling buffer
62     defscrollback 5000
63     # Set the caption on the bottom line
64     caption always "%{= kw}%-w%{= BW}%n %t%{-}%+w %-= @%H" # - %LD %d %LM - %c"
65
66     # terminfo and termcap for nice 256 color terminal
67     # allow bold colors - necessary for some reason
68     #attrcolor b ".I"
69     # tell screen how to set colors. AB = background, AF=foreground
70     #termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
71     # erase background with current bg color
72     defbce "on"
73
74
75 ## tmux
76 I use tmux instead of screen now.
77
78     # Kenyon's tmux configuration.
79     # Created 2010-02-18.
80
81     set-option -g default-terminal screen-256color
82     set-option -g history-limit 6000
83     set-option -g status-left "[#H:#S]"
84     set-option -g status-left-length 25
85     set-option -g status-right ""
86     set-option -g visual-activity on
87     set-option -g visual-content on
88
89 ## Shell
90 Since I started using Linux, I had been using bash. More recently (January 2009) I switched to zsh and I'm liking it.
91
92 [[!tag Debian Linux]]