diff --git a/app/src/main/java/io/xpipe/app/pwman/KeeperPasswordManager.java b/app/src/main/java/io/xpipe/app/pwman/KeeperPasswordManager.java index cb509c530..6edb6dcf4 100644 --- a/app/src/main/java/io/xpipe/app/pwman/KeeperPasswordManager.java +++ b/app/src/main/java/io/xpipe/app/pwman/KeeperPasswordManager.java @@ -45,7 +45,12 @@ public class KeeperPasswordManager implements PasswordManager { private static Path getSocketLocation() { var socket = switch (OsType.ofLocal()) { - case OsType.Linux ignored -> AppSystemInfo.ofLinux().getConfigDir().resolve("Keeper Password Manager", "keeper-ssh-agent.sock"); + case OsType.Linux ignored -> { + var l = List.of( + AppSystemInfo.ofLinux().getConfigDir().resolve("Keeper Password Manager", "keeper-ssh-agent.sock"), + AppSystemInfo.ofLinux().getUserHome().resolve("snap", "keepersecurity", "current", ".config", "Keeper Password Manager", "keeper-ssh-agent.sock")); + yield l.stream().filter(Files::exists).findFirst().orElse(l.getFirst()); + } case OsType.MacOs ignored -> { var l = List.of(AppSystemInfo.ofMacOs().getTemp().resolve("keeper-ssh-agent.sock"), AppSystemInfo.ofMacOs().getUserHome().resolve("Library/Containers/com.callpod.keepermac.lite/Data/tmp/keeper-ssh-agent.sock")); diff --git a/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStoreProvider.java index 4cd285692..9dfe4e996 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStoreProvider.java @@ -84,6 +84,7 @@ public class PasswordManagerIdentityStoreProvider extends IdentityStoreProvider return PasswordManagerIdentityStore.builder() .key(key.get()) .sshKey(sshKey.get()) + .perUser(perUser.get()) .build(); }, store) diff --git a/lang/strings/translations_en.properties b/lang/strings/translations_en.properties index 3acee944e..e3842dd7b 100644 --- a/lang/strings/translations_en.properties +++ b/lang/strings/translations_en.properties @@ -2002,7 +2002,7 @@ prefsRestartTitle=Restart required prefsRestartContent=Some options you changed require an application restart to apply. Do you want to restart XPipe now? bashShell=Bash shell sshKey=SSH key -inlineKey=Retrieve directly +inlineKey=Retrieve directly from password manager inlineSeparateKey=Retrieve additional key keyAgent=Use agent integration passwordManagerKeyStrategy=SSH key retrieval method