deadbeef是一款简约而不简单的音乐播放器, 占资源少, 支持的格式却不少.

昨天对ArchLinux进行了一次全面升级, 经历种种惊险, 终于跨越了从 glibc-2.16 到 glibc-2.17 的障碍, 内核也从 3.7 升级到了 3.9, 而且开始使用 systemd.

打开deadbeef, 发现无法正常启动, 图形界面出不来. 从命令行启动, 得到的输出如下:

starting deadbeef 0.5.6

server_start

loading plugins from /home/wuchen/.local/lib/deadbeef

loading plugins from /usr/lib/deadbeef

plug_load_all: scandir found 163 files

loading plugin /usr/lib/deadbeef/aac.so

loading plugin /usr/lib/deadbeef/adplug.so

loading plugin /usr/lib/deadbeef/alac.so

loading plugin /usr/lib/deadbeef/alsa.so

loading plugin /usr/lib/deadbeef/artwork.so

loading plugin /usr/lib/deadbeef/cdda.so

loading plugin /usr/lib/deadbeef/converter.so

loading plugin /usr/lib/deadbeef/converter_gtk3.so

loading plugin /usr/lib/deadbeef/dca.so

loading plugin /usr/lib/deadbeef/ddb_ao.so

loading plugin /usr/lib/deadbeef/ddb_dumb.so

found gui plugin ddb_gui_GTK3.so

added GTK3 gui plugin

loading plugin /usr/lib/deadbeef/ddb_mono2stereo.so

loading plugin /usr/lib/deadbeef/ddb_shn.so

loading plugin /usr/lib/deadbeef/dsp_libsrc.so

loading plugin /usr/lib/deadbeef/ffap.so

loading plugin /usr/lib/deadbeef/flac.so

loading plugin /usr/lib/deadbeef/gme.so

loading plugin /usr/lib/deadbeef/hotkeys.so

loading plugin /usr/lib/deadbeef/lastfm.so

loading plugin /usr/lib/deadbeef/m3u.so

loading plugin /usr/lib/deadbeef/mms.so

loading plugin /usr/lib/deadbeef/mpgmad.so

loading plugin /usr/lib/deadbeef/musepack.so

loading plugin /usr/lib/deadbeef/notify.so

loading plugin /usr/lib/deadbeef/nullout.so

loading plugin /usr/lib/deadbeef/oss.so

loading plugin /usr/lib/deadbeef/pulse.so

loading plugin /usr/lib/deadbeef/shellexec.so

loading plugin /usr/lib/deadbeef/shellexecui_gtk3.so

loading plugin /usr/lib/deadbeef/sid.so

loading plugin /usr/lib/deadbeef/sndfile.so

loading plugin /usr/lib/deadbeef/supereq.so

loading plugin /usr/lib/deadbeef/tta.so

loading plugin /usr/lib/deadbeef/vfs_curl.so

loading plugin /usr/lib/deadbeef/vfs_zip.so

loading plugin /usr/lib/deadbeef/vorbis.so

loading plugin /usr/lib/deadbeef/vtx.so

loading plugin /usr/lib/deadbeef/wavpack.so

loading plugin /usr/lib/deadbeef/wildmidi.so

checking GUI plugin: GTK3

found selected GUI plugin: GTK3

loading plugin /usr/lib/deadbeef/ddb_gui_GTK3.so

libWildMidi(WM_BufferFile:640): ERROR Unable to stat /etc/timidity/freepats/freepats.cfg (No such file or directory)

gtkui plugin compiled for gtk version: 3.6.4

connecting button tray signals

selected output plugin: ALSA output plugin

INFO: loading playlist Default

INFO: from file /home/wuchen/.config/deadbeef/playlists/0.dbpl

gtkui: found cover-art loader plugin

^C

一开始我被那条 ERROR 信息吸引了, 即: libWildMidi(WM_BufferFile:640): ERROR Unable to stat /etc/timidity/freepats/freepats.cfg (No such file or directory). 上网搜索Unable to stat /etc/timidity/freepats/freepats.cfg (No such file or directory), 发现大多数 deadbeef 不能启动的案例都有这条错误信息, 但是解决问题的方法和这个错误无关, 比如一个解决方案是卸载一个mpris的第三方插件, 我并没有安装这个插件, 所以该解决方案对我没有效果. 甚至有人为了 fix 这个错误信息, 安装了 timidity, 还启动了 timidity 服务, deadbeef 依然无法正常启动.

我用emacs打开 ~/.config/deadbeef/config, 做了两次尝试:

(1) 把其中的 GTK2 改成 GTK3, 无效.

(2) 鉴于我没有用 systemd 启动 PulseAudio 服务, 我把output_plugin PulseAudio output plugin 改为 output_plugin ALSA output plugin, deadbeef 依然无法正常启动.

我发现旧有的config 文件中还设置了一些主窗口和对话框的尺寸, 我想有没有可能 Gui 从gtk2 变成 gtk3 后, 有些原来的设置有问题了呢.

于是我将 config 改命为 bak.config. 再启动 deadbeef, 窗口出来了, 正常启动了!

看来解决方法很简单, 就是删除原来的配置文件.

ArchLinux升级后deadbeef无法正常启动的解决办法的更多相关文章

  1. # vmware异常关机后,虚拟系统无法启动的解决办法

    vmware异常关机后,虚拟系统无法启动的解决办法 先使用everything搜索所有后缀为.lck的文件,这些文件全部删除,如果不确定是否可以删除,先把这些文件转移到桌面,等能启动虚拟系统之后再删除 ...

  2. 执行start-dfs.sh后,datenode没有启动的解决办法

    执行start-dfs.sh后,datenode没有启动,很大一部分原因是因为在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode -format) ...

  3. asp.net core 1.1 升级后,操作mysql出错的解决办法。

    遇到问题 core的版本从1.0升级到1.1,操作mysql数据库,查询数据时遇到MissingMethodException问题,更新.插入操作没有问题. 如果你也遇到这个问题,请参照以下步骤进行升 ...

  4. Hi3559AV100-自己编译了u-boot、kernel及rootfs后,出现烧写错误或者烧写后板载无法启动的解决思路

    这篇随笔主要给出了Hi3559AV100-自己编译了u-boot.kernel及rootfs后,出现烧写错误或者烧写后板载无法启动的解决思路. 问题 (1)对于 u-boot 为官方的,kernel ...

  5. 分享:Windows2008重启后提示系统恢复选项的解决办法

    如题:WINdows2008服务器. 重启后提示系统恢复选项的解决办法 使用windows 2008后,不能启动的问题,重启后出现 修复系统选项 采用下面帖子中的部分命令搞定之. 我自己是直接使用:选 ...

  6. Android Studio安装后提示No JVM installation found解决办法

    Android Studio安装后提示No JVM installation found解决办法 问题描述:Android Studio安装完毕,打开时出现提示"No JVM install ...

  7. IOS7.1-7.1.1越狱后无法读取越狱文件的解决办法

    IOS7.1-7.1.1越狱后无法读取越狱文件的解决办法 申明:      下面安装PP源的方法已经失效,请不用按照下面的方法操作.      更新最新的方法,在cydia中搜索源 apple fil ...

  8. NGUI发布后UI层看不见的解决办法

    NGUI发布后UI层看不见的解决办法 提示信息:You can'tplace widgets on a layer different than the UIPanel that manages th ...

  9. VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法

    VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法 在linux上安装nginx 请参考:Linux Centos7 安装 nginx 在虚拟机centos7上安装nginx之 ...

随机推荐

  1. 蜗牛慢慢爬 LeetCode 6. ZigZag Conversion [Difficulty: Medium]

    题目 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows li ...

  2. Envoy如何打败Linkerd成为L7负载平衡器的最佳选择?

    本文转自:http://www.servicemesh.cn/?/article/41 作者:MIKE WHITE 翻译:姚炳雄 原文:Using Envoy to Load Balance gRPC ...

  3. java 自定义异常的回顾

    一.异常的分类: 1.编译时异常:编译时被检测的异常 (throw后,方法有能力处理就try-catch处理,没能力处理就必须throws).编译不通过,检查语法(其实就是throw和throws的配 ...

  4. PHP TS 和 NTS 版本选择

    在PHP 开发和生产环境搭建过程中,需要安装PHP语言解析器.官方提供了2种类型的版本,线程安全(TS)版和非线程安全(NTS)版,有时后我们开发环境和实际生产的环境有所不同,因此也需要选择安装对应的 ...

  5. JS 字符串切割成数组

    var cheLin = "字*符*串" // console.log(cheLin) var array = cheLin.split("*");  arra ...

  6. ASP.NET Core 2 学习笔记

    之前的ASP.NET网站,只要把*.html.*.css.*.jpg.*.png.*.js等静态文件放在项目根目录,默认都可以直接被浏览:但ASP.NET Core 小改了浏览静态文件的方式,默认根目 ...

  7. 基于c的简易计算器一

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <malloc.h&g ...

  8. BZOJ5254 FJWC2018红绿灯(线段树)

    注意到一旦在某个路口被红灯逼停,剩下要走的时间是固定的.容易想到预处理出在每个路口被逼停后到达终点的最短时间,这样对于每个询问求出其最早在哪个路口停下就可以了.对于预处理,从下一个要停的路口倒推即可. ...

  9. 学习Spring Boot:(九)统一异常处理

    前言 开发的时候,每个controller的接口都需要进行捕捉异常的处理,以前有的是用切面做的,但是SpringMVC中就自带了@ControllerAdvice ,用来定义统一异常处理类,在 Spr ...

  10. PKUWC Slay The Spire

    题面链接 LOJ sol 好神啊.果然\(dp\)还是做少了,纪录一下现在的思维吧\(QAQ\). 我们首先可以发现期望是骗人的,要不然他乘的是什么xjb玩意. 其实就是要求所有方案的最优方案和. 因 ...