On 01/20/17 03:40 PM, Carsten Grzemba wrote:


On 20.01.17 08:27, Alexander Pyhalov  <[email protected]> wrote:

On 01/19/17 11:19 PM, Carsten Grzemba wrote:


On 19.01.17 18:52, Alexander Pyhalov <[email protected]> wrote:

On 19.01.2017 19:06, Carsten Grzemba wrote:
I test sunray on latest hipster and it's works so far, but:

on logout the GDM does not preset the login screen again. On console I
see the error message:

Jan 19 16:50:07 oi-sam gnome-session[10232]: [ID 702911
daemon.warning] WARNING: Unable to activate session: Method invoked
for CanActivateSessions returned FALSE but did not set error
Jan 19 16:50:09 oi-sam gdm-binary[10010]: [ID 702911 daemon.warning]
WARNING: Got console request to add display for session that already
has a display, and display is already in use


Has anyone an idea what's gonig wrong here?

Hello.
No ideas, but you could dig in why CanActivateSessions fails.
Is svc:/system/vtdaemon:default online?
Look at what ConsoleKit is trying to do there.

What does gdmdynamic -l shows?

shows nothing
# gdmdynamic -l


That's strange. On our server I see
# gdmdynamic -l
:11,,-1;:12,user79,-1;:13,user58,-1;:14,,-1;:15,monuser,-1;:16,user82,-1;:17,,-1;:18,,-1;:19,user81,-1;:20,user80,-1;:21,user70,-1;:22,user93,-1;:23,user94,-1;:24,user78,-1;:25,user96,-1;:26,user76,-1;:28,user77,-1

Is vtdaemon service online? Have you looked why consolekit CanActivateSessions 
method returns false?


I guess gdmdynamic is outdated, there is no output on the current SunRay 
Servers (also on Solaris11). But it is the right direction:

If I run
# ck-list-sessions
SessionStaticSeat1Local:
 unix-user = '50'
 realname = 'GDM Reserved UID'
 seat = 'StaticSeat1'
 session-type = 'LoginWindow'
 display-type = 'Local'
 open = 'TRUE'
 active = 'FALSE'
 x11-display = ':0'
 x11-display-device = '/dev/vt/2'
 display-device = ' ? '
 remote-host-name = ''
 is-local = 'TRUE'
 on-since = '2017-01-18T13:32:15.157658Z'
 login-session-id = ''
 idle-since-hint = '2017-01-18T13:38:19.920704Z'
I get only the console and if I add with:

As I see, ConsoleKit CanActivateSessions should have returned true, as seat as marked as static.

The code is the following:

gboolean
ck_seat_can_activate_sessions (CkSeat   *seat,
                               gboolean *can_activate,
                               GError  **error)
{
        g_return_val_if_fail (CK_IS_SEAT (seat), FALSE);

        if (ck_supports_activatable_consoles () == FALSE) {
                return FALSE;
        }

        if (can_activate != NULL) {
                *can_activate = (seat->priv->kind == CK_SEAT_KIND_STATIC);
        }

        return TRUE;
}

The possible issue is that ck_supports_activatable_consoles() returns FALSE. And it is:

ck_supports_activatable_consoles (void)
{
        char *state = NULL;
        gboolean vt_enabled;

        state = smf_get_state ("svc:/system/vtdaemon:default");
        if (state && g_str_equal (state, SCF_STATE_STRING_ONLINE)) {
                vt_enabled = TRUE;
        } else {
                vt_enabled = FALSE;
        }

        g_free (state);
        return vt_enabled;
}

So, once again, is vtdaemon service in online state?


--
С уважением,
Александр Пыхалов,
программист отдела телекоммуникационной инфраструктуры
управления информационно-коммуникационной инфраструктуры ЮФУ

_______________________________________________
openindiana-discuss mailing list
[email protected]
https://openindiana.org/mailman/listinfo/openindiana-discuss

Reply via email to