как узнать какой оконный менеджер сейчас запущен linux
Как определить, какой оконный менеджер запущен
Есть ли способ (например, команда или переменная окружения) определить, какой оконный менеджер активно работает в текущем сеансе?
Если вы wmctrl установили, первая строка вывода из команды
покажет вам имя оконного менеджера. Если вы не wmctrl установили, используйте следующую команду, чтобы установить его:
Обратите внимание, man wmctrl (то есть, man страница для wmctrl ) говорит частично:
В системах Linux я тестировал переменные окружения XDG_CURRENT_DESKTOP и GDMSESSION и получил следующие результаты.
Вы можете использовать эту строку, чтобы получить вывод:
Ubuntu 18.04 (Ubuntu)
Ubuntu 18.04 (Ubuntu on Wayland)
Ubuntu 16.04
Единство (7)
Ubuntu 14.04
Единство с Миром
Примечание MIR_SERVER_NAME также установлено
Unity работает без Мира
Ubuntu 12.04
Единство 3d
Unity 2d
Гномик Классик
Gnome Classic (без эффектов)
Другие дистрибутивы на основе Ubuntu
Мята 13 (Корица)
Монетный двор 16 (издание KDE)
Мята 17 (Корица)
Lubuntu 12.04
Wasta 14.04 / 18.04
Wasta 14.04 с помощью рабочего стола Gnome.
Ubuntu Mate 18.04
Xubuntu 18.04
В терминале введите env все переменные окружения. Некоторые из них:
Чтобы использовать их, перейдите в терминал и введите:
(Будет выводить, например, «Unity», если вы используете Unity)
(Будет выводиться, например, «Ubuntu», если вы выбрали Ubuntu в логин или «Ubuntu-2d», если вы выбрали тот в логин.)
У вас есть другие, если вы посмотрите ближе к выводам env вроде DESKTOP_SESSION и COMPIZ_CONFIG_PROFILE
Как определить, какой оконный менеджер запущен
Есть ли способ (например, команда или переменная окружения) определить, какой оконный менеджер активно работает в текущем сеансе?
12 ответов
Это возможно при использовании dbus и службы учетных записей (по умолчанию в Ubuntu).
Стоит отметить, что я проверил это при входе через lightdm (это графический экран входа в систему), он обнаружил классический рабочий стол, такой как черный ящик, и, очевидно, обнаружил Unity. Я подозреваю, что это значение того, что пользователь выбирает на экране входа в качестве сеанса, поэтому немного проще использовать эту проверку для процессов
Примечание, man wmctrl (то есть страница man для wmctrl ) говорит частично :
В системах Linux I переменных тестовой среды XDG_CURRENT_DESKTOP и GDMSESSION и получил следующие результаты.
Можно использовать эту строку для получения вывода:
Ubuntu 18.04 (Ubuntu)
Ubuntu 18.04 (Ubuntu на Уэйленде)
Ubuntu 16.04
Единица (7)
Ubuntu 14.04
Единица, работающая с Миром
Обратите внимание, что MIR_SERVER_NAME также установлен
Единица, работающая без Мира
Ubuntu 12.04
3-я единица
2-я единица
Gnome
Классик Gnome
Классик Gnome (никакие эффекты)
Другие основанные на Ubuntu дистрибутивы
Чеканьте 13 (Корица)
Чеканьте 16 (выпуск KDE)
Чеканьте 17 (Корица)
Lubuntu 12.04
Васта 14.04 / 18.04
Васта 14.04 с помощью рабочего стола Gnome.
Помощник Ubuntu 18.04
Xubuntu 18.04
Я также тестировал с KDE, и мой вывод таков:
a) Графически, с HardInfo: ответ обычно в «Операционная система»> «Среда рабочего стола», но если нет, вы можете посмотрите на «Переменные среды». HardInfo готов ко всем протестированным дистрибутивам, кроме дистрибутива с KDE, но его можно легко и быстро установить (только 2 пакета в Linux Mint 13).
Я могу думать только о проверке известных оконных менеджеров в запущенных процессах. Раньше в gconf был ключ, для которого был задан предпочтительный оконный менеджер, но он устарел с Gnome 2.12.
Итак, если это для целей программирования, я предлагаю вам исследовать все оконные менеджеры linux; Некоторые популярные:
РЕДАКТИРОВАТЬ:
Ничего из вышеперечисленного на самом деле не работало для меня, я просто хотел узнать, работал ли у меня Gnome в качестве моего текущего сеанса рабочего стола.
Это то, что сработало, откройте терминал
(чтобы проверить, какой вариант или версию я установил на своем компьютере с UBUNTU)
(запускает сессию рабочего стола / настольная среда, используемая в настоящее время)
(чтобы узнать, какая версия gnome установлена)
Установка
выход
Это то, что я получил.
Чтобы использовать их, перейдите в терминал и введите:
(будет выводить, например, «Unity», если вы используете Unity)
(Выводит, например, «ubuntu», если вы выбрали ubuntu в логине, или «ubuntu-2d», если вы выбрали его в логине.)
Как определить, какой оконный менеджер запущен
Есть ли способ (например, команда или переменная окружения) определить, какой оконный менеджер активно работает в текущем сеансе?
10 ответов
Если у вас есть wmctrl установлена первая строка вывода команды
покажет вам имя оконного менеджера. Если у вас нет wmctrl для установки используйте следующую команду:
Заметка, man wmctrl (это man страница для wmctrl ) частично говорит:
-m Показать информацию о диспетчере окон.
В системах Linux я тестировал переменные среды XDG_CURRENT_DESKTOP а также GDMSESSION и получил следующие результаты.
Вы можете использовать эту строку, чтобы получить вывод:
Ubuntu 18.04 (Ubuntu)
Ubuntu 18.04 (Ubuntu on Wayland)
Ubuntu 16.04
Единство (7)
Ubuntu 14.04
Единство с Миром
Примечание MIR_SERVER_NAME также установлено
Unity работает без Мира
Ubuntu 12.04
Единство 3d
Unity 2d
Гномик Классик
Gnome Classic (без эффектов)
Другие дистрибутивы на основе Ubuntu
Мята 13 (Корица)
Монетный двор 16 (издание KDE)
Мята 17 (Корица)
Lubuntu 12.04
Wasta 14.04 / 18.04
Wasta 14.04 с помощью рабочего стола Gnome.
Ubuntu Mate 18.04
Xubuntu 18.04
В терминале типа env чтобы увидеть все переменные среды. Некоторые из них:
Чтобы использовать их, перейдите в терминал и введите:
(Будет выводить, например, «Unity», если вы используете Unity)
(Будет выводиться, например, «Ubuntu», если вы выбрали Ubuntu в логин или «Ubuntu-2d», если вы выбрали тот в логин.)
У вас есть другие, если вы посмотрите ближе на вывод env например DESKTOP_SESSION и COMPIZ_CONFIG_PROFILE
Я нашел pstree быть большой помощью.
Монтаж
выход
Это то, что я получил.
Я также тестировал с KDE, и мой вывод:
а) Графически, с HardInfo: ответ обычно находится в «Операционная система»> «Среда рабочего стола», но если нет, вы можете посмотреть «Переменные среды». HardInfo готов ко всем протестированным дистрибутивам, кроме дистрибутива с KDE, но его можно легко и быстро установить (только 2 пакета в Linux Mint 13).
Ничто из вышеперечисленного на самом деле не помогло мне, я просто хотел узнать, запущен ли Gnome в качестве моего текущего сеанса рабочего стола.
Это то, что сработало, откройте терминал
(чтобы проверить, какой вариант или версию я установил на свой компьютер UBUNTU)
(запускает, какой сеанс рабочего стола / среда рабочего стола в настоящее время используется)
(чтобы узнать какая версия gnome установлена)
Это возможно благодаря dbus и службе учетных записей (обе по умолчанию в Ubuntu).
Стоит отметить, что я проверил это при входе в систему через lightdm (то есть графический экран входа в систему), он обнаружил классический рабочий стол, такой как черный ящик, и, очевидно, обнаружил Unity. Я подозреваю, что это значение того, что пользователь выбирает на экране входа в качестве сеанса, поэтому немного проще использовать эту проверку для процессов
sudo apt install inxi
Просто запустите команду следующим образом:
скрипт
Следующий скрипт является лучшим ответом на аналогичный вопрос, который я разместил на unix.se. Он также прекрасно работает с Unity и LXDE.
Я могу думать только о проверке известных оконных менеджеров в запущенных процессах. Раньше в gconf был ключ, для которого был задан предпочтительный оконный менеджер, но он не рекомендуется с Gnome 2.12.
Итак, если это для целей программирования, я предлагаю вам исследовать все оконные менеджеры linux; некоторые популярные:
Я не уверен на 100%, считается ли Gnome Shell оконным менеджером; остальные оконные менеджеры я получил из списка в /usr/bin/gnome-wm скрипт. Этот скрипт на самом деле должен быть пригоден для использования (поскольку он присутствует в чистой установке), но в моем случае он пытается запустить compiz который не является моим оконным менеджером по умолчанию (не в моем сеансе Gnome).
РЕДАКТИРОВАТЬ:
Display manager (Русский)
Экранный менеджер или менеджер входа — графический экран, который отображается в конце процесса загрузки вместо стандартного приглашения командной строки. Экранный менеджер представляет собой экран ввода имени пользователя и пароля для входа в систему. Существует множество экранных менеджеров, как и окружений рабочего стола. Практически все экранные менеджеры можно настраивать, изменяя их стиль и поведение.
Contents
Список экранных менеджеров
Консольные
Графические
Демоны входа
Запуск экранного менеджера
Использование systemd-logind
Чтобы иметь возможность проверить статус вашей сессии, вы можете использовать loginctl. Все действия polkit, такие, как перевод системы в ждущий режим или монтирование внешних устройств будут работать «из коробки».
Настройка сеанса
Использование
Установите xinit-xsession AUR для запуска xinitrc в качестве сеанса. Просто установите xinitrc в качестве сеанса в настройках вашего экранного менеджера и убедитесь, что файл
/.xinitrc является исполняемым.
Запуск приложений без оконного менеджера
Вы также можете запускать приложения без какого-либо оформления. Например, для запуска google-chrome AUR создайте файл web-browser.desktop в /usr/share/xsessions/ :
Важно помнить, что большинство графических приложений не рассчитаны на запуск в таком режиме и вы можете столкнуться с определенными ограничениями в их работе (например, диалоговые окна будут отображены без рамки и вы не сможете их перемещать по экрану; вы не сможете управлять никаким окном обычным способом — для установки размеров и положения вам, вероятно, придется вносить изменения в файлы настроек приложения).
Советы и рекомендации
Автозапуск
/.xprofile и /etc/X11/xinit/xinitrc.d/ при входе. Для получения подробной информации, см. xprofile.
Установка языка
Для экранных менеджеров, которые используют AccountsService, язык для пользовательского сеанса может быть установлен путем редактирования:
В качестве альтернативы можно использовать D-Bus: busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User$UID org.freedesktop.Accounts.User SetLanguage s your_locale
Выйдите из системы, а затем снова войдите, чтобы изменения вступили в силу.
Смена менеджера дисплеев (DM) по-умолчанию (KDM,GDM и т.п)
Дата добавления: 08 августа 2010
KDM или GDM?
KDM (KDE Display Manager) и GDM (GNOME Display Manager) являются самыми популярными менеджерами дисплеев. KDM рекомендуется использовать если вы используете среду рабочего стола KDE, а GDM если используете GNOME, xfce, lxde и т.д. Однако есть и другие DM.
Функциональность обоих менеджеров примерно одинакова.
Частые причины для смены DM
Если вы установили и используете GNOME, а в качестве менеджера DE выступает KDM (такое бывает при наличии KDE и GNOME в одной системе). Так-же вы возможно хотите вернуться на прошлую DE, но менеджера дисплеев все равно используется от старой (предположим, не понравившийся) DE.
Мне, например, пришлось изменить менеджер дисплеев чтобы зайти в Ubiquty т.к из KDM почему-то запускался стандартный GNOME.
Смена DM для основанном на DEB дистрибутивов
Если у вас «DEB-BASED» дистрибутив (Debian, Ubuntu, Mint, Gnewsense и т.д), то можете воспользоваться командой.
От суперпользователя!
dpkg-reconfigure gdm
После ввода команды появится меню выбора DM по-умолчанию:
У меня другой дистрибутив. Как узнать какой файл редактировать?
Выполните в терминале команду (на самом деле цепочка команд, но запускается как одна команда):
И смотрим какая команда выдает результат (выводиться содержимое файла с текущими параметрами). Собственно тот конфигурационный файл вам и нужно будет редактировать по инструкциям выше.
Запуск нужного DM однократно
Для этого нужно просто запустить нужную службу ( от суперпользователя ):
/etc/init.d/kdm start
— Для KDM.
/etc/init.d/gdm start
— Для GDM.
Возможно понадобится остановка действующей службы, например надо буде выполнить /etc/init.d/kdm stop перед запуском GDM.
В описании было, уже исправил.
>От суперпользователя!
>dpkg-reconfigure gdm
Охлол. А нет у мя гдм. Чо теперь?
>Во многих дистрибутивах (точно перечислить не могу, но у меня в Debian именно в этом файле)
Проверить лично / погуглить / почитать ман / посмотреть политику дистра(ов) / посмотреть стандарт религия не позволяет?
>И в прописываем (или редактируем
Чочо мы делаем?
>/etc/init.d/kdm start
1. дистрибутиво-зависимо
2. аффтар-дебианщег не знает про service?
М. Поверхностное гугление показывает что таки это не дистрибутиво зависимо был не прав. Однако service гибче / лучше / в конце концов тупо печатать меньше. И сервис есть везде, где есть инитд (как минимум в красношапке)
Ошибки автора в тексте поста считаются троллингом комментатора? О_о
Первое замечание также является обоснованным ибо и ты и ксенос не раз на просторах этого бложика упоминали, что тут статьи для пользователей разного уровня.