Как узнать какой оконный менеджер сейчас запущен linux

Обновлено: 03.07.2024

На странице собраны команды терминала, которые позволяют получить различную информацию о системных компонентах и оборудовании, для использования при их настройке или решения аппаратных проблем.
Цель статьи дать более полный список команд для быстрого получения информации в "Одном окне" без прочтения руководств man.

Каждый процесс в Linux имеет свой идентификатор, называемый PID. Перед тем, как выполнить остановку процесса, нужно определить его PID.

WHDD — консольная Ncurses утилита для диагностики жёстких дисков и восстановления данных с них.

WHDD позволяет протестировать жёсткие диски или другое блочное устройство на скорость чтения и записи (определение времени доступа). Утилита имеет псевдографический интерфейс и визуализирует процесс выполнения (подобно DOS-утилите MHDD).

Одним из основных достоинств WHDD является возможность выявления сбойных участков (бэд-секторов) на поверхности жёсткого диска. Утилита работает с тестируемыми дисками непосредственно через порты ввода-вывода, то есть на самом низком уровне, что позволяет получить наиболее достоверные результаты.

WHDD во время сканирования помечает бэд-сектора (bad sector / bad block), остальные блоки упорядочиваются по времени доступа к ним. В утилите присутствует функция копирования носителя, оптимизированная для максимально быстрого извлечения данных.

1. Для запуска утилиты введите в консоли:

2. Выберите диск, с которым хотите работать

Whdd.jpg

3. Выберите действие, которое хотите выполнить с диском:

Whdd2.jpg

  • Show SMART attributes — просмотр атрибутов S.M.A.R.T.
  • Read test — тест на читаемость диска
  • Device copying — копирование жёсткого диска
  • Write zeros — заполнить жёсткий диск нулями
  • Setup Host Protected Area (HPA) — настройки защищённой области пользователя

Команда Show SMART attributes отобразит данные о диске.

Whdd3.jpg

a. Выбираем параметр API (ata / posix). Например, для SATA-диска набираем ata, для внешнего носителя - подключенного по USB - posix[1].

Whdd4.jpg

b.Выбираем начальный сектор (по умолчанию 0)

Whdd5.jpg

Whdd6.jpg

a.Соглашаемся с тем, что "данная операция может сделать все наши данные недоступными или даже полностью уничтожить"

Whdd7.jpg

Whdd8.jpg

Hardware Detection Tool (HDT) - утилита для представления различной информации об аппаратном обеспечении любой x86-совместимой системы. С помощью псевдографисеского интерфейса вы легко можете получить подробную информацию о процессоре, PCI-устройствах, памяти, дисках и пр.

Для запуска HDT, в меню syslinux, вместо Rescue LiveCD выберите Hardware Info.

Hardinfo.jpg

С помощью навигационных клавиш и клавиши ввода вы можете переключаться между пунктами меню и просматривать информацию об устройствах.

Smartmontools - утилита для проверки состояния жестких дисков при помощи SMART.

    Определение дисков в системе:

Отобразится список дисков в вашем компьютере:

Ключевое значение имеет содержимое 3-х столбцов:

  • VALUE - текущее значение параметра
  • WORST - наихудшее значение, которого когда-либо достигало значение Value
  • THRESH - значение, которого должен достигнуть Value этого же атрибута, чтобы состояние атрибута было признано критическим.

Критичным является поле WHEN_FAILED, если оно имеет значение FAIL, то высока вероятность выхода жесткого диска из строя в ближайшее время.

Если результат не PASSED, то диск следует заменить.

Для просмотра результатов выполнения тестов используется команда вывода внутреннего журнала после завершения теста:

Для прерывания теста нужно ввести:

Для запуска Memtest в меню syslinux вместо Rescue LiveCD выберите соответствующий пункт.

Последующий процесс диагностики заключается в проведении нескольких этапов тестирования каждого отдельного модуля ОЗУ.

Данный процесс будет выполнятся бесконечно, пока вы не остановите его. Вам нужно дождаться окончания хотя бы одного цикла проверки. (значение Pass должно быть >= 1).

Memtest.jpg

В случае обнаружения ошибки отобразятся в списке.

Для ПК на UEFI в образе содержится memtest86.efi по соглашению с PassMark.

Если при тестировании появляются ошибки, значит, оперативная память (устройство) битая/разогнанная/запылилась и ее надо заменить/согнать/пропылесосить (возможны также проблемы с охлаждением или системной шиной).

Искомый адрес 192.168.3.1, в малых сетях это как правило адрес роутера или сервера выполняющего роль шлюза в интернет.

Информация по ссылкам:

Есть ли способ (например, команда или переменная окружения) определить, какой оконный менеджер активно работает в текущем сеансе?

Если у вас есть wmctrl установлена ​​первая строка вывода команды

покажет вам имя оконного менеджера. Если у вас нет wmctrl для установки используйте следующую команду:

Заметка, man wmctrl (это man страница для wmctrl ) частично говорит:

-m Показать информацию о диспетчере окон.

На свежую Ubuntu 15.10 установите Ubuntu desktop ПО на старом ноутбуке, первая строка вывода wmctrl -m было: Name: Compiz
в то время как DESKTOP_SESSION а также XDG_CURRENT_DESKTOP значения были ubuntu а также Unity

В системах Linux я тестировал переменные среды XDG_CURRENT_DESKTOP а также GDMSESSION и получил следующие результаты.

Вы можете использовать эту строку, чтобы получить вывод:

  • XDG_CURRENT_DESKTOP=ubuntu:GNOME
  • GDMSESSION=ubuntu
  • XDG_CURRENT_DESKTOP=ubuntu:GNOME
  • GDMSESSION=ubuntu-wayland

Единство (7)

  • XDG_CURRENT_DESKTOP=Unity
  • GDMSESSION=ubuntu

Единство с Миром

  • XDG_CURRENT_DESKTOP=Unity
  • GDMSESSION=ubuntu

Примечание MIR_SERVER_NAME также установлено

Unity работает без Мира

  • XDG_CURRENT_DESKTOP=Unity
  • GDMSESSION=ubuntu
  • XDG_CURRENT_DESKTOP=XFCE
  • GDMSESSION=xfce
  • XDG_CURRENT_DESKTOP=
  • GDMSESSION=kde-plasma

Единство 3d

  • XDG_CURRENT_DESKTOP=Unity
  • GDMSESSION=ubuntu

Unity 2d

  • XDG_CURRENT_DESKTOP=Unity
  • GDMSESSION=ubuntu-2d
  • XDG_CURRENT_DESKTOP=GNOME
  • GDMSESSION=gnome-shell

Гномик Классик

  • XDG_CURRENT_DESKTOP=GNOME
  • GDMSESSION=gnome-classic

Gnome Classic (без эффектов)

  • XDG_CURRENT_DESKTOP=GNOME
  • GDMSESSION=gnome-fallback

Мята 13 (Корица)

  • XDG_CURRENT_DESKTOP=GNOME
  • GDMSESSION=cinnamon

Монетный двор 16 (издание KDE)

  • XDG_CURRENT_DESKTOP=KDE
  • GDMSESSION=default

Мята 17 (Корица)

  • XDG_CURRENT_DESKTOP=X-Cinnamon
  • GDMSESSION=default

Lubuntu 12.04

  • XDG_CURRENT_DESKTOP=LXDE
  • GDMSESSION=Lubuntu

Wasta 14.04 / 18.04

  • XDG_CURRENT_DESKTOP=X-Cinnamon
  • GDMSESSION=cinnamon

Wasta 14.04 с помощью рабочего стола Gnome.

  • XDG_CURRENT_DESKTOP=GNOME
  • GDMSESSION=gnome

Ubuntu Mate 18.04

  • XDG_CURRENT_DESKTOP=MATE
  • GDMSESSION=mate

Xubuntu 18.04

  • XDG_CURRENT_DESKTOP=XFCE
  • GDMSESSION=xubuntu

В терминале типа env чтобы увидеть все переменные среды. Некоторые из них:

XDG_CURRENT_DESKTOP - сообщает, какую среду рабочего стола вы используете

GDMSESSION - Сообщает вам, какую опцию вы выбрали на приветствии lightdm для входа.

Чтобы использовать их, перейдите в терминал и введите:

(Будет выводить, например, "Unity", если вы используете Unity)

(Будет выводиться, например, "Ubuntu", если вы выбрали Ubuntu в логин или "Ubuntu-2d", если вы выбрали тот в логин.)

У вас есть другие, если вы посмотрите ближе на вывод env например DESKTOP_SESSION и COMPIZ_CONFIG_PROFILE

Поскольку то, что вы ищете, - это название того, какой диспетчер окон используется, единственный способ узнать, как это сделать, - просмотреть список процессов. Для этого есть команда под названием pgrep ( Википедия). Я сделал следующее, чтобы получить имя, так как параметр -l добавляет идентификатор процесса:

pgrep -l compiz |cut -d " " -f2 поскольку процесс выполняется одним и тем же пользователем, нет необходимости добавлять префикс sudo. Затем вы можете использовать это для создания сценария, который выполняет действие на основе диспетчера окон.

Чтобы искать другие типы, просто измените слово compiz к другому, как mutter , kwin , так далее..

Я нашел pstree быть большой помощью.

Это то, что я получил.

Всего два цента.

Я также тестировал с KDE, и мой вывод:

а) Графически, с HardInfo: ответ обычно находится в "Операционная система"> "Среда рабочего стола", но если нет, вы можете посмотреть "Переменные среды". HardInfo готов ко всем протестированным дистрибутивам, кроме дистрибутива с KDE, но его можно легко и быстро установить (только 2 пакета в Linux Mint 13).

б) Командная строка, с помощью этой команды: ps -A | egrep -i "gnome|kde|mate|cinnamon|lx|xfce|jwm" , Элемент, который появляется в большем количестве строк, должен быть ответом (если есть ничья, то решение с "сессией" должно быть решением).

Ничто из вышеперечисленного на самом деле не помогло мне, я просто хотел узнать, запущен ли Gnome в качестве моего текущего сеанса рабочего стола.

Это то, что сработало, откройте терминал

(чтобы проверить, какой вариант или версию я установил на свой компьютер UBUNTU)

(запускает, какой сеанс рабочего стола / среда рабочего стола в настоящее время используется)

(чтобы узнать какая версия gnome установлена)

Или одной строкой:

id = $ (xprop -root -notype | awk '$1 == "_ NET_SUPPORTING_WM_CHECK:"'); xprop -id "$" -notype -f _NET_WM_NAME 8t | grep "_NET_WM_NAME =" | вырезать --delimiter=' ' --fields=3 | вырезать --delimiter='"' --fields=2

Это возможно благодаря dbus и службе учетных записей (обе по умолчанию в Ubuntu).

Стоит отметить, что я проверил это при входе в систему через lightdm (то есть графический экран входа в систему), он обнаружил классический рабочий стол, такой как черный ящик, и, очевидно, обнаружил Unity. Я подозреваю, что это значение того, что пользователь выбирает на экране входа в качестве сеанса, поэтому немного проще использовать эту проверку для процессов

Вы можете использовать инструмент под названием inxi , Его можно получить в репозиториях Ubuntu:

sudo apt install inxi

Просто запустите команду следующим образом:

Обратите внимание Desktop: i3 часть. В моем случае оконный менеджер, который я использую, i3 ,

вариант -S отображает информацию о системе и x добавляет информацию о оконном менеджере.

Следующий скрипт является лучшим ответом на аналогичный вопрос, который я разместил на unix.se. Он также прекрасно работает с Unity и LXDE.

Я могу думать только о проверке известных оконных менеджеров в запущенных процессах. Раньше в gconf был ключ, для которого был задан предпочтительный оконный менеджер, но он не рекомендуется с Gnome 2.12.

Итак, если это для целей программирования, я предлагаю вам исследовать все оконные менеджеры linux; некоторые популярные:

  • гном-оболочки *
  • Compiz
  • Metacity
  • бормотание
  • пила-рыба

Вы должны выполнить проверку для каждого с помощью команды pgrep -l $WINDOW_MANAGER , где $WINDOW_MANAGER Имя менеджера окон, который вы хотите проверить. pgrep Команда проверяет запущенные процессы.

Я не уверен на 100%, считается ли Gnome Shell оконным менеджером; остальные оконные менеджеры я получил из списка в /usr/bin/gnome-wm скрипт. Этот скрипт на самом деле должен быть пригоден для использования (поскольку он присутствует в чистой установке), но в моем случае он пытается запустить compiz который не является моим оконным менеджером по умолчанию (не в моем сеансе Gnome).

РЕДАКТИРОВАТЬ:

Ну, комментарий @Anarci кажется более точным. В моем случае это действительно показывало gnome-shell ,

Есть ли способ (например, команда или переменная окружения) определить, какой оконный менеджер активно работает в текущем сеансе?

Если вы wmctrl установили, первая строка вывода из команды

покажет вам имя оконного менеджера. Если вы не wmctrl установили, используйте следующую команду, чтобы установить его:

Обратите внимание, man wmctrl (то есть, man страница для wmctrl ) говорит частично:

-m Показать информацию о диспетчере окон .

На свежей Ubuntu 15.10 установку Ubuntu desktop программного обеспечения на старом ноутбуке, первая линия выхода из wmctrl -m было: в Name: Compiz
то время как DESKTOP_SESSION и XDG_CURRENT_DESKTOP ценности были ubuntu и Unity

К сожалению, это не работает через ssh, даже если X11 включен. @ Sridhar-Sarnobat в Ubuntu 15.04, запуск ssh -Y 'wmctrl -m' действительно возвращает некоторые значения (например, «Имя: Compiz» и несколько N / A), но имеет смысл ssh иметь ограниченную информацию о диспетчере окон. на Debian работает Cinnamon, это не работает. вывод команды wmctrl -m: имя: Mutter (Muffin), а $ XDG_CURRENT_DESKTOP = X-Cinnamon В Xubuntu Wily при запуске Window Maker 0.95.6 - wmctrl сообщает N / A для всех записей. GDMSESSION установлен на wmaker-common, но XDG_CURRENT_DESKTOP вообще не установлен. @ Mei, у вас есть Window Maker, работающий на каких-либо других системах, которые вы можете сравнить? Кроме того, либо wmctrl -d (Список всех рабочих столов, управляемых оконным менеджером), либо wmctrl -l (Список окон, управляемых оконным менеджером) нормально работает на Xubuntu Wily с Window Maker?

В системах Linux я тестировал переменные окружения XDG_CURRENT_DESKTOP и GDMSESSION и получил следующие результаты.

Вы можете использовать эту строку, чтобы получить вывод:

  • XDG_CURRENT_DESKTOP=ubuntu:GNOME
  • GDMSESSION=ubuntu
  • XDG_CURRENT_DESKTOP=ubuntu:GNOME
  • GDMSESSION=ubuntu-wayland

Единство (7)

  • XDG_CURRENT_DESKTOP=Unity
  • GDMSESSION=ubuntu

Единство с Миром

  • XDG_CURRENT_DESKTOP=Unity
  • GDMSESSION=ubuntu

Примечание MIR_SERVER_NAME также установлено

Unity работает без Мира

  • XDG_CURRENT_DESKTOP=Unity
  • GDMSESSION=ubuntu
  • XDG_CURRENT_DESKTOP=XFCE
  • GDMSESSION=xfce
  • XDG_CURRENT_DESKTOP=
  • GDMSESSION=kde-plasma

Единство 3d

  • XDG_CURRENT_DESKTOP=Unity
  • GDMSESSION=ubuntu

Unity 2d

  • XDG_CURRENT_DESKTOP=Unity
  • GDMSESSION=ubuntu-2d
  • XDG_CURRENT_DESKTOP=GNOME
  • GDMSESSION=gnome-shell

Гномик Классик

  • XDG_CURRENT_DESKTOP=GNOME
  • GDMSESSION=gnome-classic

Gnome Classic (без эффектов)

  • XDG_CURRENT_DESKTOP=GNOME
  • GDMSESSION=gnome-fallback

Мята 13 (Корица)

  • XDG_CURRENT_DESKTOP=GNOME
  • GDMSESSION=cinnamon

Монетный двор 16 (издание KDE)

  • XDG_CURRENT_DESKTOP=KDE
  • GDMSESSION=default

Мята 17 (Корица)

  • XDG_CURRENT_DESKTOP=X-Cinnamon
  • GDMSESSION=default

Lubuntu 12.04

  • XDG_CURRENT_DESKTOP=LXDE
  • GDMSESSION=Lubuntu

Wasta 14.04 / 18.04

  • XDG_CURRENT_DESKTOP=X-Cinnamon
  • GDMSESSION=cinnamon

Wasta 14.04 с помощью рабочего стола Gnome.

  • XDG_CURRENT_DESKTOP=GNOME
  • GDMSESSION=gnome

Ubuntu Mate 18.04

  • XDG_CURRENT_DESKTOP=MATE
  • GDMSESSION=mate

Xubuntu 18.04

  • XDG_CURRENT_DESKTOP=XFCE
  • GDMSESSION=xubuntu
Монетный двор 13 (Корица): XDG_CURRENT_DESKTOP = GNOME, GDMSESSION = Корица Lubuntu 12.04: XDG_CURRENT_DESKTOP = LXDE, GDMSESSION = Lubuntu А как насчет $ DESKTOP_SESSION? В качестве решения для резервного копирования :) И далее это не отвечает, какой оконный менеджер я использую!

В терминале введите env все переменные окружения. Некоторые из них:

XDG_CURRENT_DESKTOP - сообщает, какую среду рабочего стола вы используете

GDMSESSION - Сообщает вам, какую опцию вы выбрали на приветствии lightdm для входа.

Чтобы использовать их, перейдите в терминал и введите:

(Будет выводить, например, «Unity», если вы используете Unity)

(Будет выводиться, например, «Ubuntu», если вы выбрали Ubuntu в логин или «Ubuntu-2d», если вы выбрали тот в логин.)

У вас есть другие, если вы посмотрите ближе к выводам env вроде DESKTOP_SESSION и COMPIZ_CONFIG_PROFILE

Поскольку то, что вы ищете, - это название того, какой диспетчер окон используется, единственный способ узнать, как это сделать, - просмотреть список процессов. Для этого есть команда под названием pgrep ( Википедия ). Я сделал следующее, чтобы получить имя, так как параметр -l добавляет идентификатор процесса:

pgrep -l compiz |cut -d " " -f2 поскольку процесс выполняется одним и тем же пользователем, нет необходимости добавлять префикс sudo. Затем вы можете использовать это для создания сценария, который выполняет действие на основе диспетчера окон.

Чтобы искать другие типы, просто измените слово compiz на другое, например mutter , kwin и т.д ..


Как я могу определить, какие оконные менеджеры установлены из командной строки? Я использую Ubuntu.

Можно определить, с каким оконным менеджером работает:

Просмотреть диспетчер отображения по умолчанию в Debian / Ubuntu можно с помощью:

  • Вы ищете другие команды для получения текущего диспетчера дисплея?
  • @ GAD3R Нет, я ищу команду, которая выводит список всех установленных оконных менеджеров.

Нет возможности найти все оконные менеджеры программно, потому что любая программа потенциально может действовать как оконный менеджер, и невозможно написать программу, которая знает, что делает произвольная программа. Однако, если вы ограничите поиск оконные менеджеры, предоставляемые пакетом Debian, есть простой способ. Все оконные менеджеры в Debian предоставляют x-window-manager альтернатива.

Этот psstree Команда отображает оконные менеджеры, используемые в настоящее время. И сгруппируйте результаты для каждого приложения и их отношения с другими элементами.

Ниже тот же ответ, что и выше. Но с подробностями, если они вам интересны.

Если это еще не сделано, выполните эту команду, чтобы установить пакет "pstree".

sudo apt-get install pstree

Используя Терминал / Командную строку, выполните эту команду

В результате найдите ключевое слово "gdm". Справа от gdm находится оконный менеджер, используемый в настоящее время. Например:

Означает GNOME Wayland

Означает GNOME X11

Одним из основных преимуществ pstree является то, что если у вас одновременно используется несколько оконных менеджеров, то pstree покажет, какой оконный менеджер используется для каждого приложения. Плюс связь приложения с другими предметами.

pstree имеет множество необязательных параметров. Например, выполните эту команду, чтобы отобразить только деревья, основанные на процессах этого пользователя.

Читайте также: