0

设置

我有一个使用 tkinter 创建 gui 的 python3 应用程序。它在运行 Ubuntu 21.10 的 Raspberry Pi 4 上运行。我使用带有xrdp客户端的远程桌面进行连接。我成功连接到 Ubuntu 桌面,但看不到桌面图标。

链接到应用程序

问题

当我以 root 权限启动应用程序时,tkinter 在显示屏上感到困惑并且无法创建 GUI。

sudo python3 /home/ubuntu/Robotics/QuadrupedRobot/StanfordQuadruped/calibrate_tool.py

Tkinter 无法创建 GUI

当我以用户身份运行应用程序时,tkinter 能够创建 GUI,但现在应用程序无权与根驱动程序交互

python3 /home/ubuntu/Robotics/QuadrupedRobot/StanfordQuadruped/calibrate_tool.py

没有权限

问题

有没有办法让 tkinter 在远程桌面上使用 root 权限工作,或者在不授予整个应用程序 root 权限的情况下写入 root 文件?

我的设置有什么问题吗?

解决方案

在此处输入图像描述

4

1 回答 1

1

这是一个 X Windows 安全问题,阻止 sudo 用户访问由登录用户创建的显示。如果您不担心本地网络的安全性,那么运行命令“xhost +”将禁用 X Windows 显示器上的所有安全性并允许 sudo 用户访问显示器。

    pi@pi4desktop:~ $ xhost +
    access control disabled, clients can connect from any host

然后您应该能够使用 sudo 运行您的 tkinter 应用程序。

于 2022-02-05T13:18:52.700 回答