MKCOMPOSECACHE(8)
π MKCOMPOSECACHE(8) β like, the manual page manual page π
okay bestie, so this is mkcomposecache from section 8 of the System Manager's Manual, and it's literally about making a cache file for a compose file, but like β explicitly. on purpose. by hand. no vibes-based automation here β¨
πΈ NAME
mkcomposecache β create a cache file for a compose file explicitly π
π¦ SYNOPSIS
mkcomposecache locale compose-file cache-dir [ internal-name ]
π DESCRIPTION
so mkcomposecache creates a cache file for the compose-file you picked, the one that gets used in the given locale, and it saves that cache file in cache-dir. iconic. no cap. π«Ά
and if you passed internal-name? then that's what it uses as the name of the compose table when it computes the hash values and does the internal validation. it's giving "necessary" β like, genuinely you need this if you want global compose cache files created while using DESTDIR during X11 installation. iykyk π₯
π Notes (read these, fr fr)
- compose cache files are created by
libX11, so an Xserver has to be running andDISPLAYhas to be set correctly for creating cache files. yes bestie, a whole display server just to make a cache file. that's the vibe check it demands π libX11will not write compose cache files if run as root or with different real and effective uids. so like, don't be root, and don't be all mismatched β it's a whole thing πlibX11will not create compose cache files in directories writable for other users. it's very picky about who gets to touch its stuff, and honestly? boundaries. we love to see it π
π DIAGNOSTICS β¨
mkcomposecache returns with exit status 1 on general errors (no Xserver, invoked as root, etc.) and 2 on unsupported locales. so if you see a 2 it's literally just "that locale? not supported, bestie" π
β οΈ but like β an exit status of0does not imply that a cache file is actually written. nope. it very much depends on the usedlibX11and its safety regulations. so0is more of a "i survived" than a "i did the thing". tragic but true π
π EXAMPLES
ok so here's the whole invocation, exactly as it goes down β one command, several lines, that's just how it's laid out, don't come for me:
mkcomposecache en_US.UTF-8
/var/tmp/buildroot/usr/share/X11/locale/en_US.UTF-8/Compose
/var/tmp/buildroot/var/X11R6/compose_cache
/usr/share/X11/locale/en_US.UTF-8/Compose
like, locale = en_US.UTF-8, compose-file = the buildroot Compose path, cache-dir = the buildroot compose_cache path, and then internal-name = /usr/share/X11/locale/en_US.UTF-8/Compose. the DESTDIR situation, in the flesh. slay π§
π FILES
/var/cache/libx11/compose/β Location of global compose cache. that's the spot. the main character directory. π
π AUTHOR
mkcomposecache was written by Matthias Hopf <mhopf@suse.de>. thank you matthias, we appreciate you π«Άβ¨
and that's the whole page, bestie β this is X Version 11, mkcomposecache 1.2.2, dated with love in the manual page for MKCOMPOSECACHE(8) πΈπ
mwah, go make some cache files (as a non-root user, in a directory nobody else can write to, with DISPLAY set correctly, obviously) π¦
π¦ where this page comes from
- opensuse-leap 16.0: mkcomposecache 1.2.2-bp160.1.13 Β· MIT
- opensuse-leap 16.0: mkcomposecache 1.2.2-bp160.1.13 Β· MIT
- opensuse-leap 16.0: mkcomposecache 1.2.2-bp160.1.13 Β· MIT
- opensuse-leap 16.0: mkcomposecache 1.2.2-bp160.1.13 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms