1 | RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS |
1 | RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS |
2 | Meta, Features & Commandline Issues |
2 | Meta, Features & Commandline Issues |
3 | My question isn't answered here, can I ask a human? |
3 | My question isn't answered here, can I ask a human? |
4 | Before sending me mail, you could go to IRC: "irc.freenode.net", channel |
4 | Before sending me mail, you could go to IRC: "irc.libera.chat", channel |
5 | "#rxvt-unicode" has some rxvt-unicode enthusiasts that might be |
5 | "#rxvt-unicode" has some rxvt-unicode enthusiasts that might be |
6 | interested in learning about new and exciting problems (but not FAQs :). |
6 | interested in learning about new and exciting problems (but not FAQs :). |
7 | |
7 | |
8 | I use Gentoo, and I have a problem... |
8 | I use Gentoo, and I have a problem... |
9 | There are three big problems with Gentoo Linux: first of all, most if |
9 | There are two big problems with Gentoo Linux: first, most if not all |
10 | not all Gentoo systems are completely broken (missing or mismatched |
10 | Gentoo systems are completely broken (missing or mismatched header |
11 | header files, broken compiler etc. are just the tip of the iceberg); |
11 | files, broken compiler etc. are just the tip of the iceberg); secondly, |
12 | secondly, the Gentoo maintainer thinks it is a good idea to add broken |
12 | it should be called Gentoo GNU/Linux. |
13 | patches to the code; and lastly, it should be called Gentoo GNU/Linux. |
|
|
14 | |
13 | |
15 | For these reasons, it is impossible to support rxvt-unicode on Gentoo. |
14 | For these reasons, it is impossible to support rxvt-unicode on Gentoo. |
16 | Problems appearing on Gentoo systems will usually simply be ignored |
15 | Problems appearing on Gentoo systems will usually simply be ignored |
17 | unless they can be reproduced on non-Gentoo systems. |
16 | unless they can be reproduced on non-Gentoo systems. |
18 | |
17 | |
… | |
… | |
69 | This tries to create a new terminal, and if fails with exit status 2, |
68 | This tries to create a new terminal, and if fails with exit status 2, |
70 | meaning it couldn't connect to the daemon, it will start the daemon and |
69 | meaning it couldn't connect to the daemon, it will start the daemon and |
71 | re-run the command. Subsequent invocations of the script will re-use the |
70 | re-run the command. Subsequent invocations of the script will re-use the |
72 | existing daemon. |
71 | existing daemon. |
73 | |
72 | |
|
|
73 | Another option is to use systemd socket-based activation (see |
|
|
74 | systemd.socket(5)). Here is an example of a service unit file and of a |
|
|
75 | socket unit file for the default socket path: |
|
|
76 | |
|
|
77 | urxvtd.service |
|
|
78 | [Unit] |
|
|
79 | Description=urxvt terminal daemon |
|
|
80 | Requires=urxvtd.socket |
|
|
81 | |
|
|
82 | [Service] |
|
|
83 | ExecStart=/usr/bin/urxvtd -o |
|
|
84 | |
|
|
85 | urxvtd.socket |
|
|
86 | [Unit] |
|
|
87 | Description=urxvt terminal daemon socket |
|
|
88 | |
|
|
89 | [Socket] |
|
|
90 | ListenStream=%h/.urxvt/urxvtd-%H |
|
|
91 | |
|
|
92 | [Install] |
|
|
93 | WantedBy=sockets.target |
|
|
94 | |
74 | How do I distinguish whether I'm running rxvt-unicode or a regular |
95 | How do I distinguish whether I'm running rxvt-unicode or a regular |
75 | xterm? I need this to decide about setting colours etc. |
96 | xterm? I need this to decide about setting colours etc. |
76 | The original rxvt and rxvt-unicode always export the variable |
97 | The original rxvt and rxvt-unicode always export the variable |
77 | "COLORTERM", so you can check and see if that is set. Note that several |
98 | "COLORTERM", so you can check and see if that is set. Note that several |
78 | programs, JED, slrn, Midnight Commander automatically check this |
99 | programs, JED, slrn, Midnight Commander automatically check this |
… | |
… | |
91 | |
112 | |
92 | # Bourne/Korn/POSIX family of shells: |
113 | # Bourne/Korn/POSIX family of shells: |
93 | [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know |
114 | [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know |
94 | if [ ${TERM:-foo} = xterm ]; then |
115 | if [ ${TERM:-foo} = xterm ]; then |
95 | stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not |
116 | stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not |
96 | echo -n '^[Z' |
117 | printf "\eZ" |
97 | read term_id |
118 | read term_id |
98 | stty icanon echo |
119 | stty icanon echo |
99 | if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then |
120 | if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then |
100 | echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string |
121 | printf '\e[7n' # query the rxvt we are in for the DISPLAY string |
101 | read DISPLAY # set it in our local shell |
122 | read DISPLAY # set it in our local shell |
102 | fi |
123 | fi |
103 | fi |
124 | fi |
104 | |
125 | |
105 | How do I compile the manual pages on my own? |
126 | How do I compile the manual pages on my own? |
106 | You need to have a recent version of perl installed as /usr/bin/perl, |
127 | You need to have a recent version of perl installed as /usr/bin/perl, |
… | |
… | |
189 | rite of passage: ... and you failed. |
210 | rite of passage: ... and you failed. |
190 | |
211 | |
191 | Here are four ways to get transparency. Do read the manpage and option |
212 | Here are four ways to get transparency. Do read the manpage and option |
192 | descriptions for the programs mentioned and rxvt-unicode. Really, do it! |
213 | descriptions for the programs mentioned and rxvt-unicode. Really, do it! |
193 | |
214 | |
194 | 1. Use transparent mode: |
215 | 1. Use pseudo-transparency: |
195 | |
216 | |
196 | Esetroot wallpaper.jpg |
217 | Esetroot wallpaper.jpg |
197 | urxvt -tr -tint red -sh 40 |
218 | urxvt -tr -tint red -sh 40 |
198 | |
219 | |
199 | That works. If you think it doesn't, you lack transparency and tinting |
220 | That works. If you think it doesn't, you lack transparency and tinting |
… | |
… | |
206 | your picture with gimp or any other tool: |
227 | your picture with gimp or any other tool: |
207 | |
228 | |
208 | convert wallpaper.jpg -blur 20x20 -modulate 30 background.jpg |
229 | convert wallpaper.jpg -blur 20x20 -modulate 30 background.jpg |
209 | urxvt -pixmap "background.jpg;:root" |
230 | urxvt -pixmap "background.jpg;:root" |
210 | |
231 | |
211 | That works. If you think it doesn't, you lack libAfterImage or |
232 | That works. If you think it doesn't, you lack GDK-PixBuf support, or you |
212 | GDK-PixBuf support, or you are unable to read. |
233 | are unable to read. |
213 | |
234 | |
214 | 3. Use an ARGB visual: |
235 | 3. Use an ARGB visual: |
215 | |
236 | |
216 | urxvt -depth 32 -fg grey90 -bg rgba:0000/0000/4444/cccc |
237 | urxvt -depth 32 -fg grey90 -bg rgba:0000/0000/4444/cccc |
217 | |
238 | |
218 | This requires XFT support, and the support of your X-server. If that |
239 | This requires XFT support, and the support of your X-server. If that |
219 | doesn't work for you, blame Xorg and Keith Packard. ARGB visuals aren't |
240 | doesn't work for you, find a working composite manager or window |
220 | there yet, no matter what they claim. Rxvt-Unicode contains the |
241 | manager, both are required to support ARGB visuals for client windows. |
221 | necessary bugfixes and workarounds for Xft and Xlib to make it work, but |
|
|
222 | that doesn't mean that your WM has the required kludges in place. |
|
|
223 | |
242 | |
224 | 4. Use xcompmgr and let it do the job: |
243 | 4. Use xcompmgr and let it do the job: |
225 | |
244 | |
226 | xprop -frame -f _NET_WM_WINDOW_OPACITY 32c \ |
245 | xprop -frame -f _NET_WM_WINDOW_OPACITY 32c \ |
227 | -set _NET_WM_WINDOW_OPACITY 0xc0000000 |
246 | -set _NET_WM_WINDOW_OPACITY 0xc0000000 |
… | |
… | |
429 | We are working on it, in the meantime, as a workaround, use something |
448 | We are working on it, in the meantime, as a workaround, use something |
430 | like: |
449 | like: |
431 | |
450 | |
432 | urxvt -b 600 -geometry 20x1 -e sh -c 'mplayer -wid $WINDOWID file...' |
451 | urxvt -b 600 -geometry 20x1 -e sh -c 'mplayer -wid $WINDOWID file...' |
433 | |
452 | |
|
|
453 | Why is the cursor now blinking in emacs/vi/...? |
|
|
454 | This is likely caused by your editor/program's use of the "cvvis" |
|
|
455 | terminfo capability. Emacs uses it by default, as well as some versions |
|
|
456 | of vi and possibly other programs. |
|
|
457 | |
|
|
458 | In emacs, you can switch that off by adding this to your ".emacs" file: |
|
|
459 | |
|
|
460 | (setq visible-cursor nil) |
|
|
461 | |
|
|
462 | For other programs, if they do not have an option, your have to remove |
|
|
463 | the "cvvis" capability from the terminfo description. |
|
|
464 | |
|
|
465 | When urxvt first added the blinking cursor option, it didn't add a |
|
|
466 | "cvvis" capability, which served no purpose before. Version 9.21 |
|
|
467 | introduced "cvvis" (and the ability to control blinking independent of |
|
|
468 | cursor shape) for compatibility with other terminals, which |
|
|
469 | traditionally use a blinking cursor for "cvvis". This also reflects the |
|
|
470 | intent of programs such as emacs, who expect "cvvis" to enable a |
|
|
471 | blinking cursor. |
|
|
472 | |
434 | Keyboard, Mouse & User Interaction |
473 | Keyboard, Mouse & User Interaction |
435 | The new selection selects pieces that are too big, how can I select single words? |
474 | The new selection selects pieces that are too big, how can I select single words? |
436 | If you want to select e.g. alphanumeric words, you can use the following |
475 | If you want to select e.g. alphanumeric words, you can use the following |
437 | setting: |
476 | setting: |
438 | |
477 | |
… | |
… | |
463 | URxvt.perl-ext-common: default,-selection-popup,-option-popup |
502 | URxvt.perl-ext-common: default,-selection-popup,-option-popup |
464 | |
503 | |
465 | This will keep the default extensions, but disable the two popup |
504 | This will keep the default extensions, but disable the two popup |
466 | extensions. Some extensions can also be configured, for example, |
505 | extensions. Some extensions can also be configured, for example, |
467 | scrollback search mode is triggered by M-s. You can move it to any other |
506 | scrollback search mode is triggered by M-s. You can move it to any other |
468 | combination either by setting the searchable-scrollback resource: |
507 | combination by adding a keysym resource that binds the desired |
|
|
508 | combination to the "start" action of "searchable-scrollback" and another |
|
|
509 | one that binds M-s to the "builtin:" action: |
469 | |
510 | |
470 | URxvt.searchable-scrollback: CM-s |
511 | URxvt.keysym.CM-s: searchable-scrollback:start |
|
|
512 | URxvt.keysym.M-s: builtin: |
471 | |
513 | |
472 | The cursor moves when selecting text in the current input line, how do I switch this off? |
514 | The cursor moves when selecting text in the current input line, how do I switch this off? |
473 | See next entry. |
515 | See next entry. |
474 | |
516 | |
475 | During rlogin/ssh/telnet/etc. sessions, clicking near the cursor outputs strange escape sequences, how do I fix this? |
517 | During rlogin/ssh/telnet/etc. sessions, clicking near the cursor outputs strange escape sequences, how do I fix this? |
… | |
… | |
482 | You can permanently switch this feature off by disabling the "readline" |
524 | You can permanently switch this feature off by disabling the "readline" |
483 | extension: |
525 | extension: |
484 | |
526 | |
485 | URxvt.perl-ext-common: default,-readline |
527 | URxvt.perl-ext-common: default,-readline |
486 | |
528 | |
487 | My numerical keypad acts weird and generates differing output? |
529 | My numeric keypad acts weird and generates differing output? |
488 | Some Debian GNUL/Linux users seem to have this problem, although no |
530 | Some Debian GNU/Linux users seem to have this problem, although no |
489 | specific details were reported so far. It is possible that this is |
531 | specific details were reported so far. It is possible that this is |
490 | caused by the wrong "TERM" setting, although the details of whether and |
532 | caused by the wrong "TERM" setting, although the details of whether and |
491 | how this can happen are unknown, as "TERM=rxvt" should offer a |
533 | how this can happen are unknown, as "TERM=rxvt" should offer a |
492 | compatible keymap. See the answer to the previous question, and please |
534 | compatible keymap. See the answer to the previous question, and please |
493 | report if that helped. |
535 | report if that helped. |
494 | |
536 | |
495 | My Compose (Multi_key) key is no longer working. |
537 | My Compose (Multi_key) key is no longer working. |
496 | The most common causes for this are that either your locale is not set |
538 | The most common causes for this are that either your locale is not set |
497 | correctly, or you specified a preeditStyle that is not supported by your |
539 | correctly, or you specified a preeditType that is not supported by your |
498 | input method. For example, if you specified OverTheSpot and your input |
540 | input method. For example, if you specified OverTheSpot and your input |
499 | method (e.g. the default input method handling Compose keys) does not |
541 | method (e.g. the default input method handling Compose keys) does not |
500 | support this (for instance because it is not visual), then rxvt-unicode |
542 | support this (for instance because it is not visual), then rxvt-unicode |
501 | will continue without an input method. |
543 | will continue without an input method. |
502 | |
544 | |
503 | In this case either do not specify a preeditStyle or specify more than |
545 | In this case either do not specify a preeditType or specify more than |
504 | one pre-edit style, such as OverTheSpot,Root,None. |
546 | one pre-edit style, such as OverTheSpot,Root,None. |
505 | |
547 | |
506 | If it still doesn't work, then maybe your input method doesn't support |
548 | If it still doesn't work, then maybe your input method doesn't support |
507 | compose sequences - to fall back to the built-in one, make sure you |
549 | compose sequences - to fall back to the built-in one, make sure you |
508 | don't specify an input method via "-im" or "XMODIFIERS". |
550 | don't specify an input method via "-im" or "XMODIFIERS". |
… | |
… | |
532 | It is possible to toggle between "^H" and "^?" with the DECBKM private |
574 | It is possible to toggle between "^H" and "^?" with the DECBKM private |
533 | mode: |
575 | mode: |
534 | |
576 | |
535 | # use Backspace = ^H |
577 | # use Backspace = ^H |
536 | $ stty erase ^H |
578 | $ stty erase ^H |
537 | $ echo -n "^[[?67h" |
579 | $ printf "\e[?67h" |
538 | |
580 | |
539 | # use Backspace = ^? |
581 | # use Backspace = ^? |
540 | $ stty erase ^? |
582 | $ stty erase ^? |
541 | $ echo -n "^[[?67l" |
583 | $ printf "\e[?67l" |
542 | |
584 | |
543 | This helps satisfy some of the Backspace discrepancies that occur, but |
585 | This helps satisfy some of the Backspace discrepancies that occur, but |
544 | if you use Backspace = "^H", make sure that the termcap/terminfo value |
586 | if you use Backspace = "^H", make sure that the termcap/terminfo value |
545 | properly reflects that. |
587 | properly reflects that. |
546 | |
588 | |
… | |
… | |
596 | time into customising your terminal. To get you started, here is the |
638 | time into customising your terminal. To get you started, here is the |
597 | author's .Xdefaults entries, with comments on what they do. It's |
639 | author's .Xdefaults entries, with comments on what they do. It's |
598 | certainly not *typical*, but what's typical... |
640 | certainly not *typical*, but what's typical... |
599 | |
641 | |
600 | URxvt.cutchars: "()*,<>[]{}|' |
642 | URxvt.cutchars: "()*,<>[]{}|' |
601 | URxvt.print-pipe: cat >/tmp/xxx |
643 | URxvt.print-pipe: cat >/some/path |
602 | |
644 | |
603 | These are just for testing stuff. |
645 | These are just for testing stuff. |
604 | |
646 | |
605 | URxvt.imLocale: ja_JP.UTF-8 |
647 | URxvt.imLocale: ja_JP.UTF-8 |
606 | URxvt.preeditType: OnTheSpot,None |
648 | URxvt.preeditType: OnTheSpot,None |
… | |
… | |
774 | |
816 | |
775 | REMOTE=remotesystem.domain |
817 | REMOTE=remotesystem.domain |
776 | infocmp rxvt-unicode | ssh $REMOTE "mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti" |
818 | infocmp rxvt-unicode | ssh $REMOTE "mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti" |
777 | |
819 | |
778 | One some systems you might need to set $TERMINFO to the full path of |
820 | One some systems you might need to set $TERMINFO to the full path of |
779 | $HOME/.terminfo for this to work. Debian systems have a broken tic which |
821 | $HOME/.terminfo for this to work. |
780 | will not be able to overwrite the existing rxvt-unicode terminfo entry - |
|
|
781 | you might have to manually delete all traces of rxvt-unicode* from |
|
|
782 | /etc/terminfo. |
|
|
783 | |
822 | |
784 | If you cannot or do not want to do this, then you can simply set |
823 | If you cannot or do not want to do this, then you can simply set |
785 | "TERM=rxvt" or even "TERM=xterm", and live with the small number of |
824 | "TERM=rxvt" or even "TERM=xterm", and live with the small number of |
786 | problems arising, which includes wrong keymapping, less and different |
825 | problems arising, which includes wrong keymapping, less and different |
787 | colours and some refresh errors in fullscreen applications. It's a nice |
826 | colours and some refresh errors in fullscreen applications. It's a nice |
… | |
… | |
809 | See next entry. |
848 | See next entry. |
810 | |
849 | |
811 | I need a termcap file entry. |
850 | I need a termcap file entry. |
812 | One reason you might want this is that some distributions or operating |
851 | One reason you might want this is that some distributions or operating |
813 | systems still compile some programs using the long-obsoleted termcap |
852 | systems still compile some programs using the long-obsoleted termcap |
814 | library (Fedora Core's bash is one example) and rely on a termcap entry |
853 | library (Fedora's bash is one example) and rely on a termcap entry for |
815 | for "rxvt-unicode". |
854 | "rxvt-unicode". |
816 | |
855 | |
817 | You could use rxvt's termcap entry with reasonable results in many |
856 | You could use rxvt's termcap entry with reasonable results in many |
818 | cases. You can also create a termcap entry by using terminfo's infocmp |
857 | cases. You can also create a termcap entry by using terminfo's infocmp |
819 | program like this: |
858 | program like this: |
820 | |
859 | |
… | |
… | |
843 | Why doesn't vim/emacs etc. make use of italic? |
882 | Why doesn't vim/emacs etc. make use of italic? |
844 | See next entry. |
883 | See next entry. |
845 | |
884 | |
846 | Why are the secondary screen-related options not working properly? |
885 | Why are the secondary screen-related options not working properly? |
847 | Make sure you are using "TERM=rxvt-unicode". Some pre-packaged |
886 | Make sure you are using "TERM=rxvt-unicode". Some pre-packaged |
848 | distributions (most notably Debian GNU/Linux) break rxvt-unicode by |
887 | distributions break rxvt-unicode by setting "TERM" to "rxvt", which |
849 | setting "TERM" to "rxvt", which doesn't have these extra features. |
888 | doesn't have these extra features. Unfortunately, some of these |
850 | Unfortunately, some of these (most notably, again, Debian GNU/Linux) |
|
|
851 | furthermore fail to even install the "rxvt-unicode" terminfo file, so |
889 | furthermore fail to even install the "rxvt-unicode" terminfo file, so |
852 | you will need to install it on your own (See the question When I log-in |
890 | you will need to install it on your own (See the question When I log-in |
853 | to another system it tells me about missing terminfo data? on how to do |
891 | to another system it tells me about missing terminfo data? on how to do |
854 | this). |
892 | this). |
855 | |
893 | |
… | |
… | |
966 | For scim, use "@im=SCIM". You can see what input method servers are |
1004 | For scim, use "@im=SCIM". You can see what input method servers are |
967 | running with this command: |
1005 | running with this command: |
968 | |
1006 | |
969 | xprop -root XIM_SERVERS |
1007 | xprop -root XIM_SERVERS |
970 | |
1008 | |
971 | |
|
|
972 | |
|
|
973 | My input method wants <some encoding> but I want UTF-8, what can I do? |
1009 | My input method wants <some encoding> but I want UTF-8, what can I do? |
974 | You can specify separate locales for the input method and the rest of |
1010 | You can specify separate locales for the input method and the rest of |
975 | the terminal, using the resource "imlocale": |
1011 | the terminal, using the resource "imlocale": |
976 | |
1012 | |
977 | URxvt.imlocale: ja_JP.EUC-JP |
1013 | URxvt.imlocale: ja_JP.EUC-JP |
… | |
… | |
990 | cannot be completely avoided even if both sides cooperate. |
1026 | cannot be completely avoided even if both sides cooperate. |
991 | |
1027 | |
992 | So the only workaround is not to kill your Input Method Servers. |
1028 | So the only workaround is not to kill your Input Method Servers. |
993 | |
1029 | |
994 | Operating Systems / Package Maintaining |
1030 | Operating Systems / Package Maintaining |
995 | I am using Debian GNU/Linux and have a problem... |
|
|
996 | The Debian GNU/Linux package of rxvt-unicode in sarge contains large |
|
|
997 | patches that considerably change the behaviour of rxvt-unicode (but |
|
|
998 | unfortunately this notice has been removed). Before reporting a bug to |
|
|
999 | the original rxvt-unicode author please download and install the genuine |
|
|
1000 | version (<http://software.schmorp.de/pkg/rxvt-unicode.html>) and try to |
|
|
1001 | reproduce the problem. If you cannot, chances are that the problems are |
|
|
1002 | specific to Debian GNU/Linux, in which case it should be reported via |
|
|
1003 | the Debian Bug Tracking System (use "reportbug" to report the bug). |
|
|
1004 | |
|
|
1005 | For other problems that also affect the Debian package, you can and |
|
|
1006 | probably should use the Debian BTS, too, because, after all, it's also a |
|
|
1007 | bug in the Debian version and it serves as a reminder for other users |
|
|
1008 | that might encounter the same issue. |
|
|
1009 | |
|
|
1010 | I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation? |
1031 | I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation? |
1011 | You should build one binary with the default options. configure now |
1032 | You should build one binary with the default options. configure now |
1012 | enables most useful options, and the trend goes to making them |
1033 | enables most useful options, and the trend goes to making them |
1013 | runtime-switchable, too, so there is usually no drawback to enabling |
1034 | runtime-switchable, too, so there is usually no drawback to enabling |
1014 | them, except higher disk and possibly memory usage. The perl interpreter |
1035 | them, except higher disk and possibly memory usage. The perl interpreter |