[PATCH xinit v3 3/3] startx: Under Linux start X on the current VT
Peter Hutterer
peter.hutterer at who-t.net
Thu Apr 3 21:38:34 PDT 2014
On Mon, Mar 31, 2014 at 03:51:46PM +0200, Hans de Goede wrote:
> When we let X allocate a new VT, systemd-logind will not recognize any
> processes running on this VT as belonging to a valid session (since there
> was no pam session opened on that tty).
>
> This causes problems like PolicyKit denials for these processes.
>
> ConsoleKit under Linux has been deprecated for a few years now and is no
> longer being maintained, so simply make this the default under Linux.
>
> Note we do not pass in the vt if the user has specified an alternative server
> to start, as the vtX argument is only valid for the Xorg server, likewise we
> omit it if the user has specified any other server arguments.
>
> Fixes:
> https://bugzilla.redhat.com/show_bug.cgi?id=806491
>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Cheers,
Peter
> ---
> startx.cpp | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/startx.cpp b/startx.cpp
> index b7a29f9..f4a0283 100644
> --- a/startx.cpp
> +++ b/startx.cpp
> @@ -187,6 +187,17 @@ XCOMM process server arguments
> if [ x"$server" = x ]; then
> server=$defaultserver
>
> +#ifdef __linux__
> + XCOMM When starting the defaultserver start X on the current tty to avoid
> + XCOMM the startx session being seen as inactive:
> + XCOMM https://bugzilla.redhat.com/show_bug.cgi?id=806491
> + tty=$(tty)
> + if expr match "$tty" '^/dev/tty[0-9]\+$' > /dev/null; then
> + tty_num=$(echo "$tty" | grep -oE '[0-9]+$')
> + defaultserverargs=${defaultserverargs}" vt"${tty_num}
> + fi
> +#endif
> +
> XCOMM For compatibility reasons, only use xserverrc if there were no server command line arguments
> if [ x"$serverargs" = x -a x"$display" = x ]; then
> if [ -f "$userserverrc" ]; then
> --
> 1.9.0
More information about the xorg-devel
mailing list