修复 管道菜单“/usr/bin/obamenu”的输出无效
错误
英文提示应该是 invalid output from pipe-menu "obamenu"
使用 openbox
菜单时碰到了这个错误,上网搜了一下,找到了原因,也就想到了解决办法,特记录如下。
[TOC]
1. 原因
obamenu
是 openbox
自带动态菜单工具,是用 python2
写的。
但我最近使用 sudo update-alternatives --config python
命令,将系统默认的 python
版本从 python2
切换到了 python3
。
所以这个 obamenu
执行出错了。
2. 解决思路
既然是 python2
写的工具,那调用它的时候,在前面加个 python2
就可以了————前提是你没有卸载 python2
,只是没有调用它。
卸载后就没办法了,想办法再装一个 python2
并按 sudo update-alternatives --config python
或其他类似方法使 python2
与 python3
共存吧。
3. 具体步骤
我没有将 openbox
菜单拷贝到用户当前环境,所以默认路径还是 /etc/xdg/openbox/menu.xml
。
猜想如果是已经按网上教程把 menu
拷贝到当前用户环境,那路径应该是 ~/.config/openbox/menu.xml
。
步骤1 修改菜单
sudo vim /etc/xdg/openbox/menu.xml
如果是当前用户的文件,就不用加 sudo
了。
找到 applications-menu
所在的一行,内容应该如下:
<menu id="applications-menu" label="Applications" execute="/usr/bin/obamenu"/>
execute=
后面就是工具的执行命令,加上一句 python2
,变成以下形式:
<menu id="applications-menu" label="Applications" execute="/usr/bin/python2 /usr/bin/obamenu"/>
我将 python2
路径也写上了,直接写 python2
应该也没问题。
步骤2 刷新菜单
为什么还有步骤2呢?
因为修改不会马上生效,需要刷新一下 openbox
,这个只需要回到 openbox
桌面,右键菜单中应该有 Restart
,执行一下就可以了。
要不然就重启系统吧,这个肯定好使。
来源:oschina
链接:https://my.oschina.net/u/1586441/blog/4335122