我使用Arch Linux除了喜欢它的无视版本滚动更新外,更喜欢其优雅的安装软件包,特别是网上各位佬维护的Aur(Arch用户仓库),通过yay
工具直接安装非常的优雅愉快。通过Aur仓库找到了Xterminal的包如下:
yay -S xterminal-bin
提示下图报错,翻了翻Aur下面的讨论说是xterminal官方网站不支持curl下载rpm包。
因此打算像Mint安装deb包一样通过手动方式进行下载并安装。循着这个思路,我们先去xterminal官网下载了rpm包,然后通过修改其编译的脚本(替换其下载步骤),手工打包,最后进行安装。
-
下载rpm包
https://cdn-office.xterminal.cn/downloads/XTerminal-2.11.2-linux-x86_64.rpm
-
克隆AUR上xterminal的项目链接
git clone https://aur.archlinux.org/xterminal-bin.git
-
将下载的rpm包与xterminal项目放在一起
-
修改PKGBUILD文件
修改内容如下:
source_x86_64=("XTerminal-2.9.3-linux-x86_64.rpm")
将这个source_x86_64的名称修改为你下载的rpm包的名字,注意与文件名字一定要一样,否则会提示找不到文件。
完整的内容如下:
# Maintainer: zxp19821005 <zxp19821005 at 163 dot com> pkgname=xterminal-bin _pkgname=XTerminal pkgver=2.9.3 _electronversion=31 pkgrel=1 pkgdesc="Not only powerful SSH tools, but also local consoles, and more coming soon.(Prebuilt version.Use system-wide electron)不仅是强大的SSH工具,更提供本地控制台,以及更多即将推出的开发相关功能." arch=( 'aarch64' 'x86_64' ) url="https://www.xterminal.cn/" license=('LicenseRef-custom') provides=("${pkgname%-bin}=${pkgver}") conflicts=("${pkgname%-bin}") depends=( "electron${_electronversion}" 'java-runtime' ) makedepends=( 'asar' ) source=( "LICENSE.html" "${pkgname%-bin}.sh" ) source_aarch64=("${pkgname%-bin}-${pkgver}-aarch64.rpm::https://cdn-cn.xterminal.cn/downloads/${_pkgname}-${pkgver}-linux-aarch64.rpm") source_x86_64=("XTerminal-2.9.3-linux-x86_64.rpm") sha256sums=('8d08a959e0086a206ef3454cc0fc323454c73609cd764f102d8d2d076dafa0af' '291f50480f5a61bc9c68db7d44cd0412071128706baa868a9cb854f8779a1980') sha256sums_aarch64=('2a989e31d229d40c6959d51161887874106577a3c799acbe7f1e793d2451db4f') sha256sums_x86_64=('1af5dade838a5f995a44a1ee805b1bd1d2a79b1fc9def00bc5bc45e20dd843cc') prepare() { sed -e " s/@electronversion@/${_electronversion}/g s/@appname@/${pkgname%-bin}/g s/@runname@/app.asar/g s/@cfgdirname@/${pkgname%-bin}/g s/@options@/env ELECTRON_OZONE_PLATFORM_HINT=auto/g " -i "${srcdir}/${pkgname%-bin}.sh" sed -i "s/\/opt\/${_pkgname}\/${pkgname%-bin}/${pkgname%-bin}/g" "${srcdir}/usr/share/applications/${pkgname%-bin}.desktop" asar e "${srcdir}/opt/${_pkgname}/resources/app.asar" "${srcdir}/app.asar.unpacked" find "${srcdir}/app.asar.unpacked/dist" -type f -exec sed -i "s/process.resourcesPath/\'\/usr\/lib\/${pkgname%-bin}\'/g" {} \; asar p "${srcdir}/app.asar.unpacked" "${srcdir}/app.asar" } package() { install -Dm755 "${srcdir}/${pkgname%-bin}.sh" "${pkgdir}/usr/bin/${pkgname%-bin}" install -Dm644 "${srcdir}/app.asar" -t "${pkgdir}/usr/lib/${pkgname%-bin}" cp -Pr --no-preserve=ownership "${srcdir}/opt/${_pkgname}/resources/"{app.asar.unpacked,tray} "${pkgdir}/usr/lib/${pkgname%-bin}" install -Dm644 "${srcdir}/usr/share/applications/${pkgname%-bin}.desktop" -t "${pkgdir}/usr/share/applications" install -Dm644 "${srcdir}/usr/share/icons/hicolor/512x512/apps/${pkgname%-bin}.png" -t "${pkgdir}/usr/share/pixmaps" install -Dm644 "${srcdir}/LICENSE.html" -t "${pkgdir}/usr/share/licenses/${pkgname}" }
-
编译成安装包
makepkg -sf
编译过程如下所示:
编译成功提示:
-
安装生成的软件包
Arch Linux一般的软件包格式为
pkg.tar.zst
,可以通过pacman -U
来进行安装。安装命令如下:
sudo pacman -U xterminal-bin-2.9.3-1-x86_64.pkg.tar.zst
-
可以快乐的用上xterminal啦
xterminal,启动 !