在 CentOS 上运行 Flutter 应用(尤其是桌面或命令行工具)出现闪退,通常不是单一原因,而是环境或依赖问题。下面按最常见原因 → 排查方法 → 解决方式给你系统梳理一下。
Flutter 在 Linux 上默认使用 GTK,CentOS 最小安装经常缺库。
典型表现
flutter run 直接退出Segmentation fault解决
sudo yum install -y \
gtk3 \
libX11 \
libXext \
libXrandr \
libXcursor \
libXcomposite \
libXdamage \
alsa-lib \
mesa-libGL
如果是 CentOS 8 / Stream:
sudo dnf install gtk3-devel
如果你是在 CentOS Server(无 GUI) 上跑 Flutter 桌面应用,一定会闪退。
解决
flutter create .
flutter config --enable-linux-desktop
flutter pub get
否则可能直接崩。
flutter run -v
或
./build/linux/debug/bundle/your_app
gdb ./build/linux/debug/bundle/your_app
run
bt
ldd build/linux/debug/bundle/your_app
看到 not found 的库,直接 yum install
❌ 不支持 GUI
✅ 解决:
ssh -X user@centos
或改用 VNC
sudo yum install -y wqy-zenhei-fonts
✅ 推荐组合:
你可以直接贴:
flutter run 还是打包后运行我可以精确定位为什么闪退。