From f5295fb35de965bfb0d9d4922074a257e8c21d4c Mon Sep 17 00:00:00 2001 From: purian23 Date: Fri, 5 Jun 2026 23:05:56 -0400 Subject: [PATCH] fix(greeter): remove auto-login state resolution from first install configuration - Update auto-login command to: `dms greeter sync --autologin` --- core/cmd/dms/commands_greeter.go | 6 +++--- core/internal/greeter/installer.go | 12 ------------ quickshell/Common/settings/Processes.qml | 10 +++++----- 3 files changed, 8 insertions(+), 20 deletions(-) diff --git a/core/cmd/dms/commands_greeter.go b/core/cmd/dms/commands_greeter.go index b16f08f5..f7eae2a7 100644 --- a/core/cmd/dms/commands_greeter.go +++ b/core/cmd/dms/commands_greeter.go @@ -75,7 +75,7 @@ var greeterSyncCmd = &cobra.Command{ auth, _ := cmd.Flags().GetBool("auth") local, _ := cmd.Flags().GetBool("local") profile, _ := cmd.Flags().GetBool("profile") - autologinOnly, _ := cmd.Flags().GetBool("autologin-only") + autologinOnly, _ := cmd.Flags().GetBool("autologin") term, _ := cmd.Flags().GetBool("terminal") if term { if err := syncInTerminal(yes, auth, local, profile, autologinOnly); err != nil { @@ -101,7 +101,7 @@ func init() { greeterSyncCmd.Flags().BoolP("auth", "a", false, "Configure PAM for fingerprint and U2F (adds both if modules exist); overrides UI toggles") greeterSyncCmd.Flags().BoolP("local", "l", false, "Developer mode: force greetd config to use a local DMS checkout path") greeterSyncCmd.Flags().BoolP("profile", "p", false, "Sync only your per-user greeter slot (no sudo; for secondary accounts)") - greeterSyncCmd.Flags().Bool("autologin-only", false, "Apply only greeter auto-login on startup settings to greetd (no theme or auth sync)") + greeterSyncCmd.Flags().Bool("autologin", false, "Apply only greeter auto-login on startup settings to greetd (no theme or auth sync)") } var greeterEnableCmd = &cobra.Command{ @@ -544,7 +544,7 @@ func syncInTerminal(nonInteractive bool, forceAuth bool, local bool, profileOnly syncFlags = append(syncFlags, "--profile") } if autologinOnly { - syncFlags = append(syncFlags, "--autologin-only") + syncFlags = append(syncFlags, "--autologin") } shellSyncCmd := "dms greeter sync" if len(syncFlags) > 0 { diff --git a/core/internal/greeter/installer.go b/core/internal/greeter/installer.go index 4bcdfc25..29cf9220 100644 --- a/core/internal/greeter/installer.go +++ b/core/internal/greeter/installer.go @@ -2153,18 +2153,6 @@ vt = 1 commandLine := fmt.Sprintf(`command = "%s"`, commandValue) newConfig := upsertDefaultSession(configContent, greeterUser, commandLine) - homeDir, homeErr := os.UserHomeDir() - if homeErr == nil { - enabled, loginUser, sessionExec, resolveErr := resolveGreeterAutoLoginState(GreeterCacheDir, homeDir) - if resolveErr != nil { - logFunc(fmt.Sprintf("⚠ Warning: Failed to resolve greeter auto-login state: %v", resolveErr)) - } else if enabled && loginUser != "" && sessionExec != "" { - newConfig = upsertInitialSession(newConfig, loginUser, sessionExec, true) - } else { - newConfig = upsertInitialSession(newConfig, "", "", false) - } - } - if err := writeGreetdConfig(configPath, newConfig, logFunc, sudoPassword, fmt.Sprintf("✓ Updated greetd configuration (user: %s, command: %s)", greeterUser, commandValue)); err != nil { return err } diff --git a/quickshell/Common/settings/Processes.qml b/quickshell/Common/settings/Processes.qml index e9fcf433..ff6f2cf1 100644 --- a/quickshell/Common/settings/Processes.qml +++ b/quickshell/Common/settings/Processes.qml @@ -361,7 +361,7 @@ Singleton { } function launchGreeterAutoLoginSyncTerminalFallback(details) { - ToastService.showWarning(I18n.tr("Opening terminal to update greetd"), I18n.tr("DMS needs administrator access. The terminal closes automatically when done.") + (details ? "\n\n" + details : ""), "dms greeter sync --autologin-only", "greeter-autologin-sync"); + ToastService.showWarning(I18n.tr("Opening terminal to update greetd"), I18n.tr("DMS needs administrator access. The terminal closes automatically when done.") + (details ? "\n\n" + details : ""), "dms greeter sync --autologin", "greeter-autologin-sync"); greeterAutoLoginSyncTerminalFallbackStderr = ""; greeterAutoLoginSyncTerminalFallbackProcess.running = true; } @@ -530,7 +530,7 @@ Singleton { } property var greeterAutoLoginSyncProcess: Process { - command: ["dms", "greeter", "sync", "--yes", "--autologin-only"] + command: ["dms", "greeter", "sync", "--yes", "--autologin"] running: false stdout: StdioCollector { @@ -570,7 +570,7 @@ Singleton { onExited: exitCode => { const enabling = root.settingsRoot && root.settingsRoot.greeterAutoLogin; if (exitCode === 0) { - ToastService.showWarning(enabling ? I18n.tr("Applying auto-login on startup…") : I18n.tr("Disabling auto-login on startup…"), "", "dms greeter sync --autologin-only", "greeter-autologin-sync"); + ToastService.showWarning(enabling ? I18n.tr("Applying auto-login on startup…") : I18n.tr("Disabling auto-login on startup…"), "", "dms greeter sync --autologin", "greeter-autologin-sync"); root.greeterAutoLoginSyncProcess.running = true; return; } @@ -580,7 +580,7 @@ Singleton { } property var greeterAutoLoginSyncTerminalFallbackProcess: Process { - command: ["dms", "greeter", "sync", "--terminal", "--yes", "--autologin-only"] + command: ["dms", "greeter", "sync", "--terminal", "--yes", "--autologin"] running: false stderr: StdioCollector { @@ -592,7 +592,7 @@ Singleton { root.greeterAutoLoginSyncSuccessToast(""); } else { let details = (root.greeterAutoLoginSyncTerminalFallbackStderr || "").trim(); - ToastService.showError(I18n.tr("Couldn't open a terminal for the auto-login update.") + " (exit " + exitCode + ")", details, "dms greeter sync --autologin-only", "greeter-autologin-sync"); + ToastService.showError(I18n.tr("Couldn't open a terminal for the auto-login update.") + " (exit " + exitCode + ")", details, "dms greeter sync --autologin", "greeter-autologin-sync"); } root.finishGreeterAutoLoginSync(); }