修复 `管道菜单“/usr/bin/obamenu”的输出无效 `错误

↘锁芯ラ 提交于 2020-07-26 22:08:44

修复 管道菜单“/usr/bin/obamenu”的输出无效 错误

英文提示应该是 invalid output from pipe-menu "obamenu"
使用 openbox 菜单时碰到了这个错误,上网搜了一下,找到了原因,也就想到了解决办法,特记录如下。

[TOC]

1. 原因

obamenuopenbox 自带动态菜单工具,是用 python2 写的。

但我最近使用 sudo update-alternatives --config python 命令,将系统默认的 python 版本从 python2 切换到了 python3

所以这个 obamenu 执行出错了。

2. 解决思路

既然是 python2 写的工具,那调用它的时候,在前面加个 python2 就可以了————前提是你没有卸载 python2,只是没有调用它。
卸载后就没办法了,想办法再装一个 python2 并按 sudo update-alternatives --config python 或其他类似方法使 python2python3 共存吧。

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 ,执行一下就可以了。

要不然就重启系统吧,这个肯定好使。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!