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. js数组遍历 千万不要使用for...in...

    昨天做个下拉框 扩充了一下数组的方法 Array.prototype.remove = function (val) { var index = this.indexOf(val); if (inde ...

  2. PAT 甲级 1138 Postorder Traversal

    https://pintia.cn/problem-sets/994805342720868352/problems/994805345078067200 Suppose that all the k ...

  3. JS获取地址栏中的链接URL参数

    function getUrlParam(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&am ...

  4. 用go实现的一个堆得数据结构

    用golang实现的堆,主要提供了两个方法,push和pop及堆的大小,代码如下: package main import ( "errors" "fmt" ) ...

  5. 一个flume agent异常的解决过程记录

    今天在使用flume agent的时候,遇到了一个异常,  现把解决的过程记录如下: 问题的背景: 我使用flume agent 来接收从storm topology发送下来的accesslog , ...

  6. 在MFC中显示图片(opencv Mat类型)

    1,在MFC窗体中添加picture control控件,并添加对应的变量名 2,在窗体的初始化窗口中添加: namedWindow(); HWND hWnd = (HWND)cvGetWindowH ...

  7. Logrotate还有谁记得它??

    我发现很多人的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己的轮子,这真是让人沮丧啊!就好比明明身边躺着现成的性感美女,大家却忙着自娱 ...

  8. java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

    微信小程序前后台使用get方式传参时报错如图.但在微信开发平台和苹果测试都没事,在安卓手机上就报这个错,猜想原因是get传递了汉字的原因. 尝试了下在后台输出从前台获取的参数,但是后台什么也没有获取到 ...

  9. 【大数据】关于Kafka的进一步理解

    前置: 文件host 192.168.11.13 192.168.11.14 192.168.11.30 脚本init_kafka.sh #!/bin/bash source /etc/profile ...

  10. BZOJ3083 遥远的国度(树链剖分+线段树)

    考虑暴力树剖.那么修改路径和查询子树最小值非常简单. 对于换根当然不能真的给他转一下,我们只记录当前根是哪个.对于查询,如果查询点不在当前根到原根的路径上,显然换根是对答案没有影响的:如果是当前根,答 ...