Вы всегда найдете информацию о новых подключенных устройствах в dmesg и /var/log/messages.
Для bluetooth вы можете проверить с помощью: hcitool dev
Для usb устройств попробуйте lsusb (-v).
Другие полезные команды: lshw (-short), hwinfo (--short) (если установлена), lspci (-v), lsblk, df -h, fdisk -l, multipath -ll, mount, dmidecode, cat /proc/scsi/scsi, hdparm -i /dev/sda. Существует множество вариаций этих команд в зависимости от ваших потребностей.
Итак, после некоторого гугления я нашел два решения:
https://serverfault.com/questions/323289/replacing-tty-with-a-script-in-centos-6
и
https://www.centos.org/forums/viewtopic.php?t=2414
В итоге я пришел к следующему:
1) Создайте '/etc/init/launch. conf" с таким содержанием:
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [S016]
respawn
console owner
exec /usr/bin/openvt -c 1 -w -f -- /usr/sbin/setup
В этом примере он запускает программу настройки в текстовом режиме
2) Отредактируйте '/etc/init/start-ttys.conf', чтобы заменить tty на launch:
start on stopped rc RUNLEVEL=[2345]
env ACTIVE_CONSOLES=/dev/tty[1-6]
env X_TTY=/dev/tty1
task
script
. /etc/sysconfig/init
for tty in $(echo $ACTIVE_CONSOLES) ; do
[ "$RUNLEVEL" = "5" -a "$tty" = "$X_TTY" ] && continue
#initctl start tty TTY=$tty
initctl start launch TTY=$tty
done
end script
Я не знаю, лучшее ли это решение, но оно работает, и программа настройки отображается после загрузки.
Ответ M. Dickey systemd немного расплывчатый. Вот подробности для операционной системы systemd.
Служба, которая представляет запрос на вход в систему, является экземпляром шаблона getty@.service
, getty@tty6.service
для службы входа, например, на tty6
. Чтобы заменить это своей собственной службой на таком терминальном устройстве, вам нужно сделать две вещи.
Это довольно просто:
# /etc/systemd/system/my-terminal-ui@.service [Unit] Description=Custom user interface on %I Documentation=https://unix.stackexchange.com/a/318336/5132 Conflicts=getty@%I.service Before=getty.target [Service] ExecStart=/usr/local/sbin/my-custom-user-interface StandardInput=tty StandardOutput=tty Restart=always RestartSec=1 UtmpIdentifier=%I TTYPath=/dev/%I TTYReset=yes TTYVHangup=yes TTYVTDisallocate=yes SendSIGHUP=yes [Install] WantedBy=multi-user.target
Это сервисная единица шаблона , которая будет создана с именем виртуального терминального устройства ядра в качестве параметра шаблона.
Это более сложная часть.
Для начала вам нужно решить , на каком виртуальном терминальном устройстве ядра это будет работать. Здесь в игру вступает несколько фрагментов информации:
tty1
. Вы должны выбрать между отказом от использования этого виртуального терминального устройства и отказом от использования (или ручной настройки )графического пользовательского интерфейса. NAutoVTs
в файле конфигурации logind.conf
. По умолчанию это от tty1
до tty6
. tty7
свободным в мире Fedora. Но в мире Debian, несмотря на то, что Debian теперь является операционной системой systemd, графический интерфейс пользователя использует tty7
. Возможно, вы захотите принять во внимание перенос на Debian. Допустим, вы выбираете tty5
.
Вам нужно остановить вход в систему по требованию -, запуская autovt@tty5.service
, что является другим названием getty@tty5.service
, всякий раз, когда пользователь переключается на виртуальный терминал ядра #5. Вы можете сделать это, понизив NAutoVTs
установка в logind.conf
от 6 до (произнесите )4.
Вам необходимо убедиться, что ваш сервис автоматически запускается при начальной загрузке системы, т. е. что он «включен»:
systemctl enable my-terminal-ui@tty5.service
Есть и другие способы сделать это.
Вместо my-terminal-ui@.service
введите my-terminal-ui.service
и закрепите имя оконечного устройства в устройстве, заменив %I
на (, скажем)tty5
.
Я дал это как определение шаблона, потому что это упрощает выбор, отличный от tty5
.
autovt@tty
N вместо своего имени Вы можете использовать /etc/systemd/system/autovt@tty5.service
в качестве имени определения службы. Это заменит создание экземпляра шаблона autovt@.service
.
Преимущество этого подхода заключается в том, что вам не нужно возиться с NAutoVTs
и включением службы вообще, и вы можете просто оставить logind для запроса -запуска вашей службы всякий раз, когда пользователь переключается на виртуальный терминал ядра. #5.
Недостатком является то, что механизм запуска по запросу -был разработан для того, чтобы не запускать процессы входа на неиспользуемых виртуальных терминалах ядра. Таким образом, ваша служба не будет запускаться при начальной загрузке системы, а будет запускаться только при первой активации виртуального терминала ядра #5. Этот запуск по запросу -может быть не тем, что вам нужно. Другие части вашей пользовательской системы могут ожидать, что ваша служба уже запущена , например, начиная с начальной загрузки.
getty@tty
NЛюди, привыкшие к /etc/ttys
и /etc/inittab
, рассматривают изменение getty@tty5.service
как способ что-то делать. Они запускают такие команды, как
systemctl edit getty@tty5.service
и добавьте переопределение, в котором указано
[Service] # This blank assignment is not a mis-print. ExecStart= ExecStart=/usr/local/sbin/my-custom-user-interface
Это имеет несколько проблем.
Сделать так, чтобы служба с именем getty не запускала программу {a
, min
, f
} getty
— не очень удобная идея. Спустя годы, когда вы забудете, что вы здесь сделали, или когда кто-то другой возьмет на себя администрирование такой системы, не будет очевидно, что службы «getty» не всегда работают getty
полезность.
Не думайте о getty@.service
как о пространстве для всего, что запускается на этом терминале , которое можно модифицировать по мере необходимости. Это не совсем системный способ думать об этом. getty@.service
запускает программу "getty". Служба, которая запускает совершенно другую программу, которая не запускает ничего похожего на службу «getty», должна быть отдельным определением службы сама по себе.
Более того :Отдельное определение службы позволяет не определять службу как что-то вроде службы "getty". Вышеупомянутое определение службы копирует большую часть поведения службы "getty", в том числе изо всех сил пытается очистить ваш экран(так, как мир хочет, чтобы вы делали ). Но вы можете не захотеть, скажем, TTYReset=yes
или возиться с utmpx
в такой службе, как ваша, которая на самом деле не является службой «входа» и может не захотеть, чтобы ее экран очищался так агрессивно.
Более того :Отдельное определение службы проще изменить в будущем. Перейти с tty5
(, если это неудовлетворительно, )на tty8
можно просто с помощью вышеупомянутого шаблона. Просто создайте экземпляр на tty8
вместо tty5
. Несколько сложнее отменить -выбор набора локальных настроек из getty@tty5.service
, а затем повторно -настроить их против getty@tty8.service
.
autovt@tty5
наmy-terminal-ui@tty5
Это логическое продолжение редактирования getty@tty5.service
, так как очевидно, чтоautovt@tty
N псевдонимы представляют собой все, что должно быть запущено здесь механизм, который позволяет заменять другие вещи дляgetty@tty
Н .
Но он страдает теми же вышеупомянутыми недостатками, что и использование имени autovt@tty5.service
напрямую, поскольку он связан с попытками logind не запускать службы входа в систему , что может быть не тем, что вам нужно. На самом деле это то, что должно быть требование-начато здесь пользователем logind.
/etc/inittab
осталось в прошлом.. Часто задаваемые ответы.