5

为了选择用于程序的应用程序指示器类型,我需要检测我是否在 Unity 桌面中。这可能吗?当我无法访问环境时是否有可能?

4

4 回答 4

4

看起来还有 XDG_CURRENT_DESKTOP:

rubiojr@rubiojr-VirtualBox:~$ echo $XDG_CURRENT_DESKTOP 
Unity

请参阅https://askubuntu.com/questions/70296/is-there-an-environment-variable-that-is-set-for-unity

于 2012-11-23T09:46:42.780 回答
3

在 Ubuntu 中,您可以使用以下命令:

  • echo $DESKTOP_SESSION:当您使用 Unity 时此命令返回 ubuntu,当您使用 Unity 2D 时返回 ubuntu-2d 和 ...
  • sudo grep "Starting session" /var/log/lightdm/lightdm.log:由于上一个版本的 Ubuntu 使用 lightdm 作为显示管理器,您可以看到lightdm.log 文件的最后一行
于 2012-09-02T04:27:33.393 回答
2

只需 shell execute ps aux | grep unity,这是 linux 的跨平台。甚至适用于 ARM 内核。

在我运行 unity 的 11.04 Ubuntu 上,它返回 unity-2d-panel、unity-2d-launcher 和更多进程。无法确认这是否在每个 linux 平台上都是正确的。

于 2012-01-05T14:17:03.477 回答
1

通过运行以下命令行查看统一的环境变量列表:

env | grep -i unity

如果您在此答案中看到XDG_CURRENT_DESKTOP=Unity,那么您知道它正在使用中。或者,您当然可以检查desktop而不是unity.

于 2014-01-03T06:43:27.563 回答