X-Window 对客户端有最大数量限制吗?
例如,您可以使用 Windows 创建“无限”数量的 evince 进程吗?如果不是,那么限制在哪里?
再举一个例子(尽管我将在下面使用 wine 客户端作为示例,但我认为答案可能取决于 X 客户端是否与 wine 相关),在 Lubuntu 18.04
$ evince my.pdf
Maximum number of clients reachedUnable to init server: Could not connect: Connection refused
Cannot parse arguments: Cannot open display:
$ wine PDFXCview.exe my.pdf
047d:fixme:ver:GetCurrentPackageId (0x32fbc4 (nil)): stub
Maximum number of clients reached047d:err:winediag:x11drv_init_thread_data x11drv: Can't open display: :0. Please ensure that your X server is running and that $DISPLAY is set correctly.
关闭一些窗口(.exe 程序的窗口或 evince 窗口)后,我可以打开新窗口(用于其他 pdf 文件)。
我已经用.exe程序打开了102个窗口,并且evince打开了5个窗口。X 服务器的 Windows 是否太多?我该如何解决这个问题?
我可以提高最大数量限制吗?是否有一些限制客户端数量的配置设置?我该如何重新配置它?
我阅读了https://askubuntu.com/questions/4499/how-can-i-diagnose-debug-maximum-number-of-clients-reached-x-errors和x-clients 的最大数量是多少?,但仍然无法弄清楚我的问题。
谢谢。
来自
xorg.conf(5)
:从
Xserver(1)
:默认值为 256,但在 X 服务器的最新版本中可以提高到 2048:
您可以签
NextAvailableClient()
入dix/dispatch.c
并查看所有详细信息AllocNewConnection()
。os/connection.c
在许多 linux 发行版上,您可以使用它来将客户端限制设置为 512:
尝试运行非常大的
Xorg
二进制文件(真正的二进制文件,notXorg.wrap
)-maxclients
会告诉您它支持该选项的哪些值:可以通过
X-Resource
扩展获取实际连接到显示器的客户端数量;xrestop
是一个使用它来以类似方式显示 X11 客户端和它们正在使用的资源的应用程序top
。