Используют ли системы Unix и другие подобные системы графический процессор для заставки/экрана загрузки при запуске (, если он есть )?

Что касается вашего вопроса:

However, how does ssh handle the possibility of two machines on the local network having the same username? Is there a flag to differentiate between user bob on machine A vs a different user bob on machine B, or does ssh throw an error?

Каждая система Linux по умолчанию управляет своими пользователями, группами и паролями локально в 3 файлах.

  • /etc/password

    $ head -4 /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    user1:x:1001:1001::/home/user1:/bin/bash
    
  • /etc/shadow

    $ head -4 /etc/shadow
    root:$1$jmJYUghS$AxysSW9MzG6AmmweysZsi1::0:99999:7:::
    bin:*:17110:0:99999:7:::
    daemon:*:17110:0:99999:7:::
    user1:!!:17717:0:99999:7:::
    
  • /etc/group

    $ head -4 /etc/group
    root:x:0:
    bin:x:1:
    daemon:x:2:
    user1:x:1001:
    

В этих файлах находятся фактические числа. Вы можете увидеть их в этой строке из файла /etc/password:

    user1:x:1001:1001::/home/user1:/bin/bash

Что соответствует идентификатору пользователя (UID )и идентификатору группы (GID )из 1001 и 1001. Если бы мы перечислили домашний каталог этого user1, вы увидите эти там тоже такие же цифры:

$ ls -lnd /home/user1
drwx------ 4 1001 1001 4096 Jul 12 00:05 /home/user1

ПРИМЕЧАНИЕ.:В приведенной выше команде мы указываем lsотображать номера, в противном случае по умолчанию отображаются имена:

$ ls -ld /home/user1
drwx------ 4 user1 user1 4096 Jul 12 00:05 /home/user1

Как насчет SSH

Когда вы sshпереходите на другой сервер и включаете пользователя для входа в систему как:

$ ssh user1@server1.mydom.com

вы выполняете аутентификацию по локально сохраненным на этом сервере «подробным сведениям» о данном пользователе. С SSH это немного сложнее, так как вы обычно будете использовать пару закрытый/открытый ключ для входа на сервер через ssh.

примеры файлов пары ключей
$ ls -l ~/.ssh/id_rsa*
-rw------- 1 root root 1675 Jul 21 00:50 /root/.ssh/id_rsa
-rw-r--r-- 1 root root  394 Jul 21 00:50 /root/.ssh/id_rsa.pub

В этом сценарии, когда вы sshотправляете «секреты» на удаленный сервер, используя приватную часть пары ключей SSH пользователя, на сервере находится общедоступная часть пары ключей, которую сервер можно использовать, чтобы подтвердить, что вы на самом деле тот, за кого себя выдаете.

Вот, например, часть вашего закрытого ключа:

мой ноутбук
$ ssh-keygen -l -f ~/.ssh/id_rsa
2048 SHA256:HvNN38AS9H7tIHaaE+51lqv6bgL7AmyDdqHIZIyBimg root@centos7 (RSA)

Если мы рассмотрим клиент, в котором этот пользователь может sshиспользовать пару ключей:

удаленный сервер X
$ ssh-keygen -l -f ~user1/.ssh/authorized_keys
2048 SHA256:HvNN38AS9H7tIHaaE+51lqv6bgL7AmyDdqHIZIyBimg root@centos7 (RSA) 

Обратите внимание на совпадение ключей.

7
16.08.2020, 15:33
1 ответ

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

Однако ответ на вопрос, который вы хотели задать, отрицательный. :Способы использования графического процессора во время запуска и после полной загрузки системы различаются. Во время запуска операционная система использует GPU в текстовом режиме или как простой фреймбуфер . Они предполагают очень небольшую работу графического процессора, поэтому маловероятно, что они вызовут ошибки графического процессора или вызовут его перегрев. Текстовый режим ограничен тем, что он может отображать текст только одним моноширинным шрифтом. Режим буфера кадра может отображать произвольные изображения, но он медленный. Оба режима могут использовать разрешение, меньшее, чем максимальное разрешение, которое может обеспечить графический процессор и монитор.

Как только система полностью загрузится, она, скорее всего, начнет использовать GPU по-другому, используя свои вычислительные возможности. Это требует сложного драйвера в операционной системе и может включать некоторые нетривиальные вычисления на графическом процессоре. В Linux этот режим является частью системы X Window(или ее заменой, такой как Wayland .

Вы можете получить графический интерфейс в Linux с драйвером X.org fbdev(, который использует графический процессор в качестве простого буфера кадра )или с драйвером X.org VESA . (, который является очень старым стандартом, который делает немного больше, чем фреймбуфер, и имеет ограниченное разрешение ). Это будет не быстро и, возможно, не очень красиво, но это лучше, чем ничего.

Возможно, сначала вам придется работать в текстовом режиме, чтобы предотвратить запуск X в неработающем режиме. Способ сделать это зависит от дистрибутива. Arch Wiki может быть полезен, даже если вы не используете Arch. После того, как вы вошли в систему как пользователь root, создайте или отредактируйте /etc/X11/xorg.conf, чтобы выбрать видеодрайвер. Например, для fbdev,вам нужно что-то вроде этого (непроверенный):

Section "Device"
    Identifier "fbdev"
    Driver "fbdev"
    Option "fbdev" "/dev/fb0"
EndSection

Вам также необходимо установить соответствующий драйвер (, если он еще не установлен ), что опять же зависит от дистрибутива -. Например, в Debian/Ubuntu это

apt-get install xserver-xorg-video-fbdev
4
18.03.2021, 23:13

Теги

Похожие вопросы