Много лицензи за софтуер са доста ограничителни, когато става въпрос за това как и къде можете да инсталирате програма, но колко добри са тези програми при определяне на какъв тип устройство те са инсталирани? Днешната публикация "SuperUser Q & A" е отговорът на въпроса на любознателен читател.
Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.
Снимката е предоставена от Robert (Flickr).
Reader на SuperUser Abhi иска да разбере дали софтуерът наистина може да различава между настолен компютър и лаптоп:
Лиценз за софтуер с висока интензивност на процесора като Pix4D казва, че той може да бъде инсталиран на две устройства, но при едно условие. Четенето на финия шрифт изглежда, че едно устройство може да бъде напълно работещо работно място, докато второто трябва да е лаптоп или мобилно устройство.
Как софтуерът ще знае какъв тип устройство е инсталирано? Има ли датчици в хардуерните спецификации за определяне на нещо подобно (т.е. наличието на батерия)?
Като се има предвид, че софтуерът е напълно функционален и на двете устройства, няма ли това условие да стане неуместно, ако просто купя лаптоп от висок клас, който е точно толкова бърз, колкото десктопа?
Може ли софтуерът всъщност да прави разлика между настолен компютър и лаптоп?
Компютърните сътрудници на SuperUser abnev и Technik Empire имат отговор за нас. Първо, abnev:
На Linux можете да изпълните следната команда:
- sudo dmidecode-тип шаси-тип
На лаптоп, това ще върне лаптоп, ноутбук, преносим или допълнителен бележник (в зависимост от производителя).
За Windows вижте следната документация на TechNet, за да определите типа на шасито на компютъра: Идентифициране на типа шаси на компютъра
Последвано от отговора на Technik Empire:
За да добавите към другия отговор тук по отношение на Linux, софтуерът на Windows също може да получи достъп до тази информация чрез различни предоставени методи / обекти WinAPI. Един такъв пример е Win32_ComputerSystem, който, между другото, има членове като:
Възможните стойности включват:
Що се отнася до това как Windows знае това, макар че не мога да кажа със сигурност, защото понастоящем не разполагам както с изходния код на Windows, така и с официалните линкове към документацията, бих казал, че това е просто въпрос на идентификатора на хардуера в компютъра, който предоставя тази информация на операционната система.
Тъй като Windows има масивна партньорска мрежа, която предава своите драйвери директно на Microsoft (за актуализации на драйвери чрез Windows Update и "стандартни" драйвери за включване с инсталационен носител), Windows е много лесно да разбере точно какъв компютър имате инсталиран на. Просто само с ID на CPU, можете да определите дали е настолен компютър или лаптоп.
Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.