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

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

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

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

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

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

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

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

env | grep -i unity

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

Другие вопросы по тегам