我正在使用一个名为 gnuradio-companion 的程序。如果我在没有 root 权限的情况下启动它,我将无法保存任何内容,因为我没有读/写权限。它给出:
/usr/lib/python2.7/dist-packages/gnuradio/grc/gui/FileDialogs.py:102: GtkWarning: Failed to read filechooser settings from "/home/nick/.config/gtk-2.0/gtkfilechooser.ini": Permission denied
如果我开始
sudo gnuradio-companion
然后我滥用 sudo,并且我得到了
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
因为我丢失了运行时变量 XDG_RUNTIME_DIR。我可以使用
sudo -E
保存环境变量,但是我得到了
QStandardPaths: wrong ownership on runtime directory /run/user/1000, 1000 instead of 0
我猜是因为我只是借用了 root 权限。使用 sudo visudo 修改运行时环境也会出现同样的结果。
我应该如何配置读/写权限和运行时环境来解决这个问题?
答案1
这就是为什么你首先不应该以 root 身份运行图形程序......
跑步
sudo chown nick:nick /home/nick/.config/gtk-2.0/gtkfilechooser.ini
恢复配置文件的所有权。当然,这假设用户名是nick
你可能想要对所有的~/.config
sudo chown -R nick:nick /home/nick/.config/