拓冰建站拓冰建站
首页 / 资讯中心 / 正文

GitHub Desktop Linux 分叉版安装指南:APT/RPM 软件源配置、跨发行版安装与常见问题排查

开发工具桌面应用【免费下载链接】desktopFork of GitHub Desktop to support various Linux distributions项目地址https://gitcode.com/gh_mirrors/des/desktop点击查看免费下载本指南基于当前仓库desktop的 Linux 支持分叉的官方 README系统讲解该分叉的定位、三种发布格式AppImage / Debian / RPM、Debian/Ubuntu 与 Red Hat 系发行版的软件源配置与安装命令、Arch Linux 等跨发行版方案并结合仓库源码解释打包链路与已知问题的排查方法。读完本文你将掌握在主流 Linux 发行版上正确配置软件源、安装并更新 GitHub Desktop以及独立处理白屏、组织仓库访问受限等典型故障的完整能力。仓库定位为 Linux 而生当前仓库是上游desktop/desktop项目之上叠加特定补丁的 Linux 分叉目标是让原本主要面向 Windows/macOS 的 GitHub Desktop 能够在各类 Linux 发行版上正常使用。README 中明确给出了技术栈基于 Electron 的桌面应用框架主体使用TypeScript编写界面层使用React。这些信息在仓库中可以得到印证应用包元数据 app/package.json 声明了name: github-desktop、productName: GitHub Desktop并依赖dugiteGit 桥接库、keytar-forked系统密钥环访问等与 Git 操作、凭据存储密切相关的组件构建脚本与依赖清单见 package.json。换句话说这是一个官方产品、社区维护 Linux 版的典型模式安装与使用方式也因此与 Windows/macOS 版有所差异。发布物与软件源架构该分叉会为各 Linux 发行版发布三类安装产物格式后缀适用场景AppImage.AppImage跨发行版免安装运行单文件便携Debian.debDebian / Ubuntu 及衍生系统RPM.rpmRed Hat / CentOS / Fedora / OpenSUSE 等 RPM 系系统从源码看Linux 打包在 script/package.ts 的packageLinux()中完成整个链路依次为修正chrome-sandbox的权限位chmod 0o4755确保 Electron 沙箱在 Linux 下正常工作调用 packageElectronBuilder 通过electron-builder产出AppImage其目标与 MIME 声明配置见 script/electron-builder-linux.yml其中注册了x-scheme-handler/x-github-client、x-scheme-handler/x-github-desktop-auth等协议处理器用于拉起 OAuth 登录流程调用 packageDebian 生成.deb包调用 packageRedhat 生成.rpm包最后为所有安装产物生成 SHA-256 校验和checksums.txt及每个文件的.sha256文件。值得注意的依赖细节.deb包声明了libcurl3 | libcurl4、libsecret-1-0、gnome-keyring三个运行时依赖见 script/package-debian.ts.rpm包则声明(libcurl or libcurl4)、libsecret、gnome-keyring见 script/package-redhat.ts。这意味着安装后系统必须具备这些库与 GNOME 密钥环服务否则登录凭据可能无法保存。Debian / Ubuntu配置 APT 软件源Debian/Ubuntu 用户有两个 APT 源可供选择二者均基于本仓库的 release 自动生成只需添加其一两个源均托管在美国选择延迟更低或网络可达性更好的即可。选项一shiftkey 软件源wget -qO - https://apt.packages.shiftkey.dev/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/shiftkey-packages.gpg /dev/null sudo sh -c echo deb [archamd64 signed-by/usr/share/keyrings/shiftkey-packages.gpg] https://apt.packages.shiftkey.dev/ubuntu/ any main /etc/apt/sources.list.d/shiftkey-packages.list选项二mwt 镜像源wget -qO - https://mirror.mwt.me/shiftkey-desktop/gpgkey | gpg --dearmor | sudo tee /usr/share/keyrings/mwt-desktop.gpg /dev/null sudo sh -c echo deb [archamd64 signed-by/usr/share/keyrings/mwt-desktop.gpg] https://mirror.mwt.me/shiftkey-desktop/deb/ any main /etc/apt/sources.list.d/mwt-desktop.list两条命令分别完成两件事导入并去装甲 GPG 公钥dearmor 后以 keyring 文件形式存放以及写入带signed-by与archamd64约束的源定义。其中signed-by指定校验该源所使用的 keyring 路径是 Debian 11 安全推荐的源配置写法archamd64限定仅从该源拉取 amd64 架构包。安装源配置完成后执行sudo apt update sudo apt install github-desktopapt update会读取新源并刷新索引随后即可安装名为github-desktop的软件包。后续升级通过常规sudo apt upgrade即可自动获得新版本。Red Hat / CentOS / Fedora配置 RPM 软件源RPM 系同样提供两个源二选一即可。安装命令因包管理器而异yum老版本 RHEL/CentOS、dnfFedora/RHEL 8、zypperOpenSUSE/SUSE。选项一shiftkey 软件源sudo rpm --import https://rpm.packages.shiftkey.dev/gpg.key sudo sh -c echo -e [shiftkey-packages]\nnameGitHub Desktop\nbaseurlhttps://rpm.packages.shiftkey.dev/rpm/\nenabled1\ngpgcheck1\nrepo_gpgcheck1\ngpgkeyhttps://rpm.packages.shiftkey.dev/gpg.key /etc/yum.repos.d/shiftkey-packages.repo选项二mwt 镜像源sudo rpm --import https://mirror.mwt.me/shiftkey-desktop/gpgkey sudo sh -c echo -e [mwt-packages]\nnameGitHub Desktop\nbaseurlhttps://mirror.mwt.me/shiftkey-desktop/rpm\nenabled1\ngpgcheck1\nrepo_gpgcheck1\ngpgkeyhttps://mirror.mwt.me/shiftkey-desktop/gpgkey /etc/yum.repos.d/mwt-packages.repo这里的rpm --import导入 GPG 密钥repo 文件中gpgcheck1表示校验包签名repo_gpgcheck1表示校验仓库元数据签名gpgkey指向校验所用公钥baseurl为仓库地址。安装# 若使用 yum 作为包管理器 sudo yum install github-desktop # 若使用 dnf 作为包管理器 sudo dnf install github-desktop # 若使用 zypper 作为包管理器 sudo zypper ref sudo zypper in github-desktopzypper ref刷新仓库索引后再执行安装与 APT 的apt update作用一致。OpenSUSERPM 源配置OpenSUSE 使用与上述 RPM 相同的 GPG 密钥与仓库内容仅将 repo 文件写入/etc/zypp/repos.d/目录zypper 的仓库目录。选项一shiftkey 软件源sudo rpm --import https://rpm.packages.shiftkey.dev/gpg.key sudo sh -c echo -e [shiftkey-packages]\nnameGitHub Desktop\nbaseurlhttps://rpm.packages.shiftkey.dev/rpm/\nenabled1\ngpgcheck1\nrepo_gpgcheck1\ngpgkeyhttps://rpm.packages.shiftkey.dev/gpg.key /etc/zypp/repos.d/shiftkey-packages.repo选项二mwt 镜像源sudo rpm --import https://mirror.mwt.me/shiftkey-desktop/gpgkey sudo sh -c echo -e [mwt-packages]\nnameGitHub Desktop\nbaseurlhttps://mirror.mwt.me/shiftkey-desktop/rpm\nenabled1\ngpgcheck1\nrepo_gpgcheck1\ngpgkeyhttps://mirror.mwt.me/shiftkey-desktop/gpgkey /etc/zypp/repos.d/mwt-packages.repo安装sudo zypper ref sudo zypper in github-desktop其他发行版与跨发行版方案对于不在上述范围内的发行版README 提供了多种替代安装途径Arch LinuxAURArch 用户可从 AUR 安装github-desktop-bin包。前提条件系统必须安装gnome-keyring且其守护进程需在登录时或 X server 启动时拉起。通常显示管理器Display Manager会自动处理若未自动启动参考 Arch Wiki 中在 GNOME 之外使用密钥环的说明否则会出现无法保存登录凭据的问题。这与前面.deb/.rpm包中显式声明gnome-keyring依赖的原因一致——GitHub Desktop 通过系统密钥环keytar存取 OAuth 令牌。Flatpak 与 AppImageGitHub Desktop 还有跨发行版的Flatpak包flathub 上的io.github.shiftey.Desktop以及AppImage格式可在 AppImage 目录中检索GitHubDesktop。AppImage 无需安装、解包即用适合不愿引入软件源的场景Flatpak 则提供沙箱隔离与统一更新机制。deb-getDebian/Ubuntu 用户还可以借助deb-get一个面向第三方 GitHub release 的 apt 前端工具直接从本仓库安装deb-get install github-desktopdeb-get会抓取仓库发布页中的.deb产物并交由本地包管理适合希望绕过固定源、直接跟随 release 更新的场景。数据目录与日志安装方式不同GitHub Desktop 的用户数据目录也有所差异详见 docs/installation.mdLinuxAppImage / Debian / RPM~/.config/GitHub Desktop/——存放用户级配置数据首次启动时自动创建常规运行日志位于数据目录下的logs子目录按日期命名格式为YYYY-MM-DD.desktop.production.log安装/更新过程的日志则由更新框架单独管理排查安装失败时可优先查看对应日志。已知问题与排查README 指向了完整的 已知问题文档其中 Linux 相关条目见 docs/known-issues.md#linux最常被用户遇到这里摘录四条并给出处置方法1. PackageCloud 软件源已停用旧的 PackageCloud feed 已关闭。若安装或更新时出现与其相关的报错应清理旧配置改用上文的新源# APT 配置清理 sudo rm /etc/apt/trusted.gpg.d/shiftkey-desktop.asc sudo rm /etc/apt/sources.list.d/packagecloud-shiftkey-desktop.list # RPM 配置清理示例按实际路径执行 sudo rm /etc/apt/sources.list.d/packagecloud-shiftkey-desktop.list清理细节可参考 已知问题文档中的 PackageCloud 迁移说明。2. 启动白屏Electron 默认启用硬件加速部分显卡或虚拟化环境如 Parallels Desktop下硬件加速不可用会导致应用启动成功但界面白屏。解决办法设置环境变量GITHUB_DESKTOP_DISABLE_HARDWARE_ACCELERATION为任意值后重新启动即可关闭硬件加速。例如GITHUB_DESKTOP_DISABLE_HARDWARE_ACCELERATION1 github-desktop3. 无法访问组织仓库GitHub Desktop 本质是一个 OAuth 应用而本分叉使用的开发版 OAuth 应用权限与 Windows/macOS 版不完全一致具体表现包括Clone a Repository视图不显示全部组织仓库、向组织仓库推送时收到通用错误。根因是组织默认开启OAuth App access restrictions拦截了本分叉所用的 GitHub Desktop 开发应用。解决办法联系组织管理员在组织设置中批准 GitHub Desktop 开发应用的访问权限尚未请求过授权的用户需先发起组织审批请求。4. Shell 检测异常卡在 GNOME Terminal在非 GNOME 桌面环境下应用可能无法正确设置 shell 环境即便在设置中已选择其他终端启动 shell 时仍可能报cannot read property path of undefined。文档给出的两个临时方案安装另一个不同的终端切换到目标终端再切回最后卸载临时终端以触发环境重写打开应用开发者工具逐步检查并修正 shell 设置的 JS 调用。许可证与商标声明本仓库以 MIT 许可证 授权但MIT 授权不涵盖 GitHub 的商标包括 logo 设计。GitHub 保留其商标与版权的全部权利logo 资源位于 app/static/logos 目录。使用 GitHub 官方 logo 时需遵守 GitHub 的 logo 使用指南。小结围绕Linux 上如何安装 GitHub Desktop本文从仓库定位出发覆盖了 APT、RPM、zypper 三种包管理器的完整源配置命令以及 AUR、Flatpak、AppImage、deb-get 四条替代路径并结合 script/package.ts 等源码解释了安装包从构建到校验的产出过程最后给出四类高频问题的处置办法。对绝大多数 Linux 用户而言按发行版选择对应软件源执行安装即可若遇到凭据无法保存、启动白屏或组织仓库不可见本文的排查清单应当能覆盖常见场景。赞分享开发工具桌面应用【免费下载链接】desktopFork of GitHub Desktop to support various Linux distributions项目地址https://gitcode.com/gh_mirrors/des/desktop点击查看免费下载相关推荐Powerline Linux 安装实战指南发行版软件包、pip 安装与字体配置Powerline Linux 安装实战指南发行版软件包、pip 安装与字体配置 Powerline 是一个用 Python 编写的状态栏/提示符框架为 v开发工具CLIMageia Linux安装GitHub Desktop终极指南RPM包安装教程Mageia Linux安装GitHub Desktop终极指南RPM包安装教程 GitHub Desktop是GitHub官方推出的桌面版Git客户端为开开发工具桌面应用CentOS 8终极安装指南快速上手GitHub Desktop Linux版RPM包CentOS 8终极安装指南快速上手GitHub Desktop Linux版RPM包 想要在CentOS 8上体验GitHub Desktop的强大功能吗开发工具桌面应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门