2014-12-03 2 views
0

В основном я хочу иметь возможность запускать другой код в зависимости от того, что у вас есть.Различают разные дистрибутивы linux в nodejs

Я узнал, что функция os.platform() вернет «win32», «win64», «darwin» или «linux» (возможно, другие?), Но я не могу получить более конкретную информацию.

В идеале я хочу сказать, используется ли Gnome, Unity, KDE или какая-либо другая среда рабочего стола.

+0

Я смущен, что вы хотите? ОС, дистрибутива или среды рабочего стола? – mscdex

+0

@mscdex Я предполагаю, что для этого проекта просто среда рабочего стола, но было бы неплохо узнать, как получить другую информацию. – QxQ

ответ

2

Получение активного рабочего стола/диспетчера окон не является проблемой, специфичной для узлов. Есть different approaches (некоторые лучше других), которые включают в себя использование pgrep, чтобы проверить имена запущенных процессов на известные двоичные имена DE/WM и использовать другие инструменты, такие как HardInfo или wmctrl.

0

В результате я использовал скрипты bash из mscottnielsen. Кажется, что используется множество различных команд, чтобы узнать, какая среда рабочего стола используется. К несчастью, довольно сложно понять, какая именно строка выводится им (он не говорит нигде, какие строки выводятся), но в других случаях он выполняет эту работу.

См. Сценарий here.

Смежные вопросы