urxvt(1)
β¨ urxvt(1) β the RXVT-UNICODE girlies' manual β¨
okay bestie, so this is the manual for urxvtc, part of the RXVT-UNICODE family. sit down, grab a strawberry π, and let's get into it.
π NAME π
urxvtc β control the urxvtd daemon
π SYNOPSIS π
urxvtc [same options as for urxvt]
π¦ DESCRIPTION π¦
so this manpage is all about the urxvtc client program, bestie. what does it do? it connects to the urxvtd daemon and requests a brand new terminal window. main character energy, honestly.
it takes the same arguments as the urxvt program. and the environment? also respected, no cap. Currently, it always returns immediately after contacting the daemon β like, it doesn't stick around, it just slides in, drops the request, and leaves. π
π OPTIONS π
here's the tea on the options, bestie:
- if the first option is
-k,urxvtctries to kill the daemon process and then returns. like, it's done. it's over.
every single option that's valid for urxvt is valid for urxvtc too, fr fr. so like, go wild.
β οΈ but bestie, listen: options are interpreted in the context of the daemon process. that's the vibe.
however, because the current working directory, the process environment, and any file descriptor (e.g. for -pty-fd) are all preserved, this rarely makes a difference. so like, don't stress too hard π«Ά
π₯ EXIT STATUS π₯
okay so here's how we're exiting:
- if everything went well? exit status
0. slay. β¨ - if contacting the daemon fails? it exits with exit status
2. - in all other error cases? status
1. π
and here's the iconic part β you can use this to implement auto-starting behaviour, by checking for an exit status of 2, running urxvtd -f -q and retrying the call to urxvtc, like this:
#!/bin/sh
urxvtc "$@"
if [ $? -eq 2 ]; then
urxvtd -q -o -f
urxvtc "$@"
fi
look at her. she retries. she's persistent. she's that girl. π
πΈ ENVIRONMENT πΈ
all environment variables of the current process will be made available to the new instance, and will be interpreted as if urxvt were started directly. periodt.
RXVT_SOCKET
both urxvtc and urxvtd use the environment variable RXVT_SOCKET to create a listening socket and to contact the urxvtd, respectively. like, one for each direction, cute right?
if the variable is missing, $HOME/.urxvt/urxvtd-<nodename> is used instead. and heads up β the variable must specify the absolute path of the socket to create. no relative paths, bestie, we're not doing that today. π
π SEE ALSO π
and that's the whole thing, gorgeous. this was version 9.31, dated 2023-01-02, and it's the urxvt(1) page from the RXVT-UNICODE collection π go forth and daemon, iykyk π§β¨
π¦ where this page comes from
- alpine 3.24: rxvt-unicode-doc 9.31-r9 Β· GPL-3.0-or-later
- arch rolling: rxvt-unicode 9.31-11 Β· GPL-3.0-only
- debian trixie: rxvt-unicode 9.31-3+b2 Β· GPL-2.0-or-later
- epel 9: rxvt-unicode 9.31-1.el9 Β· GPLv3
- fedora 43: rxvt-unicode 9.31-13.fc43 Β· GPL-3.0-or-later
- fedora 44: rxvt-unicode 9.31-15.fc44 Β· GPL-3.0-or-later
- nixos 26.05: rxvt-unicode-unwrapped 9.31
- nixpkgs unstable: rxvt-unicode-unwrapped 9.31
- opensuse-leap 16.0: rxvt-unicode 9.31-bp160.1.13 Β· GPL-3.0-or-later
- opensuse-leap 16.0: rxvt-unicode 9.31-bp160.1.13 Β· GPL-3.0-or-later
- opensuse-leap 16.0: rxvt-unicode 9.31-bp160.1.13 Β· GPL-3.0-or-later
- opensuse-leap 16.0: rxvt-unicode 9.31-bp160.1.13 Β· GPL-3.0-or-later
- ubuntu noble: rxvt-unicode 9.31-3build2 Β· GPL-2.0-or-later
- ubuntu questing: rxvt-unicode 9.31-3build3
- ubuntu resolute: rxvt-unicode 9.31-3build4 Β· GPL-2.0-or-later
- ubuntu stonking: rxvt-unicode 9.31-3build5 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms