shell/network-agent: Do not query keyring in greeter mode
When trying to connect to a network from gdm, it doesn't make sense to query secrets from the gdm user since it's a system user. Furthermore, gdm runs an isolated dbus-session per gnome-shell instance (for multi-seat setups). Instead, gnome-keyring-daemon is started by systemd and so it registers on the _main_ dbus session of the gdm user session. Then, gnome-shell tries to dbus-activate another gnome-keyring-daemon on its isolated bus, but gnome-keyring-daemon refuses to start as it sees another instance already running, exposed at $XDG_RUNTIME_DIR/keyring/control. After a 25s timeout, gnome-shell aborts the request without ever prompting for a new password. Because it is both problematic and pointless to query secrets in this case, let's avoid it altogether and just prompt the user for the network password. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3646>
This commit is contained in:

committed by
Marge Bot

parent
fb289fa05d
commit
65d38939e2
@ -10,6 +10,7 @@ import St from 'gi://St';
|
||||
import * as Signals from '../../misc/signals.js';
|
||||
|
||||
import * as Dialog from '../dialog.js';
|
||||
import * as Main from '../main.js';
|
||||
import * as MessageTray from '../messageTray.js';
|
||||
import * as ModalDialog from '../modalDialog.js';
|
||||
import * as ShellEntry from '../shellEntry.js';
|
||||
@ -676,6 +677,7 @@ class NetworkAgent {
|
||||
identifier: 'org.gnome.Shell.NetworkAgent',
|
||||
capabilities: NM.SecretAgentCapabilities.VPN_HINTS,
|
||||
auto_register: false,
|
||||
force_always_ask: Main.sessionMode.isGreeter,
|
||||
});
|
||||
|
||||
this._dialogs = { };
|
||||
|
Reference in New Issue
Block a user