【问题标题】:Why my app is more colorful in sudo mode?为什么我的应用在 sudo 模式下更加丰富多彩?
【发布时间】:2021-01-16 03:47:13
【问题描述】:

我在 Qt creator 中创建了一个应用程序,当我在正常模式和 sudo 模式下运行它时,它的颜色和图标不同,为什么会发生这种情况,我觉得在 sudo 模式下看起来很棒。请参阅下面的图片。

以上是应用在正常模式下运行时

这是它在 sudo 模式下的样子。 我需要在 sudo 模式下运行我的应用程序,因为它使用树莓派中的 GPIO 引脚。但是在 sudo 模式下运行会提供一个警告,即 QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' when running sudo commands

我的 QSettings 文件保存在根文件夹的某个位置。为了避免这种情况(以便设置文件将保存在 .config 文件夹中),我使用以下命令启动了我的应用程序

sudo -E ./MyApp

所以环境变量被保留,QSettings 被保存在 .config 文件夹中,但应用看起来像普通模式(第一张图片)。

所以我的问题是 - 如何保留环境变量,同时应用看起来像 sudo 模式(第二张图片)?

我在 Qtcreator (qt5) 中使用 c++ 在树莓派操作系统中创建应用程序

【问题讨论】:

  • 也许您使用的是不同的外壳?例如zsh/bash/sh/...
  • 您不需要 sudo 或 root 在 Pi 上使用 GPIO:stackoverflow.com/questions/12133860/…
  • 当您使用 sudo 时,您将作为不同的用户(root 用户)运行,该用户具有不同的 UI 元素设置和主题。

标签: c++ qt raspberry-pi qt5


【解决方案1】:

嘿,我得到了答案,使用以下命令启动应用程序

sudo --preserve-env=XDG_RUNTIME_DIR ./MyApp

以上命令满足我的两个条件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 2011-07-27
    • 2011-07-21
    相关资源
    最近更新 更多