Tuple for Linux is currently in alpha and under active development. The client is primarily command-line driven.To install, visit the Linux install page for the latest download command and architecture options.Join the Slack channel to provide feedback, report bugs, and ask questions.
Tuple runs natively on both X11 and Wayland. The client automatically detects your session type using the XDG_SESSION_TYPE environment variable.All core features, including screen sharing, the drawing overlay, and UI windows, work on both display servers.
The Tuple client on Linux is extremely barebones at the moment. We’ll be working hard to flesh it out in the coming weeks — your patience is appreciated!
What you can share depends on your display server:
Wayland: Tuple asks your desktop’s screen-sharing portal for one monitor, and the portal lets you choose which one. On GNOME and KDE, you pick from a monitor picker dialog. On sway, Hyprland, and other wlroots compositors, the choice comes from your xdg-desktop-portal-wlr chooser settings.
X11: Tuple shares your entire desktop across all monitors. You can’t choose a single monitor.
Sharing a single window or part of a screen isn’t available on Linux on either display server.
On Linux, the tuple command is the Tuple CLI, the same CLI that ships with the macOS and Windows clients. See the command reference for the full list, and run tuple --help to see what your installed version supports.If you used the earlier Linux commands, see Migrate from the earlier Linux commands.Capture isn’t available on Linux yet, so tuple capture commands don’t work. Linux also doesn’t show cards posted with tuple notifications yet.Most commands start the Tuple daemon if it isn’t already running. The daemon listens on a socket in $XDG_RUNTIME_DIR, which most desktop sessions set. If it isn’t set, tuple exits with an error.
These commands still work, but they’re deprecated:
Command
Description
tuple new
Starts a new call on your personal URL and joins it. Prints the URL so you can share it with others.
tuple share
Starts sharing your screen. On Wayland, you choose which monitor to share. On X11, Tuple shares your entire desktop across all monitors. See Choosing what to share.
Enables the “host overlay”, which is where annotations are drawn. Transparency doesn’t work correctly with certain window managers / compositors, which can cause this window to render incorrectly. Use this setting to disable it if needed.
start-calls-muted
bool
0, 1
Joins every call with your microphone muted. Defaults to 0.
capture
enum
auto, x11, portal
Controls which screen capture mechanism Tuple uses. auto selects the best method for your session type. x11 forces X11 capture. portal forces the XDG Desktop Portal (PipeWire) capture used on Wayland.
You can also cycle through capture mechanisms during a call by clicking the capture button in the call UI. The button appears next to the screen share button and displays the current capture mechanism (auto, x11, or portal). Clicking it cycles to the next option.
If screen capture fails, Tuple displays the operation that failed and either the system error name or its errno value. You can dismiss the popup by clicking Dismiss or pressing Enter.Common causes of screen capture failures on Linux include:
Wayland: The XDG Desktop Portal or PipeWire service is not running, or the portal stream disconnected. Make sure xdg-desktop-portal and pipewire are installed and active on your system.
X11: Tuple could not query screen information. Verify that your X11 display server is running and accessible.
If the error persists, check the log file for the same operation and error details, then share them with the team in the Slack channel.
If the $XDG_DATA_HOME environment variable is not set, logs are written to:
$HOME/.local/share/tuple/0/log.txt
These are useful to include in any bug reports.
Was this page helpful?
{"docsConfig":{"theme":"palm","$schema":"https://mintlify.com/docs.json","name":"Tuple documentation","description":"Documentation for Tuple, the remote pair programming app for developers on macOS, Windows, and Linux.","colors":{"primary":"#6a5ed9","light":"#adb6f4","dark":"#5e50c7"},"logo":{"light":"https://mintcdn.com/tuple-0f82e5be/-nDSac4-fwCPupIa/logo/light.png?fit=max\u0026auto=format\u0026n=-nDSac4-fwCPupIa\u0026q=85\u0026s=691cb0a8e2a3dcdc0227b893ee08b6b6","dark":"https://mintcdn.com/tuple-0f82e5be/-nDSac4-fwCPupIa/logo/dark.png?fit=max\u0026auto=format\u0026n=-nDSac4-fwCPupIa\u0026q=85\u0026s=5a19781377926b4667bf0867efd75e57"},"favicon":"https://mintcdn.com/tuple-0f82e5be/EHjq0cG1Dd6CF26O/favicon.svg?fit=max\u0026auto=format\u0026n=EHjq0cG1Dd6CF26O\u0026q=85\u0026s=1b6c6ae1f64a9c50fe32a72a08c1e044","navbar":{"links":[{"href":"https://tuple.app?utm_source=docs","label":"Website"},{"href":"mailto:support@tuple.app","label":"Support"}],"primary":{"type":"button","label":"Download","href":"https://tuple.app/download?utm_source=docs"}},"footer":{"socials":{"x":"https://x.com/tuple","linkedin":"https://linkedin.com/company/tuple","youtube":"https://www.youtube.com/@tuple-app"},"links":[{"header":"Product","items":[{"label":"Download","href":"https://tuple.app/download?utm_source=docs"},{"label":"Changelog","href":"/changelog"},{"label":"Pricing","href":"https://tuple.app/pricing?utm_source=docs"}]},{"header":"Resources","items":[{"label":"Support","href":"mailto:support@tuple.app"},{"label":"Blog","href":"https://tuple.app/blog?utm_source=docs"}]}]},"seo":{"metatags":{"og:image":"https://docs.tuple.app/images/og.jpg"}},"integrations":{"posthog":{"apiKey":"phc_1X4UcburMnpeGzdvbEpquCPIp4RO5Wn46yogbxpD1Y8","apiHost":"https://us.i.posthog.com"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Changelog","icon":"list","href":"/changelog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tuple-0f82e5be","hasAudioNarration":false,"actualSubdomain":"tuple-0f82e5be","customDomains":["docs.tuple.app"],"gitSource":{"type":"github","owner":"tupleapp","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af636f6e2831ad30e64773f","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"default","tag":"Pairing with Tuple","count":26},{"language":"default","tag":"Team Management","count":19},{"language":"default","tag":"Features","count":15},{"language":"default","tag":"Troubleshooting","count":14},{"language":"default","tag":"Application Preferences","count":13},{"language":"default","tag":"macOS","count":9},{"language":"default","tag":"Authentication and SSO","count":9},{"language":"default","tag":"Tuple CLI","count":7},{"language":"default","tag":"Calls","count":7},{"language":"default","tag":"Managing Your Account","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@tuple.app","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"getting-started/tuple-for-linux","slug":"/getting-started/tuple-for-linux","pageMetadata":{"title":"Tuple for Linux (alpha)","description":null,"href":"/getting-started/tuple-for-linux"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Tuple for Linux is currently in alpha and under active development. The client is primarily command-line driven.`}),`\n`,_jsxs(_components.p,{children:[`To install, visit `,_jsx(_components.a,{href:`https://tuple.app/linux?utm_source=docs`,children:`the Linux install page`}),` for the latest download command and architecture options.`]}),`\n`,_jsxs(_components.p,{children:[`Join the `,_jsx(_components.a,{href:`https://tuple.app/linux/slack`,children:`Slack channel`}),` to provide feedback, report bugs, and ask questions.`]}),`\n`,_jsx(Heading,{level:`2`,id:`display-server-support`,children:`Display server support`}),`\n`,_jsxs(_components.p,{children:[`Tuple runs natively on both `,_jsx(_components.strong,{children:`X11`}),` and `,_jsx(_components.strong,{children:`Wayland`}),`. The client automatically detects your session type using the `,_jsx(_components.code,{children:`XDG_SESSION_TYPE`}),` environment variable.`]}),`\n`,_jsx(_components.p,{children:`All core features, including screen sharing, the drawing overlay, and UI windows, work on both display servers.`}),`\n`,_jsx(Heading,{level:`2`,id:`current-feature-set`,children:`Current feature set`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`The Tuple client on Linux is `,_jsx(_components.strong,{children:`extremely barebones`}),` at the moment. We’ll be working hard to flesh it out in the coming weeks — your patience is appreciated!`]})}),`\n`,_jsx(Heading,{level:`3`,id:`what-works`,children:`What works`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Logging in and running Tuple as a daemon — you’ll appear available for your contacts / teammates`}),`\n`,_jsx(_components.li,{children:`Receiving an incoming direct call`}),`\n`,_jsx(_components.li,{children:`Starting a call`}),`\n`,_jsx(_components.li,{children:`Joining a call via a URL`}),`\n`,_jsx(_components.li,{children:`Hearing (and being heard by) others using the system default audio device`}),`\n`,_jsx(_components.li,{children:`Viewing a shared screen`}),`\n`,_jsx(_components.li,{children:`Sharing your own screen`}),`\n`,_jsx(_components.li,{children:`Viewing drawing annotations on a shared screen`}),`\n`,_jsx(_components.li,{children:`Drawing on the shared screen`}),`\n`,_jsx(_components.li,{children:`Remotely controlling someone else’s screen`}),`\n`,_jsx(_components.li,{children:`Being remotely controlled while sharing`}),`\n`,_jsx(_components.li,{children:`Initiating a direct call from the command line`}),`\n`,_jsx(_components.li,{children:`Listing and managing contacts and favorites`}),`\n`,_jsx(_components.li,{children:`Muting and unmuting your microphone`}),`\n`,_jsx(_components.li,{children:`Viewing webcams shared by others`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`not-yet-implemented`,children:`Not yet implemented`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`UI for making calls, managing contacts, and settings (everything is done via the command line for now)`}),`\n`,_jsx(_components.li,{children:`Being remotely controlled while sharing on GNOME, KDE, and other Wayland compositors without wlroots virtual input support`}),`\n`,_jsx(_components.li,{children:`Viewing text or highlight click annotations on the shared screen`}),`\n`,_jsx(_components.li,{children:`Changing audio devices`}),`\n`,_jsx(_components.li,{children:`Sharing your own webcam`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`being-remotely-controlled`,children:`Being remotely controlled`}),`\n`,_jsx(_components.p,{children:`When you share your screen, guests can control it with their mouse and keyboard in these sessions:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`X11`}),`: Tuple sends input through the XTEST extension. Apps running under Xwayland in a Wayland session aren’t supported.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Wayland compositors that support the `,_jsx(_components.code,{children:`wlroots`}),` virtual input protocols`]}),`, such as `,_jsx(_components.code,{children:`sway`}),`, `,_jsx(_components.code,{children:`labwc`}),`, `,_jsx(_components.code,{children:`Hyprland`}),`, and `,_jsx(_components.code,{children:`river`}),`.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`On other Wayland compositors, including GNOME and KDE, guests can view your shared screen but can’t control it.`}),`\n`,_jsx(Heading,{level:`3`,id:`choosing-what-to-share`,children:`Choosing what to share`}),`\n`,_jsx(_components.p,{children:`What you can share depends on your display server:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Wayland`}),`: Tuple asks your desktop’s screen-sharing portal for one monitor, and the portal lets you choose which one. On GNOME and KDE, you pick from a monitor picker dialog. On `,_jsx(_components.code,{children:`sway`}),`, `,_jsx(_components.code,{children:`Hyprland`}),`, and other `,_jsx(_components.code,{children:`wlroots`}),` compositors, the choice comes from your `,_jsx(_components.code,{children:`xdg-desktop-portal-wlr`}),` chooser settings.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`X11`}),`: Tuple shares your entire desktop across all monitors. You can’t choose a single monitor.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Sharing a single window or part of a screen isn’t available on Linux on either display server.`}),`\n`,_jsx(Heading,{level:`2`,id:`commands`,children:`Commands`}),`\n`,_jsxs(_components.p,{children:[`On Linux, the `,_jsx(_components.code,{children:`tuple`}),` command is the `,_jsx(_components.a,{href:`/cli/overview`,children:`Tuple CLI`}),`, the same CLI that ships with the macOS and Windows clients. See the `,_jsx(_components.a,{href:`/cli/commands`,children:`command reference`}),` for the full list, and run `,_jsx(_components.code,{children:`tuple --help`}),` to see what your installed version supports.`]}),`\n`,_jsxs(_components.p,{children:[`If you used the earlier Linux commands, see `,_jsx(_components.a,{href:`/cli/linux-migration`,children:`Migrate from the earlier Linux commands`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Capture isn’t available on Linux yet, so `,_jsx(_components.code,{children:`tuple capture`}),` commands don’t work. Linux also doesn’t show cards posted with `,_jsx(_components.code,{children:`tuple notifications`}),` yet.`]}),`\n`,_jsxs(_components.p,{children:[`Most commands start the Tuple daemon if it isn’t already running. The daemon listens on a socket in `,_jsx(_components.code,{children:`$XDG_RUNTIME_DIR`}),`, which most desktop sessions set. If it isn’t set, `,_jsx(_components.code,{children:`tuple`}),` exits with an error.`]}),`\n`,_jsx(Heading,{level:`3`,id:`linux-only-commands`,children:`Linux-only commands`}),`\n`,_jsx(_components.p,{children:`These commands exist only on Linux. They manage the daemon and your sign-in, which the macOS and Windows apps handle in their UI.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Command`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tuple start`})}),_jsx(_components.td,{children:`Starts the Tuple daemon. Most other commands also start it automatically.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tuple stop`})}),_jsx(_components.td,{children:`Stops the Tuple daemon.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tuple login`})}),_jsxs(_components.td,{children:[`Starts the sign-in process. Prints a URL to sign in on the web. The last step shows an authorization code to pass to `,_jsx(_components.code,{children:`tuple auth`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tuple auth \u003ccode>`})}),_jsxs(_components.td,{children:[`Finishes signing in with the authorization code from `,_jsx(_components.code,{children:`tuple login`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tuple logout`})}),_jsx(_components.td,{children:`Signs you out of Tuple.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tuple version`})}),_jsxs(_components.td,{children:[`Prints the app version. `,_jsx(_components.code,{children:`tuple --version`}),` does the same.`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`deprecated-commands`,children:`Deprecated commands`}),`\n`,_jsx(_components.p,{children:`These commands still work, but they’re deprecated:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Command`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tuple new`})}),_jsx(_components.td,{children:`Starts a new call on your personal URL and joins it. Prints the URL so you can share it with others.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tuple share`})}),_jsxs(_components.td,{children:[`Starts sharing your screen. On Wayland, you choose which monitor to share. On X11, Tuple shares your entire desktop across all monitors. See `,_jsx(_components.a,{href:`#choosing-what-to-share`,children:`Choosing what to share`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tuple unshare`})}),_jsx(_components.td,{children:`Stops sharing your screen.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tuple ui`})}),_jsx(_components.td,{children:`Displays a simple debugging UI.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tuple settings`})}),_jsxs(_components.td,{children:[`Lists all `,_jsx(_components.a,{href:`#settings`,children:`settings`}),` and their values.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tuple set \u003cname> \u003cvalue>`})}),_jsxs(_components.td,{children:[`Sets the setting named `,_jsx(_components.code,{children:`\u003cname>`}),` to `,_jsx(_components.code,{children:`\u003cvalue>`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`settings`,children:`Settings`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Setting`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Values`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`overlay`})}),_jsx(_components.td,{children:`bool`}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`0`}),`, `,_jsx(_components.code,{children:`1`})]}),_jsx(_components.td,{children:`Enables the “host overlay”, which is where annotations are drawn. Transparency doesn’t work correctly with certain window managers / compositors, which can cause this window to render incorrectly. Use this setting to disable it if needed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`start-calls-muted`})}),_jsx(_components.td,{children:`bool`}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`0`}),`, `,_jsx(_components.code,{children:`1`})]}),_jsxs(_components.td,{children:[`Joins every call with your microphone muted. Defaults to `,_jsx(_components.code,{children:`0`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`capture`})}),_jsx(_components.td,{children:`enum`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`x11`}),`, `,_jsx(_components.code,{children:`portal`})]}),_jsxs(_components.td,{children:[`Controls which screen capture mechanism Tuple uses. `,_jsx(_components.code,{children:`auto`}),` selects the best method for your session type. `,_jsx(_components.code,{children:`x11`}),` forces X11 capture. `,_jsx(_components.code,{children:`portal`}),` forces the XDG Desktop Portal (PipeWire) capture used on Wayland.`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`screen-capture-methods`,children:`Screen capture methods`}),`\n`,_jsxs(_components.p,{children:[`You can also cycle through capture mechanisms during a call by clicking the capture button in the call UI. The button appears next to the screen share button and displays the current capture mechanism (`,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`x11`}),`, or `,_jsx(_components.code,{children:`portal`}),`). Clicking it cycles to the next option.`]}),`\n`,_jsx(Heading,{level:`3`,id:`fonts`,children:`Fonts`}),`\n`,_jsxs(_components.p,{children:[`Tuple runs `,_jsx(_components.code,{children:`fc-match sans-serif:fontformat=TrueType`}),` to find your system’s “sans-serif” font.`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting-screen-capture`,children:`Troubleshooting screen capture`}),`\n`,_jsxs(_components.p,{children:[`If screen capture fails, Tuple displays the operation that failed and either the system error name or its `,_jsx(_components.code,{children:`errno`}),` value. You can dismiss the popup by clicking `,_jsx(_components.strong,{children:`Dismiss`}),` or pressing `,_jsx(_components.strong,{children:`Enter`}),`.`]}),`\n`,_jsx(_components.p,{children:`Common causes of screen capture failures on Linux include:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Wayland`}),`: The XDG Desktop Portal or PipeWire service is not running, or the portal stream disconnected. Make sure `,_jsx(_components.code,{children:`xdg-desktop-portal`}),` and `,_jsx(_components.code,{children:`pipewire`}),` are installed and active on your system.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`X11`}),`: Tuple could not query screen information. Verify that your X11 display server is running and accessible.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`If the error persists, check the `,_jsx(_components.a,{href:`#logs`,children:`log file`}),` for the same operation and error details, then share them with the team in the `,_jsx(_components.a,{href:`https://tuple.app/linux/slack`,children:`Slack channel`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`logs`,children:`Logs`}),`\n`,_jsx(_components.p,{children:`Tuple logs to:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`$XDG_DATA_HOME/tuple/0/log.txt`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`If the `,_jsx(_components.code,{children:`$XDG_DATA_HOME`}),` environment variable is not set, logs are written to:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`$HOME/.local/share/tuple/0/log.txt`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`These are useful to include in any bug reports.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Tuple for Linux (alpha)","description":null,"href":"/getting-started/tuple-for-linux"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Display server support","slug":"display-server-support","depth":2,"children":[]},{"title":"Current feature set","slug":"current-feature-set","depth":2,"children":[{"title":"What works","slug":"what-works","depth":3,"children":[]},{"title":"Not yet implemented","slug":"not-yet-implemented","depth":3,"children":[]},{"title":"Being remotely controlled","slug":"being-remotely-controlled","depth":3,"children":[]},{"title":"Choosing what to share","slug":"choosing-what-to-share","depth":3,"children":[]}]},{"title":"Commands","slug":"commands","depth":2,"children":[{"title":"Linux-only commands","slug":"linux-only-commands","depth":3,"children":[]},{"title":"Deprecated commands","slug":"deprecated-commands","depth":3,"children":[]}]},{"title":"Settings","slug":"settings","depth":2,"children":[{"title":"Screen capture methods","slug":"screen-capture-methods","depth":3,"children":[]},{"title":"Fonts","slug":"fonts","depth":3,"children":[]}]},{"title":"Troubleshooting screen capture","slug":"troubleshooting-screen-capture","depth":2,"children":[]},{"title":"Logs","slug":"logs","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"tuple-0f82e5be","siteName":"Tuple documentation","title":"Tuple for Linux (alpha) - Tuple documentation","contextualStarterQuestions":[{"_id":"6af46e745848824e4feb0ffd","deploymentId":"69cbe83e7f226f107dbe3406","questionText":"How do I install Tuple on Linux?","status":"active","generatedBy":"contextual","path":"getting-started/tuple-for-linux","createdAt":"2026-11-11T13:32:36.458Z","updatedAt":"2026-11-11T13:32:36.458Z","__v":0},{"_id":"6af46e745848824e4feb0fff","deploymentId":"69cbe83e7f226f107dbe3406","questionText":"Does Tuple support Wayland?","status":"active","generatedBy":"contextual","path":"getting-started/tuple-for-linux","createdAt":"2026-11-11T13:32:36.458Z","updatedAt":"2026-11-11T13:32:36.458Z","__v":0},{"_id":"6af46e745848824e4feb0ffe","deploymentId":"69cbe83e7f226f107dbe3406","questionText":"What features work on Linux?","status":"active","generatedBy":"contextual","path":"getting-started/tuple-for-linux","createdAt":"2026-11-11T13:32:36.458Z","updatedAt":"2026-11-11T13:32:36.458Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T13:32:33.755Z","originalFileLocation":"getting-started/tuple-for-linux.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Tuple documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tuple-0f82e5be/1w1zy1sfDexR8wGh/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/tuple-0f82e5be/1w1zy1sfDexR8wGh/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tuple-0f82e5be/1w1zy1sfDexR8wGh/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tuple-0f82e5be/1w1zy1sfDexR8wGh/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tuple-0f82e5be/1w1zy1sfDexR8wGh/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tuple-0f82e5be/1w1zy1sfDexR8wGh/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tuple-0f82e5be/1w1zy1sfDexR8wGh/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tuple-0f82e5be/1w1zy1sfDexR8wGh/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tuple-0f82e5be/1w1zy1sfDexR8wGh/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Tuple for Linux (alpha) - Tuple documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tuple documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tuple.app/getting-started/tuple-for-linux\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.tuple.app/images/og.jpg\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Tuple for Linux (alpha) - Tuple documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.tuple.app/images/og.jpg\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/tuple-0f82e5be/1w1zy1sfDexR8wGh/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Tuple documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6a5ed9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tuple.app/getting-started/tuple-for-linux\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/getting-started/tuple-for-linux.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tuple.app/#organization\",\"name\":\"Tuple documentation\",\"url\":\"https://docs.tuple.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tuple-0f82e5be/-nDSac4-fwCPupIa/logo/light.png?fit=max\u0026auto=format\u0026n=-nDSac4-fwCPupIa\u0026q=85\u0026s=691cb0a8e2a3dcdc0227b893ee08b6b6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tuple.app#website\",\"name\":\"Tuple documentation\",\"url\":\"https://docs.tuple.app\",\"publisher\":{\"@id\":\"https://docs.tuple.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tuple.app/getting-started/tuple-for-linux#webpage\",\"url\":\"https://docs.tuple.app/getting-started/tuple-for-linux\",\"name\":\"Tuple for Linux (alpha)\",\"dateModified\":\"2026-11-11T13:32:33.755Z\",\"isPartOf\":{\"@id\":\"https://docs.tuple.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tuple.app/getting-started/tuple-for-linux#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tuple.app/getting-started/tuple-for-linux#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Getting Started\",\"item\":\"https://docs.tuple.app/getting-started/installation\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tuple for Linux (alpha)\",\"item\":\"https://docs.tuple.app/getting-started/tuple-for-linux\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.tuple.app/getting-started/tuple-for-linux#article\",\"headline\":\"Tuple for Linux (alpha)\",\"name\":\"Tuple for Linux (alpha)\",\"url\":\"https://docs.tuple.app/getting-started/tuple-for-linux\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tuple.app/getting-started/tuple-for-linux#webpage\"},\"image\":\"https://docs.tuple.app/images/og.jpg\",\"dateModified\":\"2026-11-11T13:32:33.755Z\",\"publisher\":{\"@id\":\"https://docs.tuple.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tuple.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Tuple documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Tuple documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/getting-started/tuple-for-linux.md","siteName":"Tuple documentation","nav":{"global":{"anchors":[{"anchor":"Changelog","icon":"list","href":"/changelog"}]},"groups":[{"group":"Getting Started","pages":[{"title":"Installation","href":"/getting-started/installation"},{"title":"Supported platforms","description":null,"href":"/troubleshooting/supported-platforms"},{"title":"Tuple for Linux (alpha)","href":"/getting-started/tuple-for-linux"},{"title":"Agreements and Policies","description":null,"href":"/overview/agreements-and-policies"}]},{"group":"Pairing with Tuple","pages":[{"group":"Screen Sharing","root":{"title":"Sharing your screen","href":"/pairing-with-tuple/sharing-your-screen"},"pages":[{"title":"Interacting with a shared screen","href":"/pairing-with-tuple/interacting-with-a-shared-screen"},{"title":"Requesting a share","href":"/pairing-with-tuple/requesting-a-share"},{"title":"Sharing app metadata","href":"/pairing-with-tuple/sharing-app-metadata"},{"title":"Sharing system audio","href":"/pairing-with-tuple/sharing-system-audio"}]},{"group":"Calls","pages":[{"title":"Adding more call participants","href":"/pairing-with-tuple/adding-more-call-participants"},{"title":"Joining an existing call","href":"/pairing-with-tuple/joining-an-existing-call"},{"title":"Joining a call via a link/URL","href":"/pairing-with-tuple/joining-a-call-via-a-linkurl"},{"title":"Joining a call from your browser","href":"/pairing-with-tuple/joining-a-call-from-your-browser"},{"title":"Using Rooms","href":"/pairing-with-tuple/using-rooms"},{"title":"Pairing with Someone on Tuple as a Guest","href":"/pairing-with-tuple/pairing-with-someone-on-tuple-as-a-guest"},{"title":"Using Tuple for Interviews","href":"/pairing-with-tuple/using-tuple-for-interviews"}]},{"group":"Features","pages":[{"title":"Audio device swapping","href":"/pairing-with-tuple/audio-device-swapping"},{"title":"Copying and pasting from one computer to another","href":"/pairing-with-tuple/copying-and-pasting-from-one-computer-to-another-sharing-your-clipboard"},{"title":"Sound Check","href":"/pairing-with-tuple/sound-check"},{"title":"Call Stats","href":"/pairing-with-tuple/call-stats"},{"title":"Sharing a webcam video","href":"/pairing-with-tuple/sharing-a-webcam-video"},{"title":"Collaborative Painting","href":"/pairing-with-tuple/collaborative-painting"},{"title":"Showing Who You're Pairing With","href":"/pairing-with-tuple/showing-who-youre-pairing-with"},{"title":"Using your keyboard to navigate Tuple","href":"/pairing-with-tuple/using-your-keyboard-to-navigate-tuple"},{"title":"Spotlight Integration","href":"/pairing-with-tuple/spotlight-integration"},{"title":"How to stream pair programming sessions","href":"/pairing-with-tuple/how-to-stream-pair-programming-sessions"},{"title":"Capturing calls","href":"/pairing-with-tuple/capturing-calls"},{"title":"Ways to use Capture","href":"/pairing-with-tuple/ways-to-use-capture"},{"title":"Local call history","href":"/pairing-with-tuple/local-call-history"},{"title":"Searching past calls","href":"/pairing-with-tuple/searching-past-calls"},{"title":"Speaking-while-muted notification","href":"/pairing-with-tuple/speaking-while-muted-notification"}]}]},{"group":"Managing Your Account","pages":[{"group":"Profile and Security","pages":[{"title":"Setting your profile picture avatar","href":"/managing-your-account/setting-your-profile-picture-avatar"},{"title":"Resetting your password","href":"/managing-your-account/resetting-your-password"}]},{"group":"Account Type and Access","pages":[{"title":"Using Tuple as an unpaid user","href":"/managing-your-account/using-tuple-as-an-unpaid-user"},{"title":"Upgrading a guest account","href":"/managing-your-account/upgrading-a-guest-account"}]},{"group":"Integrations and Activity","pages":[{"title":"Adding Integrations","href":"/managing-your-account/adding-integrations"},{"title":"Viewing your call history","href":"/managing-your-account/viewing-your-call-history"}]}]},{"group":"Team Management","pages":[{"group":"Members and Permissions","root":{"title":"Inviting users","href":"/team-management/inviting-users"},"pages":[{"title":"Removing users","href":"/team-management/removing-users"},{"title":"Team Owner and Managers","href":"/team-management/team-owner-and-managers"},{"title":"Requesting a Team Invite Link","href":"/team-management/requesting-a-team-invite-link"}]},{"group":"Billing and Subscription","root":{"title":"Managing Team billing","href":"/team-management/managing-team-billing"},"pages":[{"title":"Adding Details To Your Invoice","href":"/team-management/adding-details-to-your-invoice"},{"title":"Cancelling a subscription","href":"/team-management/cancelling-a-subscription"},{"title":"Reactivating a subscription","href":"/team-management/reactivating-a-subscription"},{"title":"OSS and startup plans","href":"/team-management/oss-and-startup-plans"}]},{"group":"Authentication and SSO","pages":[{"title":"Sign In With Google","href":"/team-management/sign-in-with-google"},{"title":"Sign in With Microsoft","href":"/team-management/sign-in-with-microsoft"},{"group":"SAML","root":{"title":"Single Sign-On (SSO)","href":"/team-management/configuring-single-sign-on-sso"},"pages":[{"title":"Okta","href":"/team-management/sso-okta"},{"title":"Google Workspace","href":"/team-management/sso-google"},{"title":"Microsoft Entra ID","href":"/team-management/sso-azure"},{"title":"OneLogin","href":"/team-management/sso-onelogin"}]},{"group":"SCIM","root":{"title":"SCIM provisioning","href":"/team-management/scim-provisioning"},"pages":[{"title":"Okta","href":"/team-management/scim-okta"},{"title":"Microsoft Entra ID","href":"/team-management/scim-entra-id"},{"title":"OneLogin","href":"/team-management/scim-onelogin"}]}]},{"group":"Reporting","pages":[{"title":"Pairing Insights","href":"/team-management/pairing-insights"},{"title":"Exporting Team Usage","href":"/team-management/exporting-team-usage"},{"title":"Usage API (alpha)","href":"/team-management/usage-api-alpha"}]}]},{"group":"Application Preferences","pages":[{"group":"macOS","expanded":false,"pages":[{"title":"General","href":"/application-preferences/macos-preferences-general"},{"title":"Audio","href":"/application-preferences/macos-preferences-audio"},{"title":"Screen share","href":"/application-preferences/macos-preferences-screen-share"},{"title":"Webcam","href":"/application-preferences/macos-preferences-webcam"},{"title":"Hotkeys","href":"/application-preferences/macos-preferences-hotkeys"},{"title":"Capture","href":"/application-preferences/macos-preferences-capture"},{"title":"App Veil","href":"/application-preferences/macos-preferences-app-veil"},{"title":"Triggers","href":"/application-preferences/macos-preferences-triggers"},{"title":"Integrations","href":"/application-preferences/macos-preferences-integrations"}]},{"group":"Windows","expanded":false,"pages":[{"title":"General","href":"/application-preferences/windows-preferences-general"},{"title":"Audio","href":"/application-preferences/windows-preferences-audio"},{"title":"Network","href":"/application-preferences/windows-preferences-network"},{"title":"Capture","hidden":true,"href":"/application-preferences/windows-preferences-capture"},{"title":"App Veil","href":"/application-preferences/windows-preferences-app-veil"}]}]},{"group":"Tuple CLI","pages":[{"title":"CLI overview","href":"/cli/overview"},{"title":"Command reference","href":"/cli/commands"},{"title":"Connect an AI agent","href":"/cli/connect"},{"title":"Config file","href":"/cli/config"},{"title":"MCP server","href":"/cli/mcp"},{"title":"Migrate Tuple CLI and MCP integrations","href":"/cli/migration"},{"title":"Migrate from the earlier Linux commands","href":"/cli/linux-migration"}]},{"group":"Triggers","pages":[{"title":"Building a trigger","href":"/triggers/building-a-trigger"},{"title":"Testing and debugging","href":"/triggers/testing-and-debugging"},{"title":"API reference","href":"/triggers/api-reference"},{"title":"Best practices","href":"/triggers/best-practices"},{"title":"Submitting a trigger","href":"/triggers/submitting-a-trigger"},{"title":"Security","href":"/triggers/security"}]},{"group":"Troubleshooting","pages":[{"group":"Connectivity and Call Quality","pages":[{"title":"Fixing Connectivity Issues","href":"/troubleshooting/fixing-connectivity-issues"},{"title":"Networking and Firewall Issues","href":"/troubleshooting/networking-and-firewall-issues"},{"title":"Reducing latency","href":"/troubleshooting/reducing-latency"},{"title":"AWDL interference","href":"/troubleshooting/awdl"}]},{"group":"Audio and Notifications","pages":[{"title":"Audio Issues","href":"/troubleshooting/audio-issues"},{"title":"Audio device swapping","href":"/troubleshooting/audio-device-swapping"},{"title":"Quiet microphone on Windows","href":"/troubleshooting/quiet-microphone-on-windows"},{"title":"Not receiving notifications","href":"/troubleshooting/not-receiving-notifications"}]},{"group":"Performance and Stability","pages":[{"title":"Crashes","href":"/troubleshooting/crashes"},{"title":"High CPU usage","href":"/troubleshooting/high-cpu-usage"}]},{"group":"Updates and System Setup","pages":[{"title":"Upgrading","href":"/troubleshooting/upgrading"},{"title":"Minimum Disk Space Requirements","href":"/troubleshooting/minimum-disk-space-requirements"},{"title":"Preventing Launch at Login","href":"/troubleshooting/preventing-launch-at-login"}]},{"group":"Diagnostics and Support","pages":[{"title":"Recording on Tuple","href":"/troubleshooting/recording-on-tuple"}]}]}]},"basePath":"","title":"Tuple for Linux (alpha) - Tuple documentation","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":[],"chunks":[]}