Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ubuntu中安排的C++ Qt应用程序中的无窗口窗体外观_C++_Qt_Ubuntu_Cron - Fatal编程技术网

在Ubuntu中安排的C++ Qt应用程序中的无窗口窗体外观

在Ubuntu中安排的C++ Qt应用程序中的无窗口窗体外观,c++,qt,ubuntu,cron,C++,Qt,Ubuntu,Cron,当我通常从命令行运行应用程序时,它如下所示: 但是,当我使用crontab或at命令调度命令时,窗口如下所示: 我计划的命令如下:export DISPLAY=:0.0&&myprogram。我使用Ubuntu 12.04 64位 你知道如何在预定的窗口中获得良好的外观吗?多谢各位 我认为,当您使用crontab运行程序时,该程序正在与其他环境一起运行。没有您已经进行的配置的环境 例如,在您的用户空间中,您说过您希望它看起来像GNOME 如果root用户运行应用程序,则会发生这种情况,因为roo

当我通常从命令行运行应用程序时,它如下所示:

但是,当我使用crontab或at命令调度命令时,窗口如下所示:

我计划的命令如下:export DISPLAY=:0.0&&myprogram。我使用Ubuntu 12.04 64位


你知道如何在预定的窗口中获得良好的外观吗?多谢各位

我认为,当您使用crontab运行程序时,该程序正在与其他环境一起运行。没有您已经进行的配置的环境

例如,在您的用户空间中,您说过您希望它看起来像GNOME

如果root用户运行应用程序,则会发生这种情况,因为root用户具有不同的环境,因此QT gui主题/外观的设置也不同

可能的解决方案是,尝试指定将运行应用程序的环境

另一个解决方案是通过编程选择主题,您可以就主题进行讨论


测试:尝试以root用户身份运行应用程序,并比较结果。不要使用sudo。尝试使用su-c。

从crontab启动的程序具有不同的环境。因此,您可以创建一个源于您的配置文件的shell脚本,例如使用bash:

#!/bin/bash
source ~/.profile
export DISPLAY=:0.0
exec myprogram
然后从crontab运行它。如果您通常不使用bash,则可能需要将脚本与您使用的shell一起使用


另一种方法是调查您的个人资料,找出环境中的哪些差异会改变窗口的外观。然后在这样的脚本中导出该变量,或将其直接放入crontab作业中,就像您在变量显示中所做的那样。

否当您通过crontab运行程序时,它将以用户身份运行,除非您在更新/创建crontab记录时使用sudo。该命令确实在我的crontab中,而不是在root中,但是,当我以root身份运行该命令时,问题已被复制。@RaydelMiranda因为环境不同,所以crontab在不同的环境中运行scritps,对吗?@RaydelMiranda对,但不适用于root,除非您将crontab用作root。如果可能,我希望避免复制整个配置文件。尽管如此,我还是尝试放置了一些单独的变量,如DISPLAY,但忽略了复制会话ID等内容,但不幸的是,我找不到导致该问题的变量。@请首先确保.profile确实更改了窗口外观。然后,您可以查看其中,并找到哪个特定变量会改变它。否则,转储当前的env:set>env.sh并检查它是否工作。然后你可以从那里移除变量,找到罪魁祸首。这个解决方案很有效。或者,是否可能以某种方式从crontab获取配置文件,比如调度source~/.profile;exec myprogram,哪个不起作用?source ~/.profile不符合我的GUI风格。有人找到改变windows显示样式的环境变量吗?答案已更新,请查看我添加了另一种可能的方法来解决您的问题。