Чтобы пользователь мог sudo, он должен принадлежать к группе sudo согласно /etc/sudoers
определениям.
$cat /etc/sudoers
%sudo ALL=NOPASSWD: ALL
Чтобы добавить пользователя в группу sudo, в Debian нужно выполнить от имени root команду:
usermod -aG sudo your_username
Чтобы получить доступ от имени root без привилегий sudo, нужно войти в консоль от имени root, так как существуют ограничения безопасности, которые не позволяют сделать это удалённо (например, через ssh)
ссылка на страницу usermod man:
Терминалы не передают эту информацию. Вам нужно вызвать внешнюю утилиту (или написать загружаемый модуль zsh ), специфичный для консоли Linux. Для получения состояния сдвига потребуется вызвать один из ioctl консоли Linux, в частности TIOCLINUX
. Утилиты, связанные с клавиатурой -, находятся в пакетеkbd
, но я не думаю, что есть пакет, сообщающий о состояниях модификаторов.
Вы можете найти код такой утилиты в аналогичный вопрос о переполнении стека .
Если вы не хотите полагаться на дополнительную утилиту, пакет kbd включает kbdinfo
, который может сообщать о состоянии светодиода.
# Start X if Caps Lock is on
if kbdinfo gkbled capslock; then
setleds -D -caps
exec startx
fi