On Fri, Sep 26, 2008 at 08:39:58PM +0400, Valery V. Inozemtsev wrote: > В сообщении от 25 сентября 2008 Dmitry V. Levin написал(a): > > On Thu, Sep 25, 2008 at 05:19:48AM +0000, Alexey Tourbin wrote: > > > On Mon, Sep 22, 2008 at 03:00:24PM +0400, Dmitry V. Levin wrote: > > > > > Когда в хост-системе уже запущен X сервер, то в сборочном чруте > > > > > xvfb-run с опцией "-a" (автоматический подбор свободного номера) > > > > > вообще не работает. Причем xvfb-run в таком случае не отваливает. > > > > > > > > > > [builder@solemn ~]$ xvfb-run -a /bin/echo 666 > > > > > xauth: creating new authority file /usr/src/.Xauthority > > > > > _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed > > > > > > > > Нет, это UNIXCreateListener, стало быть, дело не в хост-системе, а том, > > > > что в сборочном чруте остались неисправимые следы предыдущего запуска > > > > сервера, возможно, даже целый X сервер. > > > > > > По-моему, дело в хост-системе. В начисто сформированном чруте всё это > > > воспроизводится. > > > > > > $ hsh --init && hsh-install xvfb-run && hsh-run -- sh -c 'cd; xvfb-run -a > > > /bin/echo 666' ... > > > <13>Sep 25 05:16:55 rpmi: xorg-xvfb-2:1.5.1-alt1 installed > > > <13>Sep 25 05:16:55 rpmi: xvfb-run-1.3-alt1 installed > > > xauth: creating new authority file /usr/src/.Xauthority > > > _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed > > > _XSERVTransMakeAllCOTSServerListeners: server already running > > > Fatal server error: > > > Cannot establish any listening sockets - Make sure an X server isn't > > > already running > > > > Тогда это regression в SocketCreateListener. > > нет, это abstract socket > $ netstat -l | grep X11 > unix 2 [ ACC ] STREAM LISTENING 664311 @/tmp/.X11-unix/X0 > unix 2 [ ACC ] STREAM LISTENING 664312 /tmp/.X11-unix/X0 > > проделки RH > commit 2afe206ec9569e0d62caa6d91c3fb057b0efa23d > Author: Adam Jackson > Date: Wed Mar 5 20:48:59 2008 -0500 > > Add support for the abstract socket namespace under Linux. > > Unlike normal unix sockets, the abstract namespace is not bound to the > filesystem. This has some notable advantages; /tmp need not exist, the > socket directory need not have magic permissions, etc. xtrans servers > will listen on both the normal and abstract socket endpoints; clients > will attempt to connect to the abstract socket before connecting to the > corresponding filesystem socket. > > Based on a patch by Bill Crawford. Это известный класс граблей: abstract namespace не имеет никаких разграничений доступа; можно легко и непринуждённо устроить DoS, так что X server нельзя будет запустить совсем. Так что я считаю это изменение ошибочным. Надо откатить и написать в upstream. -- ldv