如何授予特定 pyqt 程序读/写权限?

如何授予特定 pyqt 程序读/写权限?

我正在使用一个名为 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/

相关内容