Как узнать номер дисплея linux

Как вы узнаете производителя /модель экрана для экрана ноутбука с Linux? (Samsung, LG, Chi Mei и т. Д.)

Как вы узнаете производителя /модель экрана для экрана ноутбука с Linux? (Samsung, LG, Chi Mei и т. Д.) + Номер модели?

Я пробовал использовать эту команду «lshw» в Ubuntu, но, похоже, там не указана панель.

5 ответов

Используйте любую утилиту, отображающую информацию EDID. Одно место для поиска этой информации находится в /var/log/Xorg.0.log

Моя информация не отображалась в XOrg.log. Но я понял, что могу получить информацию от подкомпонента DRM (Direct Rendering Manager) ядра linux, который отображается в sysfs. Поэтому я сделал следующее:

Вы можете выяснить, какие экраны активны, сделав здесь несколько пробных событий:

Затем я проанализировал информацию EDID с экранов, которые меня интересовали следующим образом:

Используется read-edid , чтобы получить эту информацию на Ubuntu 14.04.

Сотрясание /sys /class /drm /card0 оказалось простым вариантом.

В Fedora Core вы можете установить monitor-edid ( read-edid , похоже, доступен только для Ubuntu — я предлагаю добавить информацию Fedora здесь, так как этот форум не является askubuntu , но superuser ).

Он выводит EISA ID , с помощью которого вы можете найти информацию о поставщике и устройстве в Интернете.

Я нашел два инструмента для Linux Mint 18.1, которые дают разные результаты. Сначала я попробовал read-edid:

С этим я получил следующее, но не нашел номер модели:

Итак, я попробовал другой инструмент для анализа EDID:

Это, казалось, дало больше информации о модели панели:

Источник

Как узнать текущий (активный) номер DISPLAY XServer?

Мы перевели игровой процесс TGS Hyrule Warriors: Age of Calamity! Теперь на 100% больше английских субтитров!

Я использую Arch Linux, и все не так просто, когда вы пытаетесь обнаружить текущий Xorg DISPLAY (не через переменную env).

Вот рабочий пример:

В некоторых случаях это работает, в других — нет:

Сеанс гостя (tty3) был запущен с использованием pts (псевдотерминала).

Я использую gdm, и он запускает серверы xorg без конкретной команды (не уточняя номер дисплея).

Итак, вопрос на миллион: как узнать текущий (используемый) номер XServer DISPLAY? Текущий, потому что, как указано выше, у нас может быть несколько серверов (несколько пользователей).

  • Почему вы пытаетесь узнать так называемый «текущий» XDISPLAY? Что вы имеете в виду под «текущим»? Судя по всему, у вас работает как минимум два XServer. Что актуально и почему?
  • @Bananguin, я объясню в своем ответе.

Вы можете попробовать использовать loginctl list-sessions чтобы получить список сеансов, а затем используйте loginctl show-session -p Display -p Active на каждом из них, чтобы получить номер дисплея X11, связанный с текущим активным сеансом.

Примерно так (в bash):

Здесь $TARGET_DISPLAY — это массив, потому что гипотетически может быть более одного активного сеанса (в многопользовательской системе). Если в вашей конфигурации это невозможно, вы можете сделать ее простой переменной и добавить break 2 оператор после присваивания для выхода из обоих циклов.

ТЕМ НЕ МЕНИЕ.

. это больше не работает с GDM, потому что в этом случае запускается X-сервер внутри сеанс (с правами пользователя) и /usr/bin/gdm-x-session не передает эту информацию обратно logind (из-за отсутствия для этого API).

В других случаях (когда X-сервер запускается DM до создания сеанса) это, скорее всего, сработает. Извините, мне не известны другие методы.

  • Привет @intelfx, здесь не сработало: loginctl list-sessions возвращается c1, c2 и c3 как СЕССИИ. Так loginctl show-session -p Display c1 или же c2 или даже c3 всегда возвращается Дисплей =
  • @geyslan: Извините, я неправильно запомнил информацию, которую возвращает loginctl list-sessions — нет столбца «АКТИВНЫЙ» . И, на самом деле, ситуация оказывается хуже, чем я думал: начиная с 3.16 GDM перестал передавать номер дисплея X11 в logind из-за структурной переработки. Хотя это может работать с другими совместимыми DM.
  • Нет проблем @intelfx. В любом случае спасибо за вашу помощь.
  • @intelfx: очень хороший подход. В 1-2 основных релизах мне может понравиться вот это * d материал. Просто чтобы подбросить другую идею: однажды мне пришлось сопоставить XDisplays с именами пользователей. Я создаю кое-что, что просматривает все входящие TCP-соединения с различными X-серверами и голосует большинством за пользователей, которым принадлежат процессы соединения. Достаточно хорошо работает с современными DE.
Читайте также:  Waves complete для mac os

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

Другое важное замечание — переменная DISPLAY в некоторых случаях недоступна (например, systemd).

После некоторого обсуждения в commandlinefu я получил такой результат:

Этот фрагмент выполняет итерацию по списку всех процессов (фактически их идентификаторов), в которых установлен управляющий терминал, и соответствует терминалу этого процесса. Он проверяет среду каждого процесса на наличие DISPLAY переменной и удовлетворяется, как только находит ее. Найдя DISPLAY переменная прекращает повторение списка и echo результат.

Это напечатает активный дисплей, на котором запущен сценарий.

  • Это очень жадный подход, и он не должен возвращать правильный DISPLAY . Вы должны оценить все окружающей среды и принять ценность DISPLAY которые вы читаете чаще всего.
  • @bananguin Может ли на нем работать более одного x-сервера с учетом некоторого tty?
  • вы смотрите не на Xservers, а только на переменные окружения. Нам всегда нужно быть очень осторожными в том, что мы предполагаем о переменных окружения.
  • 1 Я понимаю ваше предостережение. У вас есть код, который можно предложить (bash)?
  • Вопрос нечеткий. У меня легко может быть дюжина «активных» X-соединений (некоторые локальные, некоторые удаленные), и все они могут находиться в одной оболочке на одном управляющем tty. я могу изменить DISPLAY по желанию, несколько раз. Вы можете искать DISPLAY в среде процессов, которые вам интересны (вы не сказали, какие), но это все, что вы можете сделать.

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

Это мое решение, основанное на других ответах:

Это проверяет все сеансы входа в систему, которые также имеют X-сеансы. Если tty также совпадает, мы можем быть уверены, что это активный сеанс X, иначе мы используем 1-й.

Этот сценарий может быть расширен, чтобы соответствовать текущему пользователю, если вы хотите.

Вот пример с двумя серверами, работающими на одном хосте. я использовал startx чтобы запустить их обоих, как видно из вывода pstree -pl ниже. Первый дочерний процесс с $DISPLAY набор .xinitrc :

Это команда; если у вас другая настройка, вы можете изменить .xinitrc к чему-то еще здесь:

Числа показывают время простоя каждого дисплея в миллисекундах. В верхней строке отображается последний активный (наименее простаивающий) дисплей.

Как бы то ни было, ни один из других ответов не помог мне.

Источник

16 команд для проверки аппаратной части компьютера в Linux

Информация о комплектации компьютера

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

В данной статье кратко рассказывается о нескольких наиболее часто используемых командах, предназначенных для получения информации и особенностях настройки различных периферийных устройств и компонентах компьютера. Среди рассматриваемых — команды lscpu, hwinfo, lshw, dmidecode, lspci и другие.

1. lscpu

Команда lscpu выдает информацию о процессоре и его составляющих. В ней нет каких-либо дополнительных параметров или функциональных возможностей.

2. lshw – список аппаратных устройств

Утилита общего назначения, которая сообщает подробную и краткую информацию о нескольких различных аппаратных устройствах, таких как процессор, память, диск, контроллеры usb, сетевые адаптеры и т.д. Команда lscpu извлекает информацию из различных файлов /proc.

Если вы хотите больше узнать о команде lshw, то обратите внимание на пост Получаем интфомацию в Linux об аппаратных частях компьютера с помощью команды lshw .

3. hwinfo – информация об аппаратуре компьютера

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

Читайте также:  Radius server ��������� linux

4. lspci – список устройств PCI

Команда lspci выдает список всех шин PCI, а также подробную информация об устройствах, которые к ним подключены. Под эту категорию подпадают следующие устройства — адаптер vga, графическая карта, сетевой адаптер, порты usb, контроллеры sata и т.д.

Отфильтруйте информацию о конкретном устройстве с помощью команды grep.

5. lsscsi — список устройств scsi

Выдается список устройств scsi/sata, например, жестких дисков и оптических приводов.

6. lsusb – подробный список шин и устройств usb

Эта команда показывает информацию о контроллерах usb и подробные сведения о подключенных к ним устройствах. По умолчанию выдается краткая информация. Для того, чтобы о каждом порте usb получить подробную информацию, используйте параметр «-v».

В системе, информация о которой приведена выше, один порт usb используется для подключения мыши.

7. Inxi

Inxi является мега скриптом bash, состоящим из 10000 строк кода, с помощью которого из разных источников и команд системы будет получена подробная информация об аппаратном обеспечении и будет создан отчет в виде, позволяющим его читать пользователям, которые не являются техническими специалистами.

8. lsblk — список блочных устройств

Перечисляется информация о всех блочных устройствах, которыми являются разделы жестких дисков и других устройств хранения данных, например, оптических приводов и флэш-накопителей

9. df – дисковое пространство файловых систем

Отчеты о различных разделах, об их точках монтирования и о том, сколько в каждом разделе есть свободного места.

10. Pydf – команда df, написанная на языке Python

Улучшенный вариант команды df , написанной на языке python, который выдает информацию в цвете, что выглядит лучше, чем информация, выдаваемая командой df

11. fdisk

Fdisk является утилитой, предназначенной для изменения разделов жестких дисков, и ей также можно пользоваться для получения информации о списке имеющихся разделов.

12. mount

Команда mount используется для монтирования/демонтирования, а также для просмотра смонтированных файловых систем.

Опять же, используйте команду grep для отфильтровывания информации только о тех файловых системах, которые вам интересны

13. free – проверка оперативной памяти

С помощью команды free проверьте объем используемой, свободной и общий объема оперативной памяти, имеющейся в системе.

14. dmidecode

Команда dmidecode отличается от всех других команд. Она извлекает информацию об оборудовании, читая для этого данные из структур данных SMBOIS (которые также называются таблицами DMI).

Подробности смотрите на странице man.

15. Файлы /proc

Во многих виртуальных файлах каталога /proc содержится информация об аппаратном обеспечении и о конфигурациях. Ниже приведены некоторые из них.

Информация о процессоре/памяти

Информация о Linux/ядре

16. hdparm

Команда hdparm получает информацию об устройствах sata, например, жестких дисков.

Заключение

В каждой из команд используется чуть-чуть иной способ извлечения информации, и вам для, чтобы получить определенную информацию об оборудовании, возможно, потребуется попробовать более одной команды. Но все они есть в большинстве дистрибутивов Linux и их легко можно установить из репозиториев, используемых по умолчанию.

Для тех, кто не хочет запоминать и вводить команды, на рабочем столе есть графические инструментальные средства. Hardinfo и I-nex — некоторые из популярных инструментальных средств, с помощью которых можно получить подробную информацию о большом количестве различных аппаратных компонентов.

Источник

Запуск X-приложенний в Linux

Если рассмотреть схему работы системы X Window немного подробнее. То сначала может показаться, что эта схема слишком запутана и сложна. Однако это лишь первое впечатление от нестандартного и универсального подхода к реализации принципов работы с видеодисплейными терминалами (вывода изображения на экран монитора) в сложных и распределённых системах UNIX и Linux. На самом деле такая концепция очень полезна. В первую очередь для системного администрирования. Она позволяет администраторам организовать удобную для себя программно-аппаратную среду для управления и контроля всей системы. Ведь система X Window основана на архитектуре клиент-серверного взаимодействия. Что делает её (X Window) очень податливой для централизации и масштабирования. А это в свою очередь прямо влияет на удобство администрирования и мониторинга систем и сетей (даже самых сложных), в которых используется X Window.

Распределённая схема запуска X-приложений

Изображение обрабатывается для вывода на дисплей (не путать с монитором) X-сервером на его стороне. Для этого используются данные от зарегистрированных клиентов, которые (и это очень важно) могут работать на отдельных компьютерах в системе/сети. В качестве данных клиентов используются результаты работы графических и библиотек элементов интерфейса (GUI). А также графических сред, установленных на стороне клиента.

Читайте также:  Download free itunes 10 для windows

Информация об обновлении дисплея X Window передаётся по сети от клиентов. К дисплею может быть подключено несколько мониторов — для каждого клиента свой. Для этого клиенту необходимо знать:

  • хост, на котором запущен X-сервер;
  • номер активного дисплея (управляется менеджером дисплеев);
  • номер монитора, привязанного к активному дисплею.

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

Переменная окружения DISPLAY

Каким образом X-приложение на стороне клиента «узнаёт», к какому X-серверу подключаться и какие дисплей и монитор использовать для вывода GUI? Для этого существует специальная переменная окружения DISPLAY. Она содержит информацию об IP-адресе X-сервера (или имя хоста) и номера дисплея и монитора (если мониторов несколько). Естественно, что в том случае, когда X-сервер и X-приложение работают на одном компьютере, то вся эта информация может быть опущена за исключением номера монитора. В качестве которого указывается значение «0», если он один.

Для задания параметров переменной DISPLAY на стороне клиента можно выполнить следующую команду:

Теперь клиент будет «знать», что для отображения его GUI нужно использовать монитор номер 2, дисплея номер 10, который поддерживается X-сервером, доступном по адресу hostname.domain.com. Просмотреть текущее значение переменной DISPLAY можно например так:

Однако следует помнить, что переменные окружения должны быть корректно заданы для каждого процесса, использующего X-сервер. Например, X-приложения, запущенные из одной командной оболочки и корректно работающие в системе X Window, могут не работать, будучи запущенными из другой. Если для этих оболочек переменная DISPLAY имеет разные значения.

Даже когда X-приложения работают через указанный X-сервер, то они могут отправлять в вывод клиентской командной оболочки (из которой были запущены) некоторую информацию по стандартным каналам ввода/вывода STDOUT и STDERR – в этом нет ничего необычного.

Разумеется, в имени хоста можно опускать название домена. Если клиент и сервер оба в него включены. Хотя это может зависеть от схемы распознавания доменных имён в конкретной сети. Ну и конечно стоит помнить о том, что если клиент и сервер работают на одном компьютере, то очень рекомендуется полностью исключать из переменной DISPLAY имя компьютера (вместо хоста как в случае с удалённым X-сервером). В этом случае будет задействован сокет UNIX вместо стандартного сетевого сокета TCP. Это очень полезно — ведь данный тип сокета более быстрый и эффективный, чем сокет сети. К тому же это позволяет избежать проблем с настройкой брандмауэров. Поскольку сокеты типа UNIX по-умолчанию не подлежат прослушиванию и блокировкам.

Авторизация клиентов

Когда-то к X-серверу могли подключаться абсолютно все клиенты. Но в эпоху всё нарастающих опасностей в киберпространстве возникла необходимость защиты соединений и взаимодействия по сети. Не стала исключением и система X Window. С помощью команды xhost, выполняющей подключение к X-серверу любой пользователь мог впоследствии навредить системе. Позже от неё закономерно отказались.

Самой распространённой моделью авторизации клиентов для X-сервера является использование куков (cookie). Которые представляют собой случайно генерируемые последовательности символов. Куки известны диспетчеру дисплеев, отвечающему за авторизацию. Клиент, предоставивший диспетчеру дисплеев такие куки воспринимается сервером как аутентифицированный. Сами куки сохраняются в файл

/.Xauthority на стороне клиента. Команда xauth позволяет просматривать куки сервера и добавлять их в файл

/.Xauthority. Когда X-приложение не может получить доступ к X-серверу по причине неудачной авторизации, может быть получен вывод примерно такого содержания:

Как видно, для X-приложения был отклонён доступ к X-серверу из-за отсутствия нужных куков. Но не стоит унывать, ведь сами куки можно получить, выполнив на стороне сервера:

В данном выводе получены куки для сокета UNIX, сетевого интерфейса Ethernet. А также для интерфейса с обратной связью localhost.

Далее, поскольку возможность копирования/вставки поддерживается командными оболочками. Чтобы добавить полученные куки в набор клиента нужно выполнить (на стороне клиента) следующую команду:

Теперь можно удостовериться, что куки были добавлены правильно. Т. е. попробовать запустить X-приложение на клиентской машине. В результате чего данные клиента должны быть отображены на сервере.

Как можно видеть, использование системы X Window позволяет легко выйти за рамки использования одного компьютера. Подобная концепция позволяет гибко масштабировать системы на основе UNIX\Linux не только в классическом представлении «командной строки», но и с использованием всех самых современных разработок и достижений для GUI.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Оцените статью