[{"data":1,"prerenderedAt":319},["ShallowReactive",2],{"navigation":3,"\u002Fplatforms\u002Flinux":116,"\u002Fplatforms\u002Flinux-surround":314},[4,27,61,82,112],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start",{"title":23,"path":24,"stem":25},"Development","\u002Fgetting-started\u002Fdevelopment","1.getting-started\u002F4.development",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Guides","i-lucide-book-open","\u002Fguides","2.guides",[33,37,41,45,49,53,57],{"title":34,"path":35,"stem":36},"Sessions and store","\u002Fguides\u002Fsessions","2.guides\u002F1.sessions",{"title":38,"path":39,"stem":40},"Vault and procedures","\u002Fguides\u002Fvault","2.guides\u002F2.vault",{"title":42,"path":43,"stem":44},"Password accounts","\u002Fguides\u002Fpasswords","2.guides\u002F3.passwords",{"title":46,"path":47,"stem":48},"Rust backend","\u002Fguides\u002Frust","2.guides\u002F4.rust",{"title":50,"path":51,"stem":52},"Security notes","\u002Fguides\u002Fsecurity","2.guides\u002F5.security",{"title":54,"path":55,"stem":56},"Permissions","\u002Fguides\u002Fpermissions","2.guides\u002F6.permissions",{"title":58,"path":59,"stem":60},"Coming from Stronghold","\u002Fguides\u002Fstronghold","2.guides\u002F7.stronghold",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":26},"API reference","i-lucide-file-code","\u002Freference","3.reference",[67,71,75,79],{"title":68,"path":69,"stem":70},"JavaScript API","\u002Freference\u002Fjavascript-api","3.reference\u002F1.javascript-api",{"title":72,"path":73,"stem":74},"Types","\u002Freference\u002Ftypes","3.reference\u002F2.types",{"title":76,"path":77,"stem":78},"Tauri commands","\u002Freference\u002Fcommands","3.reference\u002F3.commands",{"title":54,"path":80,"stem":81},"\u002Freference\u002Fpermissions","3.reference\u002F4.permissions",{"title":83,"icon":84,"path":85,"stem":86,"children":87,"page":26},"Platforms","i-lucide-monitor-smartphone","\u002Fplatforms","4.platforms",[88,92,96,100,104,108],{"title":89,"path":90,"stem":91},"Overview","\u002Fplatforms\u002Foverview","4.platforms\u002F1.overview",{"title":93,"path":94,"stem":95},"macOS","\u002Fplatforms\u002Fmacos","4.platforms\u002F2.macos",{"title":97,"path":98,"stem":99},"Windows","\u002Fplatforms\u002Fwindows","4.platforms\u002F3.windows",{"title":101,"path":102,"stem":103},"Linux","\u002Fplatforms\u002Flinux","4.platforms\u002F4.linux",{"title":105,"path":106,"stem":107},"Android","\u002Fplatforms\u002Fandroid","4.platforms\u002F5.android",{"title":109,"path":110,"stem":111},"iOS","\u002Fplatforms\u002Fios","4.platforms\u002F6.ios",{"title":113,"path":114,"stem":115},"Changelog","\u002Fchangelog","9.changelog",{"id":117,"title":101,"body":118,"description":307,"extension":308,"generated":26,"links":309,"meta":310,"navigation":311,"path":102,"seo":312,"stem":103,"__hash__":313},"docs\u002F4.platforms\u002F4.linux.md",{"type":119,"value":120,"toc":301},"minimark",[121,139,144,198,202,209,216,220,227,230,270,285,289,297],[122,123,124,125,129,130,134,135,138],"p",{},"Entries go to the ",[126,127,128],"strong",{},"Secret Service"," over D-Bus (",[131,132,133],"code",{},"dbus-secret-service-keyring-store"," with the\n",[131,136,137],{},"crypto-rust"," feature, so no host OpenSSL is needed). Any provider works: GNOME Keyring, KWallet,\nKeePassXC with Secret Service enabled.",[140,141,143],"h2",{"id":142},"build","Build",[145,146,151],"pre",{"className":147,"code":148,"language":149,"meta":150,"style":150},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","sudo apt install libdbus-1-dev pkg-config   # Debian \u002F Ubuntu\nsudo dnf install dbus-devel pkgconf-pkg-config   # Fedora\n","bash","",[131,152,153,179],{"__ignoreMap":150},[154,155,158,162,166,169,172,175],"span",{"class":156,"line":157},"line",1,[154,159,161],{"class":160},"sBMFI","sudo",[154,163,165],{"class":164},"sfazB"," apt",[154,167,168],{"class":164}," install",[154,170,171],{"class":164}," libdbus-1-dev",[154,173,174],{"class":164}," pkg-config",[154,176,178],{"class":177},"sHwdD","   # Debian \u002F Ubuntu\n",[154,180,182,184,187,189,192,195],{"class":156,"line":181},2,[154,183,161],{"class":160},[154,185,186],{"class":164}," dnf",[154,188,168],{"class":164},[154,190,191],{"class":164}," dbus-devel",[154,193,194],{"class":164}," pkgconf-pkg-config",[154,196,197],{"class":177},"   # Fedora\n",[140,199,201],{"id":200},"run-time","Run time",[122,203,204,205,208],{},"A Secret Service must be running in the user's session. Desktop sessions of GNOME and KDE start one.\nOn minimal window managers, start ",[131,206,207],{},"gnome-keyring-daemon"," (or another provider) with the session.",[122,210,211,212,215],{},"If D-Bus or the service is not up yet when the app starts, the first call fails with\n",[131,213,214],{},"plugin initialization failed: dbus secret service init failed: …",". The error is not cached: the next\ncall after a 2-second pause tries again.",[140,217,219],{"id":218},"the-unlock-prompt","The unlock prompt",[122,221,222,223,226],{},"When the collection is locked, the Secret Service asks for the password in a ",[126,224,225],{},"GUI prompt"," and the call\nwaits until the user answers. Without a display nobody can answer it, and the call (and the plugin\ncommand) waits for a very long time: the underlying library allows up to a year.",[122,228,229],{},"On servers and in CI unlock the keyring before the app runs:",[145,231,233],{"className":147,"code":232,"language":149,"meta":150,"style":150},"dbus-run-session -- bash -c '\n  echo -n \"password\" | gnome-keyring-daemon --unlock --components=secrets\n  .\u002Fyour-app\n'\n",[131,234,235,253,258,264],{"__ignoreMap":150},[154,236,237,240,243,246,249],{"class":156,"line":157},[154,238,239],{"class":160},"dbus-run-session",[154,241,242],{"class":164}," --",[154,244,245],{"class":164}," bash",[154,247,248],{"class":164}," -c",[154,250,252],{"class":251},"sMK4o"," '\n",[154,254,255],{"class":156,"line":181},[154,256,257],{"class":164},"  echo -n \"password\" | gnome-keyring-daemon --unlock --components=secrets\n",[154,259,261],{"class":156,"line":260},3,[154,262,263],{"class":164},"  .\u002Fyour-app\n",[154,265,267],{"class":156,"line":266},4,[154,268,269],{"class":251},"'\n",[122,271,272,273,280,281,284],{},"This is what the plugin's own CI does on Ubuntu. If you need no Secret Service at all, use another\nstore for your own Rust code with ",[274,275,277],"a",{"href":276},"\u002Fguides\u002Frust#custom-credential-store",[131,278,279],{},"KeyringStore::with_store",",\ne.g. ",[131,282,283],{},"linux-keyutils-keyring-store",", which never prompts but keeps secrets only for the login session.",[140,286,288],{"id":287},"where-to-see-them","Where to see them",[122,290,291,292,296],{},"GNOME: ",[293,294,295],"em",{},"Passwords and Keys"," (Seahorse). KDE: KWallet Manager.",[298,299,300],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":150,"searchDepth":181,"depth":260,"links":302},[303,304,305,306],{"id":142,"depth":181,"text":143},{"id":200,"depth":181,"text":201},{"id":218,"depth":181,"text":219},{"id":287,"depth":181,"text":288},"Secret Service over D-Bus, build dependencies, headless machines and the unlock prompt.","md",null,{},true,{"title":101,"description":307},"a1WYFM6Aackzg18emZBHdX47a37SJqkR32zwzyisWcY",[315,317],{"title":97,"path":98,"stem":99,"description":316,"children":-1},"Credential Manager storage, its size limit, and case-insensitive names.",{"title":105,"path":106,"stem":107,"description":318,"children":-1},"Android keystore storage through android-native-keyring-store; no setup needed.",1794215489707]