Alist 开源桌面版—Alist Helper Linux ubuntu 编译,解决启动没反应问题,完美运行教主级教程(附deb包)(Bug 已在2024.12.30 日解决)

Alist 开源桌面版—Alist Helper For Linux ,ubuntu 编译启动"没反应问题解决,完美运行教主级教程(附deb包)(rclone 挂载路径 Bug 已在2025.1.3 日解决)

Alist Helper 是一款 alist 网盘库程序图形化启动和配置助手,对 alist 命令式操作厌烦的人是个不错的工具。

alist 官网也有 Alist Desktop 桌面版图形配置界面,根据大家的喜好自行选用。

在这里插入图片描述

对比 Alist Desktop,Alist Helper 优势还是明显,关键它免费!!!

在这里插入图片描述

官网:https://github.com/Xmarmalade/alisthelper

在这里插入图片描述

目前官网没有为 Linux 编译二进制包,需要自己编译。

在这里插入图片描述

1.下载源码编译
git clone https://github.com/Xmarmalade/alisthelper.git
2.编译
cd alisthelper
flutter pub get
dart run build_runner build
flutter run --release

成功后在build/linux/x64/release/bundle目录下生成程序

在这里插入图片描述

复制bundle文件内所有文件到自定义程序目录,比如~/soft/alist中,并重命名

cp -r build/linux/x64/release/bundle/ ~/soft/alist
3.添加alist.desktop桌面快捷方式
nano ~/.local/share/applications/alist-helper.desktop

复制粘贴以下内容:

[Desktop Entry]
Name=Alist Helper
#修改成自己的程序路径
Exec=~/soft/alist/alisthelper
#修改成自己的图标路径
Icon=~/soft/alist/data/flutter_assets/assets/alisthelper.png
Type=Application
Terminal=false
Categories=NetWork;

4.启动 alist 没反应,日志显示 tray_manager setToolTip 故障问题

点击“启动”按钮没有反应

在这里插入图片描述

log 日志输出如下:

flutter: Initializing tray failed: MissingPluginException(No implementation found for method setToolTip on channel tray_manager)`
`[ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: MissingPluginException(No implementation found for method setToolTip on channel tray_manager)`
`#0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:332:7)`
`<asynchronous suspension>`
`#1      TrayManager.setToolTip (package:tray_manager/src/tray_manager.dart:168:5)`
`<asynchronous suspension>`
`#2      changeTray (package:alisthelper/utils/native/tray_helper.dart:48:5)`
`<asynchronous suspension>`
`#3      AlistNotifier.startAlist (package:alisthelper/provider/alist_provider.dart:82:5)`
`<asynchronous suspension>

经排查后,发现是 linux 系统下 tray_manager 类中 setToolTip 方法出错,tray_manager 官网(https://github.com/leanflutter/tray_manager/blob/main/README-ZH.md)也作了说明,原来是 linux 下没有 setToolTip 方法,用来设置此托盘图标的悬停文本。没有它也不影响正常使用,禁用掉就行了。期待tray_manager官网后续版本解决这个问题!

在这里插入图片描述

(写这篇文章时,源码作者已经将我提交的 bug 修补代码合并到 master 中,此 bug 已被修复!在此记录说明一下)

修复此问题

用gedit打开alisthelper/lib/utils/native/tray_helper.dart文件,定位到48行,找到wait tm.trayManager.setToolTip(t.tray.tooltip);语句,增加一个条件判断:

   if (!Platform.isLinux) {
      await tm.trayManager.setToolTip(t.tray.tooltip);
   }

同理,第56行也改成这样,最终效果如下:
在这里插入图片描述
重新编译运行,问题解决。

**PS:**这个问题在我提交 issue 和 bug fix 代码到 github 5小时内得到了解决,原作者将我的修补代码合并到了master 中,现在直接拉取源码编译运行就行,此 bug 已被解决。

在这里插入图片描述

在这里插入图片描述

可以看到,原来出错代码位置处,已经替换成我修改后的代码了!

附件deb下载:

github:https://github.com/mecloo/alisthelper/releases/download/alist/alisthelper_0.2.0_amd64.deb

蓝奏云:https://wwoz.lanzoul.com/iRikl2jfznid 密码:5o96

修复备注:
2025年1月3 修复 rclone 挂载路径不能输入的问题,修复linux下挂载失败的问题,同步更新了rpm、deb和appimage安装包。该bug已经提交到原作者源码库,现已修复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值