Как я могу определить, когда я нахожусь в системе под управлением 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
,