如何在没有 sudo 的情况下修复执行 gnuradio-companion

How to fix executing gnuradio-companion without sudo

我想要 运行 应用程序“gnuradio-companion”。我可以通过执行 sudo gnuradio-companion 毫无问题地做到这一点。但我不想 运行 使用 sudo。如果我在没有 sudo 的情况下尝试 运行,我会得到以下信息。你能帮忙吗?

lenovo@Lenovo-ThinkPad-T440:~$ gnuradio-companion 
Traceback (most recent call last):
  File "/usr/bin/gnuradio-companion", line 112, in <module>
    run_main()
  File "/usr/bin/gnuradio-companion", line 105, in run_main
    sys.exit(main())
  File "/usr/lib/python3/dist-packages/gnuradio/grc/main.py", line 83, in main
    platform.build_library()
  File "/usr/lib/python3/dist-packages/gnuradio/grc/core/platform.py", line 197, in build_library
    utils.hide_bokeh_gui_options_if_not_installed(self.blocks['options'])
  File "/usr/lib/python3.8/collections/__init__.py", line 898, in __getitem__
    return self.__missing__(key)            # support subclasses that define __missing__
  File "/usr/lib/python3.8/collections/__init__.py", line 890, in __missing__
    raise KeyError(key)
KeyError: 'options'
   raise KeyError(key)
KeyError: 'options'

此错误表示 gnuradio-companion 由于某些原因找不到 options.block.yml

首先确保你在 /usr/share/gnuradio/grc/blocks/ 目录中有这个文件,然后检查你的用户的 gnuradio 配置中配置了哪些块路径

$ grep -R blocks_path $HOME/.gnuradio $HOME/.grc_gnuradio/

如果您设置了 global_blocks_path 变量但它不包含 options.block.yml 文件所在的目录,那么您可以添加它或注释掉(删除)global_blocks_path

如果您没有一些自定义配置,您也可以尝试删除 $HOME/.gnuradio$HOME/.grc_gnuradio 目录。