Как я могу определить, когда я нахожусь в системе под управлением Unity? - PullRequest
5 голосов
/ 05 января 2012

Чтобы выбрать, какой тип индикаторов приложения использовать для программы, мне нужно определить, нахожусь ли я на рабочем столе Unity или нет.Это возможно?Возможно ли, когда у меня нет доступа к окружающей среде?

Ответы [ 4 ]

4 голосов
/ 23 ноября 2012

Похоже, есть также 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

3 голосов
/ 02 сентября 2012

В Ubuntu вы можете использовать следующие команды:

  • echo $ DESKTOP_SESSION : эта команда возвращает ubuntu, когда вы используете Unity и ubuntu-2d, когда вы используете Unity 2D и...
  • sudo grep "Начальный сеанс" /var/log/lightdm/lightdm.log: поскольку в последней версии Ubuntu используется lightdm в качестве диспетчера отображения, вы можете видеть lastстрока файла lightdm.log.
2 голосов
/ 05 января 2012

Просто выполните shell ps aux | grep unity, это кросс-платформенная версия для Linux. Даже работает на ядрах ARM.

На моем работающем в Ubuntu 11.04 Unity возвращается Unity-2D-панель, Unity-2D-Launcher и другие процессы Не могу подтвердить, верно ли это на каждой платформе Linux.

1 голос
/ 03 января 2014

Просмотрите список переменных среды на единицу, запустив эту командную строку:

env | grep -i unity

Если как в этом ответе вы видите XDG_CURRENT_DESKTOP=Unity, то вы знаете, что оно используется. Кроме того, вы можете, конечно, проверить desktop вместо unity.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...