文件
mynode/readme/cla/consent_records/wittymap_119261743.json
chen 301194963b
一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
feat: Initial clean release of CHM
2026-11-04 11:29:39 +08:00

497 行
32 KiB
JSON

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

{
"issue": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/14013",
"repository_url": "https://api.github.com/repos/laurent22/joplin",
"labels_url": "https://api.github.com/repos/laurent22/joplin/issues/14013/labels{/name}",
"comments_url": "https://api.github.com/repos/laurent22/joplin/issues/14013/comments",
"events_url": "https://api.github.com/repos/laurent22/joplin/issues/14013/events",
"html_url": "https://github.com/laurent22/joplin/pull/14013",
"id": 3773895122,
"node_id": "PR_kwDOBLftOs67KcVL",
"number": 14013,
"title": "Doc: Add uninstall instructions for linux",
"user": {
"login": "wittymap",
"id": 119261743,
"node_id": "U_kgDOBxvKLw",
"avatar_url": "https://avatars.githubusercontent.com/u/119261743?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/wittymap",
"html_url": "https://github.com/wittymap",
"followers_url": "https://api.github.com/users/wittymap/followers",
"following_url": "https://api.github.com/users/wittymap/following{/other_user}",
"gists_url": "https://api.github.com/users/wittymap/gists{/gist_id}",
"starred_url": "https://api.github.com/users/wittymap/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/wittymap/subscriptions",
"organizations_url": "https://api.github.com/users/wittymap/orgs",
"repos_url": "https://api.github.com/users/wittymap/repos",
"events_url": "https://api.github.com/users/wittymap/events{/privacy}",
"received_events_url": "https://api.github.com/users/wittymap/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"labels": [],
"state": "closed",
"locked": false,
"assignees": [],
"milestone": null,
"comments": 7,
"created_at": "2025-12-31T23:27:49Z",
"updated_at": "2026-01-26T16:19:39Z",
"closed_at": "2026-01-26T15:15:10Z",
"assignee": null,
"author_association": "NONE",
"active_lock_reason": null,
"draft": false,
"pull_request": {
"url": "https://api.github.com/repos/laurent22/joplin/pulls/14013",
"html_url": "https://github.com/laurent22/joplin/pull/14013",
"diff_url": "https://github.com/laurent22/joplin/pull/14013.diff",
"patch_url": "https://github.com/laurent22/joplin/pull/14013.patch",
"merged_at": null
},
"body": "Documentation update to add missing instructions for how to remove Joplin on linux.\r\nFor novice linux users it is not clear how to remove the app after installing.",
"closed_by": {
"login": "laurent22",
"id": 1285584,
"node_id": "MDQ6VXNlcjEyODU1ODQ=",
"avatar_url": "https://avatars.githubusercontent.com/u/1285584?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/laurent22",
"html_url": "https://github.com/laurent22",
"followers_url": "https://api.github.com/users/laurent22/followers",
"following_url": "https://api.github.com/users/laurent22/following{/other_user}",
"gists_url": "https://api.github.com/users/laurent22/gists{/gist_id}",
"starred_url": "https://api.github.com/users/laurent22/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/laurent22/subscriptions",
"organizations_url": "https://api.github.com/users/laurent22/orgs",
"repos_url": "https://api.github.com/users/laurent22/repos",
"events_url": "https://api.github.com/users/laurent22/events{/privacy}",
"received_events_url": "https://api.github.com/users/laurent22/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/14013/reactions",
"total_count": 0,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 0,
"rocket": 0,
"eyes": 0
},
"timeline_url": "https://api.github.com/repos/laurent22/joplin/issues/14013/timeline",
"performed_via_github_app": null,
"state_reason": null
},
"comments": [
{
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3703039974",
"html_url": "https://github.com/laurent22/joplin/pull/14013#issuecomment-3703039974",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14013",
"id": 3703039974,
"node_id": "IC_kwDOBLftOs7ct-fm",
"user": {
"login": "github-actions[bot]",
"id": 41898282,
"node_id": "MDM6Qm90NDE4OTgyODI=",
"avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github-actions%5Bbot%5D",
"html_url": "https://github.com/apps/github-actions",
"followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
"following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
"gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
"organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
"repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
"events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
"received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
"type": "Bot",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2025-12-31T23:28:00Z",
"updated_at": "2026-01-26T16:19:39Z",
"body": "****CLA Assistant Lite bot**** All contributors have signed the CLA ✍️ ✅",
"author_association": "CONTRIBUTOR",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3703039974/reactions",
"total_count": 0,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 0,
"rocket": 0,
"eyes": 0
},
"performed_via_github_app": {
"id": 15368,
"client_id": "Iv1.05c79e9ad1f6bdfa",
"slug": "github-actions",
"node_id": "MDM6QXBwMTUzNjg=",
"owner": {
"login": "github",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github",
"html_url": "https://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "Organization",
"user_view_type": "public",
"site_admin": false
},
"name": "GitHub Actions",
"description": "Automate your workflow from idea to production",
"external_url": "https://help.github.com/en/actions",
"html_url": "https://github.com/apps/github-actions",
"created_at": "2018-07-30T09:30:17Z",
"updated_at": "2026-05-05T14:51:38Z",
"permissions": {
"actions": "write",
"administration": "read",
"artifact_metadata": "write",
"attestations": "write",
"checks": "write",
"code_quality": "write",
"contents": "write",
"copilot_requests": "write",
"deployments": "write",
"discussions": "write",
"issues": "write",
"merge_queues": "write",
"metadata": "read",
"models": "read",
"packages": "write",
"pages": "write",
"pull_requests": "write",
"repository_hooks": "write",
"repository_projects": "write",
"security_events": "write",
"statuses": "write",
"vulnerability_alerts": "read"
},
"events": [
"branch_protection_rule",
"check_run",
"check_suite",
"create",
"delete",
"deployment",
"deployment_status",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"merge_group",
"milestone",
"page_build",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"status",
"watch",
"workflow_dispatch",
"workflow_run"
]
}
},
{
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3703042029",
"html_url": "https://github.com/laurent22/joplin/pull/14013#issuecomment-3703042029",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14013",
"id": 3703042029,
"node_id": "IC_kwDOBLftOs7ct-_t",
"user": {
"login": "wittymap",
"id": 119261743,
"node_id": "U_kgDOBxvKLw",
"avatar_url": "https://avatars.githubusercontent.com/u/119261743?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/wittymap",
"html_url": "https://github.com/wittymap",
"followers_url": "https://api.github.com/users/wittymap/followers",
"following_url": "https://api.github.com/users/wittymap/following{/other_user}",
"gists_url": "https://api.github.com/users/wittymap/gists{/gist_id}",
"starred_url": "https://api.github.com/users/wittymap/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/wittymap/subscriptions",
"organizations_url": "https://api.github.com/users/wittymap/orgs",
"repos_url": "https://api.github.com/users/wittymap/repos",
"events_url": "https://api.github.com/users/wittymap/events{/privacy}",
"received_events_url": "https://api.github.com/users/wittymap/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2025-12-31T23:30:19Z",
"updated_at": "2025-12-31T23:30:19Z",
"body": "I have read the CLA Document and I hereby sign the CLA",
"author_association": "NONE",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3703042029/reactions",
"total_count": 0,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 0,
"rocket": 0,
"eyes": 0
},
"performed_via_github_app": null
},
{
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3703042120",
"html_url": "https://github.com/laurent22/joplin/pull/14013#issuecomment-3703042120",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14013",
"id": 3703042120,
"node_id": "IC_kwDOBLftOs7ct_BI",
"user": {
"login": "wittymap",
"id": 119261743,
"node_id": "U_kgDOBxvKLw",
"avatar_url": "https://avatars.githubusercontent.com/u/119261743?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/wittymap",
"html_url": "https://github.com/wittymap",
"followers_url": "https://api.github.com/users/wittymap/followers",
"following_url": "https://api.github.com/users/wittymap/following{/other_user}",
"gists_url": "https://api.github.com/users/wittymap/gists{/gist_id}",
"starred_url": "https://api.github.com/users/wittymap/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/wittymap/subscriptions",
"organizations_url": "https://api.github.com/users/wittymap/orgs",
"repos_url": "https://api.github.com/users/wittymap/repos",
"events_url": "https://api.github.com/users/wittymap/events{/privacy}",
"received_events_url": "https://api.github.com/users/wittymap/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2025-12-31T23:30:28Z",
"updated_at": "2025-12-31T23:30:28Z",
"body": "recheck",
"author_association": "NONE",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3703042120/reactions",
"total_count": 0,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 0,
"rocket": 0,
"eyes": 0
},
"performed_via_github_app": null
},
{
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3731175293",
"html_url": "https://github.com/laurent22/joplin/pull/14013#issuecomment-3731175293",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14013",
"id": 3731175293,
"node_id": "IC_kwDOBLftOs7eZTd9",
"user": {
"login": "kxis",
"id": 15833511,
"node_id": "MDQ6VXNlcjE1ODMzNTEx",
"avatar_url": "https://avatars.githubusercontent.com/u/15833511?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/kxis",
"html_url": "https://github.com/kxis",
"followers_url": "https://api.github.com/users/kxis/followers",
"following_url": "https://api.github.com/users/kxis/following{/other_user}",
"gists_url": "https://api.github.com/users/kxis/gists{/gist_id}",
"starred_url": "https://api.github.com/users/kxis/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/kxis/subscriptions",
"organizations_url": "https://api.github.com/users/kxis/orgs",
"repos_url": "https://api.github.com/users/kxis/repos",
"events_url": "https://api.github.com/users/kxis/events{/privacy}",
"received_events_url": "https://api.github.com/users/kxis/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-01-10T00:55:51Z",
"updated_at": "2026-01-11T11:32:35Z",
"body": "I feel this whole topic of uninstallation on linux is closely mirroring community editable post [Unofficial alternative Joplin distributions - Lounge - Joplin Forum](https://discourse.joplinapp.org/t/unofficial-alternative-joplin-distributions/23703#p-81146-desktop-linux-2)\r\n\r\nHence, I think it would make sense to split linux distro specific section to a separate post and expand it into installation/unistallation by distro. Here's a draft of such post -- AI generated (proton's lumo, scira, perplexity) and manually reviewed by me: content+styling for discourse but no physical testing.\r\n\r\n\r\n<details><summary>Details</summary>\r\n<p>\r\n\r\nBelow is a revised post suitable for the Joplin forum, using the referenced wiki for unofficial distributions and their maintainers.[1][2]\r\n\r\nThis post groups Linux installation instructions by **installation method**, and for each unofficial distribution lists the maintainer nickname as in the “Unofficial alternative Joplin distributions” wiki. All non-AppImage methods are community-maintained and unsupported by the core project, so bugs and issues should be reported to their respective maintainers.[2][7][1]\r\n\r\n# How to install and cleanly uninstall Joplin on Linux (all methods)\r\n\r\nAlways back up your profile (typically `~/.config/joplin-desktop` and any external sync/local data) before uninstalling or switching method.[12][13][2]\r\n\r\n***\r\n\r\n## 1. Official desktop script (AppImage)\r\n\r\nThis is the officially supported desktop method on Linux and works on most distributions.[4][7]\r\n\r\n### Install\r\n\r\nRun in a terminal:\r\n\r\n```bash\r\nwget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash\r\n```\r\n\r\n- Installs a Joplin AppImage under `~/.joplin/` for the current user.[1][12]\r\n- Creates a desktop entry and icon in your user’s XDG directories so it appears in your app menu.[12][1]\r\n\r\n### Clean uninstall\r\n\r\nClose Joplin, then:\r\n\r\n```bash\r\n# Remove AppImage + version file\r\nrm -f ~/.joplin/*.AppImage ~/.joplin/VERSION\r\n\r\n# Remove desktop entry and icon (names can slightly vary)\r\nrm -f ~/.local/share/applications/joplin.desktop \\\r\n ~/.local/share/applications/appimagekit-joplin.desktop\r\n\r\nrm -f ~/.local/share/icons/hicolor/512x512/apps/joplin.png\r\n\r\n# Remove configuration and local profile (optional, this deletes local notes if not synced)\r\nrm -rf ~/.config/joplin-desktop\r\n```\r\n\r\nIf you created any additional custom launchers or icons, delete those as well.\r\n\r\n***\r\n\r\n## 2. Official terminal (CLI) via npm\r\n\r\nThe CLI client is officially documented and can be installed with npm.[7]\r\n\r\n### Install\r\n\r\nExample of a user-local install (recommended to avoid sudo with npm):\r\n\r\n```bash\r\n# Choose a user-local prefix\r\nNPM_CONFIG_PREFIX=\"$HOME/.joplin-bin\" npm install -g joplin --loglevel=error\r\n\r\n# Optionally add a global symlink (requires sudo)\r\nsudo ln -s \"$HOME/.joplin-bin/bin/joplin\" /usr/bin/joplin\r\n```\r\n\r\nAlternatively, if your system npm is already configured globally, you can use:\r\n\r\n```bash\r\nsudo npm install -g joplin\r\n```\r\n\r\n### Clean uninstall\r\n\r\n1. Remove the npm package:\r\n\r\n ```bash\r\n npm uninstall -g joplin\r\n ```\r\n\r\n2. Remove any symlink you created:\r\n\r\n ```bash\r\n sudo rm -f /usr/bin/joplin\r\n ```\r\n\r\n3. Remove the chosen prefix directory if you used one:\r\n\r\n ```bash\r\n rm -rf ~/.joplin-bin\r\n ```\r\n\r\n4. Remove any CLI profile/config directories if different from the desktop profile on your system.\r\n\r\n***\r\n\r\n## 3. Flatpak (unofficial – maintainer: **catsout**)\r\n\r\nFlatpak builds are community-maintained and listed in the wiki as:[2][1]\r\n\r\n- Distribution: Flatpak \r\n- Name: Joplin \r\n- Maintainer: **catsout** \r\n\r\n### Install\r\n\r\nFirst ensure Flatpak and Flathub are enabled, then:\r\n\r\n```bash\r\nflatpak install flathub net.cozic.joplin_desktop\r\n```\r\n\r\nRun with:\r\n\r\n```bash\r\nflatpak run net.cozic.joplin_desktop\r\n```\r\n\r\n### Clean uninstall\r\n\r\n```bash\r\nflatpak uninstall net.cozic.joplin_desktop\r\n```\r\n\r\nOptionally remove remaining Flatpak data for this app:\r\n\r\n```bash\r\nrm -rf ~/.var/app/net.cozic.joplin_desktop\r\n```\r\n\r\nThis removes the Flatpak sandbox configuration and data for Joplin.\r\n\r\n***\r\n\r\n## 4. Snap (unofficial – maintainer: **MrCarroll**)\r\n\r\nThe wiki lists the Snap desktop package as:[1][2]\r\n\r\n- Distribution: Snap \r\n- Name: Joplin Desktop \r\n- Maintainer: **MrCarroll** \r\n\r\n### Install\r\n\r\nEnsure `snapd` is available, then:\r\n\r\n```bash\r\nsudo snap install joplin-desktop\r\n```\r\n\r\nJoplin can be launched from your menu or with:\r\n\r\n```bash\r\nsnap run joplin-desktop\r\n```\r\n\r\n### Clean uninstall\r\n\r\n```bash\r\nsudo snap remove joplin-desktop\r\n```\r\n\r\nUser configuration under `~/.config/joplin-desktop` created by earlier non-snap installs is not touched by Snap and must be removed manually if you want a fully clean system.\r\n\r\n***\r\n\r\n## 5. Arch / AUR builds (unofficial – maintainers as per wiki)\r\n\r\nThe wiki lists several AUR packages for the desktop:[2][1]\r\n\r\n- `joplin-desktop` – Maintainers: **masterkorp / alfredopalhares** \r\n- `joplin-appimage` – Maintainer: **fsociety3765** \r\n- `joplin-desktop-bin` – Maintainer: **thynkon** \r\n\r\nPre‑compiled AUR builds may also be available in Chaotic‑AUR.[1][2]\r\n\r\n### 5.1 AUR helper basics\r\n\r\nYou need an AUR helper like `yay`, `paru` or `aura`. Once installed, the general pattern is:[2][1]\r\n\r\n```bash\r\nyay -S joplin-desktop # or joplin-appimage / joplin-desktop-bin\r\n```\r\n\r\n### 5.2 Clean uninstall for AUR packages\r\n\r\nUse the same helper to remove the package and its dependencies:\r\n\r\n```bash\r\nyay -Rns joplin-desktop # or joplin-appimage / joplin-desktop-bin\r\n```\r\n\r\nThen optionally remove user data:\r\n\r\n```bash\r\nrm -rf ~/.config/joplin-desktop\r\nrm -rf ~/.joplin # if the AppImage variant created this\r\n```\r\n\r\nIf you switched between multiple AUR flavors, check your menu entries and remove stale `.desktop` files under `~/.local/share/applications`.\r\n\r\n***\r\n\r\n## 6. RPM / COPR (unofficial – maintainer: **taw00**)\r\n\r\nThe wiki lists an RPM distribution as:[1][2]\r\n\r\n- Distribution: RPM \r\n- Name: joplin \r\n- Maintainer: **taw00** \r\n\r\nThis is typically provided via a COPR or similar repository for Fedora and related distributions.[2]\r\n\r\n### Install\r\n\r\nAfter enabling the appropriate repository (see that project’s instructions), you normally run:\r\n\r\n```bash\r\nsudo dnf install joplin # Fedora-like\r\n# or, if using another RPM-based distro:\r\nsudo zypper install joplin\r\n```\r\n\r\n### Clean uninstall\r\n\r\n```bash\r\nsudo dnf remove joplin\r\n# or\r\nsudo zypper remove joplin\r\n```\r\n\r\nThen optionally remove user data:\r\n\r\n```bash\r\nrm -rf ~/.config/joplin-desktop\r\n```\r\n\r\n***\r\n\r\n## 7. Nix / NixOS (unofficial – maintainer: **Hugo Reeves**)\r\n\r\nFor the desktop on Linux, the wiki lists:[1][2]\r\n\r\n- Distribution: Nix \r\n- Name: joplin-desktop \r\n- Maintainer: **Hugo Reeves** \r\n\r\n### Install\r\n\r\nIf Nix is installed:\r\n\r\n```bash\r\n# NixOS\r\nnix-env -iA nixos.joplin-desktop\r\n\r\n# Non-NixOS\r\nnix-env -iA nixpkgs.joplin-desktop\r\n```\r\n\r\n\r\n\r\n### Clean uninstall\r\n\r\n```bash\r\nnix-env -e joplin-desktop\r\n```\r\n\r\nThen, as with other methods, remove configuration if desired:\r\n\r\n```bash\r\nrm -rf ~/.config/joplin-desktop\r\n```\r\n\r\nIf you have multiple Nix profiles or generations, also prune old generations so Nix garbage collection can reclaim space.\r\n\r\n***\r\n\r\n## 8. Manual AppImage or other manual installs (unofficial, user-maintained)\r\n\r\nSome users download the AppImage or other binaries manually and place them in a custom directory such as `~/Applications` or `/opt/joplin`.[14][12]\r\n\r\n### Install\r\n\r\nFor example:\r\n\r\n```bash\r\nmkdir -p ~/Applications\r\ncd ~/Applications\r\nwget https://example.com/path/to/Joplin-x.y.z.AppImage # replace with actual release URL\r\nchmod +x Joplin-*.AppImage\r\n```\r\n\r\nYou may also create a custom `~/.local/share/applications/joplin.desktop` pointing to that AppImage for menu integration.\r\n\r\n### Clean uninstall\r\n\r\nDelete the binary and any custom desktop/icon files:\r\n\r\n```bash\r\nrm -f ~/Applications/Joplin-*.AppImage\r\nrm -f ~/.local/share/applications/joplin.desktop\r\nrm -f ~/.local/share/icons/hicolor/512x512/apps/joplin.png\r\nrm -rf ~/.config/joplin-desktop\r\n```\r\n\r\nIf you installed under `/opt` or another system directory, remove it with `sudo rm -rf /opt/joplin` (or equivalent) and any system-wide desktop entries.\r\n\r\n***\r\n\r\n## 9. General notes on “clean” uninstall\r\n\r\nRegardless of distribution or package type, a truly clean uninstall on Linux always has two parts:[13][12][2]\r\n\r\n1. Remove the installed program \r\n - Using the appropriate package manager (`snap remove`, `flatpak uninstall`, `yay -Rns`, `dnf remove`, `nix-env -e`, etc.) or by deleting the AppImage/script install. \r\n2. Remove all user-level configuration and data (optional but often desired) \r\n - Typically: \r\n - `rm -rf ~/.config/joplin-desktop` \r\n - `rm -rf ~/.joplin` or any other Joplin-specific directories you created \r\n\r\nIf you plan to reinstall or you rely on sync only as a backup, make sure you export or sync your notes before deleting profile directories.\r\n\r\n[1](https://discourse.joplinapp.org/t/unofficial-alternative-joplin-distributions/23703)\r\n[2](https://discourse.joplinapp.org/t/alternative-distributions-wiki-list/23677)\r\n[3](https://discourse.joplinapp.org/t/why-only-appimage-for-linux/28604)\r\n[4](https://www.reddit.com/r/linuxbrasil/comments/1jlayvb/qual_apelidos_voc%C3%AAs_usam_pra_distro_linux/)\r\n[5](https://discourse.joplinapp.org/t/joplin-desktop-pre-built-packages-for-debian-ubuntu-archlinux/33042)\r\n[6](https://joplinapp.org/help/install/)\r\n[7](https://discourse.joplinapp.org/t/desktop-linux-package-management-why-don-t-we-build-for-each-distro/8123)\r\n[8](https://discourse.joplinapp.org/t/installing-in-ubuntu/32557)\r\n[9](https://discourse.joplinapp.org/t/joplin-arnatious/14487)\r\n[10](https://zap-hosting.com/guides/docs/dedicated-linux-joplin/)\r\n[11](https://github.com/laurent22/joplin/issues/3824)\r\n[12](https://discourse.joplinapp.org/t/how-to-completely-uninstall-joplin-from-linux-mint/8410)\r\n[13](https://www.reddit.com/r/linux4noobs/comments/ttoxd9/need_to_uninstall_joplin/)\r\n\r\n</p>\r\n</details> \r\n\r\nIf you want, I can post it by myself, I just thought it's better to be community editable -- which is unavailable for my [discourse profile](https://discourse.joplinapp.org/u/amil/) it\r\n",
"author_association": "NONE",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3731175293/reactions",
"total_count": 0,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 0,
"rocket": 0,
"eyes": 0
},
"performed_via_github_app": null
},
{
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3732798887",
"html_url": "https://github.com/laurent22/joplin/pull/14013#issuecomment-3732798887",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14013",
"id": 3732798887,
"node_id": "IC_kwDOBLftOs7eff2n",
"user": {
"login": "JGCarroll",
"id": 62413368,
"node_id": "MDQ6VXNlcjYyNDEzMzY4",
"avatar_url": "https://avatars.githubusercontent.com/u/62413368?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/JGCarroll",
"html_url": "https://github.com/JGCarroll",
"followers_url": "https://api.github.com/users/JGCarroll/followers",
"following_url": "https://api.github.com/users/JGCarroll/following{/other_user}",
"gists_url": "https://api.github.com/users/JGCarroll/gists{/gist_id}",
"starred_url": "https://api.github.com/users/JGCarroll/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/JGCarroll/subscriptions",
"organizations_url": "https://api.github.com/users/JGCarroll/orgs",
"repos_url": "https://api.github.com/users/JGCarroll/repos",
"events_url": "https://api.github.com/users/JGCarroll/events{/privacy}",
"received_events_url": "https://api.github.com/users/JGCarroll/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-01-10T13:42:17Z",
"updated_at": "2026-01-10T13:43:01Z",
"body": "> Snap removes most data automatically, but you can delete remaining app-specific dirs if present (path may vary by system):\r\n> sudo rm -rf /var/snap/joplin-desktop\r\n> User configuration under ~/.config/joplin-desktop created by earlier non-snap installs is not touched by Snap and must be removed manually if you want a fully clean system.\r\n\r\nJust thought I'd correct the AI on these, the only thing that needs to be done is `snap remove joplin-desktop` and optionally with the `--purge` flag that I do not recommend people use. Removing the snap automatically removes user data but keeps a backup in snaps native tooling for 30 days incase that's unexpected behaviour for people allowing them to recover data; which is what `--purge` avoids, deleting everything instantly instead.\r\n\r\nIt doesn't use `~/.config/joplin-desktop` so that'd be deleting other packages data. Similarly there's nothing in `/var` to delete that isn't handled by the remove command but working on `/var/snapd` by hand can lead to issues with internal state, so it truly does just boil down to the one command or GUI equivalent.",
"author_association": "NONE",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3732798887/reactions",
"total_count": 3,
"+1": 2,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 1,
"rocket": 0,
"eyes": 0
},
"performed_via_github_app": null
},
{
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3734475523",
"html_url": "https://github.com/laurent22/joplin/pull/14013#issuecomment-3734475523",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14013",
"id": 3734475523,
"node_id": "IC_kwDOBLftOs7el5MD",
"user": {
"login": "kxis",
"id": 15833511,
"node_id": "MDQ6VXNlcjE1ODMzNTEx",
"avatar_url": "https://avatars.githubusercontent.com/u/15833511?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/kxis",
"html_url": "https://github.com/kxis",
"followers_url": "https://api.github.com/users/kxis/followers",
"following_url": "https://api.github.com/users/kxis/following{/other_user}",
"gists_url": "https://api.github.com/users/kxis/gists{/gist_id}",
"starred_url": "https://api.github.com/users/kxis/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/kxis/subscriptions",
"organizations_url": "https://api.github.com/users/kxis/orgs",
"repos_url": "https://api.github.com/users/kxis/repos",
"events_url": "https://api.github.com/users/kxis/events{/privacy}",
"received_events_url": "https://api.github.com/users/kxis/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-01-11T12:15:45Z",
"updated_at": "2026-01-12T13:04:37Z",
"body": "> > Snap removes most data automatically, but you can delete remaining app-specific dirs if present (path may vary by system):\r\n> > sudo rm -rf /var/snap/joplin-desktop\r\n> > User configuration under ~/.config/joplin-desktop created by earlier non-snap installs is not touched by Snap and must be removed manually if you want a fully clean system.\r\n> \r\n> Just thought I'd correct the AI on these, \r\n\r\nThank you very much for your correction -- I've now deleted the paragraph. Additionally, I went ahead and published the revised version to the forum hoping to get corrections from other community maintainers as well.\r\n\r\nhttps://discourse.joplinapp.org/t/how-to-install-and-cleanly-uninstall-joplin-on-linux-all-methods/48300?u=amil\r\n\r\nGuess I'll speedrun discourse membership trust level to turn the post into a publicly editable wiki :sweat_smile: ",
"author_association": "NONE",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3734475523/reactions",
"total_count": 0,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 0,
"rocket": 0,
"eyes": 0
},
"performed_via_github_app": null
},
{
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3800109662",
"html_url": "https://github.com/laurent22/joplin/pull/14013#issuecomment-3800109662",
"issue_url": "https://api.github.com/repos/laurent22/joplin/issues/14013",
"id": 3800109662,
"node_id": "IC_kwDOBLftOs7igRJe",
"user": {
"login": "laurent22",
"id": 1285584,
"node_id": "MDQ6VXNlcjEyODU1ODQ=",
"avatar_url": "https://avatars.githubusercontent.com/u/1285584?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/laurent22",
"html_url": "https://github.com/laurent22",
"followers_url": "https://api.github.com/users/laurent22/followers",
"following_url": "https://api.github.com/users/laurent22/following{/other_user}",
"gists_url": "https://api.github.com/users/laurent22/gists{/gist_id}",
"starred_url": "https://api.github.com/users/laurent22/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/laurent22/subscriptions",
"organizations_url": "https://api.github.com/users/laurent22/orgs",
"repos_url": "https://api.github.com/users/laurent22/repos",
"events_url": "https://api.github.com/users/laurent22/events{/privacy}",
"received_events_url": "https://api.github.com/users/laurent22/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"created_at": "2026-01-26T15:15:10Z",
"updated_at": "2026-01-26T15:15:10Z",
"body": "Thank you for this PR but I feel this is not something that can be merged as it is, or fixed in an obvious way. As mentioned in the discussion above, the installation method should provide a way to uninstall the app, or provide documentation for it. We cannot reliably provide a general doc that will work in all cases.",
"author_association": "OWNER",
"reactions": {
"url": "https://api.github.com/repos/laurent22/joplin/issues/comments/3800109662/reactions",
"total_count": 0,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 0,
"rocket": 0,
"eyes": 0
},
"performed_via_github_app": null
}
]
}