… | |
… | |
18 | The newest version of this document is also available on the World Wide |
18 | The newest version of this document is also available on the World Wide |
19 | Web at |
19 | Web at |
20 | <http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>. |
20 | <http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>. |
21 | |
21 | |
22 | FREQUENTLY ASKED QUESTIONS |
22 | FREQUENTLY ASKED QUESTIONS |
|
|
23 | Isn't rxvt supposed to be small? Don't all those features bloat? |
|
|
24 | I often get asked about this, and I think, no, they didn't cause |
|
|
25 | extra bloat. If you compare a minimal rxvt and a minimal urxvt, you |
|
|
26 | can see that the urxvt binary is larger (due to some encoding tables |
|
|
27 | always being compiled in), but it actually uses less memory (RSS) |
|
|
28 | after startup. Even with "--disable-everything", this comparison is |
|
|
29 | a bit unfair, as many features unique to urxvt (locale, encoding |
|
|
30 | conversion, iso14755 etc.) are already in use in this mode. |
|
|
31 | |
|
|
32 | text data bss drs rss filename |
|
|
33 | 98398 1664 24 15695 1824 rxvt --disable-everything |
|
|
34 | 188985 9048 66616 18222 1788 urxvt --disable-everything |
|
|
35 | |
|
|
36 | When you "--enable-everything" (which _is_ unfair, as this involves |
|
|
37 | xft and full locale/XIM support which are quite bloaty inside libX11 |
|
|
38 | and my libc), the two diverge, but not unreasnobaly so. |
|
|
39 | |
|
|
40 | text data bss drs rss filename |
|
|
41 | 163431 2152 24 20123 2060 rxvt --enable-everything |
|
|
42 | 1035683 49680 66648 29096 3680 urxvt --enable-everything |
|
|
43 | |
|
|
44 | The very large size of the text section is explained by the |
|
|
45 | east-asian encoding tables, which, if unused, take up disk space but |
|
|
46 | nothing else and can be compiled out unless you rely on X11 core |
|
|
47 | fonts that use those encodings. The BSS size comes from the 64k |
|
|
48 | emergency buffer that my c++ compiler allocates (but of course |
|
|
49 | doesn't use unless you are out of memory). Also, using an xft font |
|
|
50 | instead of a core font immediately adds a few megabytes of RSS. Xft |
|
|
51 | indeed is responsible for a lot of RSS even when not used. |
|
|
52 | |
|
|
53 | Of course, due to every character using two or four bytes instead of |
|
|
54 | one, a large scrollback buffer will ultimately make rxvt-unicode use |
|
|
55 | more memory. |
|
|
56 | |
|
|
57 | Compared to e.g. Eterm (5112k), aterm (3132k) and xterm (4680k), |
|
|
58 | this still fares rather well. And compared to some monsters like |
|
|
59 | gnome-terminal (21152k + extra 4204k in separate processes) or |
|
|
60 | konsole (22200k + extra 43180k in daemons that stay around after |
|
|
61 | exit, plus half a minute of startup time, including the hundreds of |
|
|
62 | warnings it spits out), it fares extremely well *g*. |
|
|
63 | |
|
|
64 | Why C++, isn't that unportable/bloated/uncool? |
|
|
65 | Is this a question? :) It comes up very often. The simple answer is: |
|
|
66 | I had to write it, and C++ allowed me to write and maintain it in a |
|
|
67 | fraction of the time and effort (which is a scarce resource for me). |
|
|
68 | Put even shorter: It simply wouldn't exist without C++. |
|
|
69 | |
|
|
70 | My personal stance on this is that C++ is less portable than C, but |
|
|
71 | in the case of rxvt-unicode this hardly matters, as its portability |
|
|
72 | limits are defined by things like X11, pseudo terminals, locale |
|
|
73 | support and unix domain sockets, which are all less portable than |
|
|
74 | C++ itself. |
|
|
75 | |
|
|
76 | Regarding the bloat, see the above question: It's easy to write |
|
|
77 | programs in C that use gobs of memory, an certainly possible to |
|
|
78 | write programs in C++ that don't. C++ also often comes with large |
|
|
79 | libraries, but this is not necessarily the case with GCC. Here is |
|
|
80 | what rxvt links against on my system with a minimal config: |
|
|
81 | |
|
|
82 | libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) |
|
|
83 | libc.so.6 => /lib/libc.so.6 (0x00002aaaaadde000) |
|
|
84 | libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab01d000) |
|
|
85 | /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) |
|
|
86 | |
|
|
87 | And here is rxvt-unicode: |
|
|
88 | |
|
|
89 | libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) |
|
|
90 | libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000) |
|
|
91 | libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000) |
|
|
92 | libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000) |
|
|
93 | /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) |
|
|
94 | |
|
|
95 | No large bloated libraries (of course, none were linked in |
|
|
96 | statically), except maybe libX11 :) |
|
|
97 | |
|
|
98 | Does it support tabs, can I have a tabbed rxvt-unicode? |
|
|
99 | rxvt-unicode does not directly support tabs. It will work fine with |
|
|
100 | tabbing functionality of many window managers or similar tabbing |
|
|
101 | programs, and its embedding-features allow it to be embedded into |
|
|
102 | other programs, as witnessed by doc/rxvt-tabbed or the upcoming |
|
|
103 | "Gtk2::URxvt" perl module, which features a tabbed urxvt (murxvt) |
|
|
104 | terminal as an example embedding application. |
|
|
105 | |
23 | How do I know which rxvt-unicode version I'm using? |
106 | How do I know which rxvt-unicode version I'm using? |
24 | The version number is displayed with the usage (-h). Also the escape |
107 | The version number is displayed with the usage (-h). Also the escape |
25 | sequence "ESC [ 8 n" sets the window title to the version number. |
108 | sequence "ESC [ 8 n" sets the window title to the version number. |
|
|
109 | When using the rxvtc client, the version displayed is that of the |
|
|
110 | daemon. |
26 | |
111 | |
27 | I am using Debian GNU/Linux and have a problem... |
112 | I am using Debian GNU/Linux and have a problem... |
28 | The Debian GNU/Linux package of rxvt-unicode in sarge contains large |
113 | The Debian GNU/Linux package of rxvt-unicode in sarge contains large |
29 | patches that considerably change the behaviour of rxvt-unicode. |
114 | patches that considerably change the behaviour of rxvt-unicode. |
30 | Before reporting a bug to the original rxvt-unicode author please |
115 | Before reporting a bug to the original rxvt-unicode author please |
… | |
… | |
36 | |
121 | |
37 | For other problems that also affect the Debian package, you can and |
122 | For other problems that also affect the Debian package, you can and |
38 | probably should use the Debian BTS, too, because, after all, it's |
123 | probably should use the Debian BTS, too, because, after all, it's |
39 | also a bug in the Debian version and it serves as a reminder for |
124 | also a bug in the Debian version and it serves as a reminder for |
40 | other users that might encounter the same issue. |
125 | other users that might encounter the same issue. |
|
|
126 | |
|
|
127 | I am maintaining rxvt-unicode for distribution/OS XXX, any |
|
|
128 | recommendation? |
|
|
129 | You should build one binary with the default options. configure now |
|
|
130 | enables most useful options, and the trend goes to making them |
|
|
131 | runtime-switchable, too, so there is usually no drawback to enbaling |
|
|
132 | them, except higher disk and possibly memory usage. The perl |
|
|
133 | interpreter should be enabled, as important functionality (menus, |
|
|
134 | selection, likely more in the future) depends on it. |
|
|
135 | |
|
|
136 | You should not overwrite the "perl-ext-common" snd "perl-ext" |
|
|
137 | resources system-wide (except maybe with "defaults"). This will |
|
|
138 | result in useful behaviour. If your distribution aims at low memory, |
|
|
139 | add an empty "perl-ext-common" resource to the app-defaults file. |
|
|
140 | This will keep the perl interpreter disabled until the user enables |
|
|
141 | it. |
|
|
142 | |
|
|
143 | If you can/want build more binaries, I recommend building a minimal |
|
|
144 | one with "--disable-everything" (very useful) and a maximal one with |
|
|
145 | "--enable-everything" (less useful, it will be very big due to a lot |
|
|
146 | of encodings built-in that increase download times and are rarely |
|
|
147 | used). |
|
|
148 | |
|
|
149 | I need to make it setuid/setgid to support utmp/ptys on my OS, is this |
|
|
150 | safe? |
|
|
151 | Likely not. While I honestly try to make it secure, and am probably |
|
|
152 | not bad at it, I think it is simply unreasonable to expect all of |
|
|
153 | freetype + fontconfig + xft + xlib + ... + rxvt-unicode itself to |
|
|
154 | all be secure. Also, rxvt-unicode disables some options when it |
|
|
155 | detects that it runs setuid or setgid, which is not nice. |
|
|
156 | |
|
|
157 | Elevated privileges are only required for utmp and pty operations on |
|
|
158 | some systems (for example, GNU/Linux doesn't need any extra |
|
|
159 | privileges for ptys, but some need it for utmp support). If |
|
|
160 | rxvt-unicode doesn't support the library/setuid helper that your OS |
|
|
161 | needs I'll be happy to assist you in implementing support for it. |
|
|
162 | |
|
|
163 | So, while setuid/setgid operation is supported and not a problem on |
|
|
164 | your typical single-user-no-other-logins unix desktop, always |
|
|
165 | remember that its an awful lot of code, most of which isn't checked |
|
|
166 | for security issues regularly. |
41 | |
167 | |
42 | When I log-in to another system it tells me about missing terminfo data? |
168 | When I log-in to another system it tells me about missing terminfo data? |
43 | The terminal description used by rxvt-unicode is not as widely |
169 | The terminal description used by rxvt-unicode is not as widely |
44 | available as that for xterm, or even rxvt (for which the same |
170 | available as that for xterm, or even rxvt (for which the same |
45 | problem often arises). |
171 | problem often arises). |
… | |
… | |
1145 | l Scroll to bottom on TTY output |
1271 | l Scroll to bottom on TTY output |
1146 | |
1272 | |
1147 | "Ps = 1011" (rxvt) |
1273 | "Ps = 1011" (rxvt) |
1148 | h Scroll to bottom when a key is pressed |
1274 | h Scroll to bottom when a key is pressed |
1149 | l Don't scroll to bottom when a key is pressed |
1275 | l Don't scroll to bottom when a key is pressed |
|
|
1276 | |
|
|
1277 | "Ps = 1021" (rxvt) |
|
|
1278 | h Bold/italic implies high intensity (see option -is) |
|
|
1279 | l Font styles have no effect on intensity (Compile styles) |
1150 | |
1280 | |
1151 | "Ps = 1047" |
1281 | "Ps = 1047" |
1152 | h Use Alternate Screen Buffer |
1282 | h Use Alternate Screen Buffer |
1153 | l Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it |
1283 | l Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it |
1154 | |
1284 | |
… | |
… | |
1195 | Ps = 711 Set bold fontset to Pt. Similar to Ps = 50 (Compile styles). |
1325 | Ps = 711 Set bold fontset to Pt. Similar to Ps = 50 (Compile styles). |
1196 | Ps = 712 Set italic fontset to Pt. Similar to Ps = 50 (Compile styles). |
1326 | Ps = 712 Set italic fontset to Pt. Similar to Ps = 50 (Compile styles). |
1197 | Ps = 713 Set bold-italic fontset to Pt. Similar to Ps = 50 (Compile styles). |
1327 | Ps = 713 Set bold-italic fontset to Pt. Similar to Ps = 50 (Compile styles). |
1198 | Ps = 720 Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills). |
1328 | Ps = 720 Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills). |
1199 | Ps = 721 Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills). |
1329 | Ps = 721 Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills). |
|
|
1330 | Ps = 777 Call the perl extension with the given string, which should be of the form extension:parameters (Compile perl). |
1200 | |
1331 | |
1201 | |
1332 | |
1202 | |
1333 | |
1203 | menuBar |
1334 | menuBar |
1204 | The exact syntax used is *almost* solidified. In the menus, DON'T try to |
1335 | The exact syntax used is *almost* solidified. In the menus, DON'T try to |
… | |
… | |
1775 | --enable-lastlog (default: on) |
1906 | --enable-lastlog (default: on) |
1776 | Write user and tty to lastlog file (used by programs like lastlogin) |
1907 | Write user and tty to lastlog file (used by programs like lastlogin) |
1777 | at start of rxvt execution. This option requires --enable-utmp to |
1908 | at start of rxvt execution. This option requires --enable-utmp to |
1778 | also be specified. |
1909 | also be specified. |
1779 | |
1910 | |
1780 | --enable-xpm-background (default: off) |
1911 | --enable-xpm-background (default: on) |
1781 | Add support for XPM background pixmaps. |
1912 | Add support for XPM background pixmaps. |
1782 | |
1913 | |
1783 | --enable-transparency (default: off) |
1914 | --enable-transparency (default: on) |
1784 | Add support for inheriting parent backgrounds thus giving a fake |
1915 | Add support for inheriting parent backgrounds thus giving a fake |
1785 | transparency to the term. |
1916 | transparency to the term. |
1786 | |
1917 | |
1787 | --enable-fading (default: on) |
1918 | --enable-fading (default: on) |
1788 | Add support for fading the text when focus is lost (requires |
1919 | Add support for fading the text when focus is lost (requires |
… | |
… | |
1790 | |
1921 | |
1791 | --enable-tinting (default: on) |
1922 | --enable-tinting (default: on) |
1792 | Add support for tinting of transparent backgrounds (requires |
1923 | Add support for tinting of transparent backgrounds (requires |
1793 | "--enable-transparency"). |
1924 | "--enable-transparency"). |
1794 | |
1925 | |
1795 | --enable-menubar (default: off) |
1926 | --enable-menubar (default: off) [DEPRECATED] |
1796 | Add support for our menu bar system (this interacts badly with |
1927 | Add support for our menu bar system (this interacts badly with |
1797 | dynamic locale switching currently). |
1928 | dynamic locale switching currently). This option is DEPRECATED and |
|
|
1929 | will be removed in the future. |
1798 | |
1930 | |
1799 | --enable-rxvt-scroll (default: on) |
1931 | --enable-rxvt-scroll (default: on) |
1800 | Add support for the original rxvt scrollbar. |
1932 | Add support for the original rxvt scrollbar. |
1801 | |
1933 | |
1802 | --enable-next-scroll (default: on) |
1934 | --enable-next-scroll (default: on) |
… | |
… | |
1856 | A non-exhaustive list of features enabled by "--enable-frills" |
1988 | A non-exhaustive list of features enabled by "--enable-frills" |
1857 | (possibly in combination with other switches) is: |
1989 | (possibly in combination with other switches) is: |
1858 | |
1990 | |
1859 | MWM-hints |
1991 | MWM-hints |
1860 | EWMH-hints (pid, utf8 names) and protocols (ping) |
1992 | EWMH-hints (pid, utf8 names) and protocols (ping) |
1861 | seperate underline colour |
1993 | seperate underline colour (-underlineColor) |
1862 | settable border widths and borderless switch |
1994 | settable border widths and borderless switch (-w, -b, -bl) |
1863 | settable extra linespacing |
1995 | settable extra linespacing /-lsp) |
1864 | iso-14755-2 and -3, and visual feedback |
1996 | iso-14755-2 and -3, and visual feedback |
1865 | backindex and forwardindex escape sequence |
1997 | backindex and forwardindex escape sequence |
1866 | window op and some xterm/OSC escape sequences |
1998 | window op and some xterm/OSC escape sequences |
1867 | tripleclickwords |
1999 | tripleclickwords (-tcw) |
1868 | settable insecure mode |
2000 | settable insecure mode (-insecure) |
1869 | keysym remapping support |
2001 | keysym remapping support |
1870 | cursor blinking and underline cursor |
2002 | cursor blinking and underline cursor (-cb, -uc) |
1871 | -embed and -pty-fd options |
2003 | XEmbed support (-embed) |
|
|
2004 | user-pty (-pty-fd) |
|
|
2005 | hold on exit (-hold) |
|
|
2006 | skip builtin block graphics (-sbg) |
|
|
2007 | sgr modes 90..97 and 100..107 |
1872 | |
2008 | |
1873 | --enable-iso14755 (default: on) |
2009 | --enable-iso14755 (default: on) |
1874 | Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt). |
2010 | Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt). |
1875 | Basic support (section 5.1) is enabled by "--enable-frills", while |
2011 | Basic support (section 5.1) is enabled by "--enable-frills", while |
1876 | support for 5.2, 5.3 and 5.4 is enabled with this switch. |
2012 | support for 5.2, 5.3 and 5.4 is enabled with this switch. |
… | |
… | |
1909 | corner of the screen in a fixed position. |
2045 | corner of the screen in a fixed position. |
1910 | |
2046 | |
1911 | --enable-pointer-blank (default: on) |
2047 | --enable-pointer-blank (default: on) |
1912 | Add support to have the pointer disappear when typing or inactive. |
2048 | Add support to have the pointer disappear when typing or inactive. |
1913 | |
2049 | |
|
|
2050 | --enable-perl (default: off) |
|
|
2051 | Enable an embedded perl interpreter. See the rxvtperl(3) manpage |
|
|
2052 | (doc/rxvtperl.txt) for more info on this feature, or the files in |
|
|
2053 | src/perl-ext/ for the extensions that are installed by default. The |
|
|
2054 | perl interpreter that is used can be specified via the "PERL" |
|
|
2055 | environment variable when running configure. |
|
|
2056 | |
1914 | --with-name=NAME (default: urxvt) |
2057 | --with-name=NAME (default: urxvt) |
1915 | Set the basename for the installed binaries, resulting in "urxvt", |
2058 | Set the basename for the installed binaries, resulting in "urxvt", |
1916 | "urxvtd" etc.). Specify "--with-name=rxvt" to replace with "rxvt". |
2059 | "urxvtd" etc.). Specify "--with-name=rxvt" to replace with "rxvt". |
1917 | |
2060 | |
1918 | --with-term=NAME (default: rxvt-unicode) |
2061 | --with-term=NAME (default: rxvt-unicode) |