FreeBSD QandA 520
Q. X のクライアントを多数起動しようとすると、
Xlib: Maximum number of clients reached
と言われるのですが、この Maximum number を増やす方法はないでしょうか?
なお、この状態からでも非 X のプロセスは起動可能です。
[FreeBSD 2.2.5R + XFree86 3.3.1]
A. kernel configuration や /etc/login.conf を変更しただけでは、X のク
ライアント最大数を増やす事はできません。xc/programs/Xserver/os/osdep.h
で定義される MAXSOCKS の値で制限されているからです。
MAXSOCKS の値は sys/syslimits.h で定義されている OPEN_MAX の値を基準に、
#if OPEN_MAX <= 128
#define MAXSOCKS (OPEN_MAX - 1)
#else
#define MAXSOCKS 128
#endif
と決定されるので、OPEN_MAX か、あるいは MAXSOCKS そのものを増やすよう
にそれぞれが定義されているヘッダファイルを変更し、その後 X Window
System をソースから build/install する事で解決します。
X をソースから build/install しない解決策としては、Xnest を使用する方
法があります。詳細は man Xnest を御覧下さい。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。