Один из способов сделать это — написать правило udev, которое заставляет udisks2 игнорировать любые добавленные блочные устройства. Это можно сделать, закинув файл 10-mydisks2.rules
в /etc/udev/rules.d
с правилом:
ACTION=="add|change", SUBSYSTEM=="block", ENV{UDISKS_IGNORE}="1"
Это задокументировано в:
man 7 udev
man 8 udisks
Несомненно, существует более короткий способ, но следующий не использует ничего, кроме указанных в POSIX утилит. для быстрой интерактивной проверки:
printf '0123456789\n1234567890\n' | sed '1s/./&&&&&&&&&&/g;1s/^.//;2s/.*/&&&&&&&&&&/'
Запустите команду и прочтите цифры, которые находятся справа на вашем дисплее. Прочтите это как двузначное число вниз; это говорит вам, сколько столбцов у вас есть.
Пример вывода (как показано) на терминале из 72 столбцов:
$ printf '0123456789\n1234567890\n' | sed '1s/./&&&&&&&&&&/g;1s/^.//;2s/
.*/&&&&&&&&&&/'
000000000111111111122222222223333333333444444444455555555556666666666777
777777788888888889999999999
123456789012345678901234567890123456789012345678901234567890123456789012
3456789012345678901234567890
$
В зависимости от оболочки переменные COLUMNS
(и LINES
) могут быть автоматически установлены при изменении размера окна. bash, zsh, ksh do. dash не делает. tcsh этого не делает.
Из man bash
:
COLUMNS Используется командой select compound для определения ширины терминала при печати списков выделения. Автоматически устанавливается, если Опция checkwinsize включена или в интерактивной оболочке при получение SIGWINCH.
и
LINES
Используется командой select compound для определения столбца длина для печати списков выбора. Автоматически устанавливается, если Опция checkwinsize включена или в интерактивной оболочке при получение SIGWINCH.
Я нахожу полезным следующий псевдоним:
$ alias ttystat='echo $(tty) $TERM ${COLUMNS}x$LINES'
$ ttystat
/dev/pts/2 xterm 192x51
На этот ответ был дан (и неправильно ответил) неоднократно. Но:
tput cols
предоставляет информацию, которую операционная система может рассказать вам о ширине.
переменная COLUMNS
может быть задана вашей оболочкой, но (a)он ненадежен (устанавливается в определенных оболочках) и имеет тот недостаток, что при экспорте будет мешать работе полноэкранных приложений.
Программа resize
может определить размер для особых случаев, когда терминал не может согласовать размер окна с операционной системой.
Дальнейшее чтение: COLUMNS
на странице руководства по ncurses.