|
Este тип полезен для всех тех, кто часто (ежедневно) использует терминал или консоль в системах GNU / Linux. |
До начала
Если у нас не установлен пакет bash-completing, мы его устанавливаем:
aptitude установить завершение bash
Включить автозаполнение TTY для всех пользователей
Открываем / etc / profile
нано / и т.д. / профиль
Ищем в / etc / profile следующие строки ...
# включить завершение bash в интерактивных оболочках
#if [-f / etc / bash_completion] &&! shopt -oq posix; тогда
#. / и т.д. / bash_completion
#фи
И заменяем на:
если ["$ BASH"]; тогда
если [-f / etc / bash_completion] &&! shopt -oq posix; тогда
. / и т.д. / bash_completion
fi
fi
Последний активирует bash_completion для всех пользователей, включая root. Но он активирует его только на TTY, а не на эмуляторах терминала.
Сбрасываем TTY и все.
Как видите, мы добавили if в исходный файл, который подтверждает, что bash_completion запускается только тогда, когда мы находимся в Bash. Без этого условия GDM выдаст ранее упомянутую ошибку, поскольку GDM будет вызывать bash_completion и по какой-то причине конфликтует с xsession.
Включить автозаполнение в эмуляторах терминала для всех пользователей
Открываем /etc/bash.bashrc
# нано /etc/bash.bashrc
Ищем в /etc/bash.bashrc следующие строки ...
# включить завершение bash в интерактивных оболочках
#if [-f / etc / bash_completion] &&! shopt -oq posix; тогда
#. / и т.д. / bash_completion
#фи
... И убираем "#" (раскомментируем их), примерно так:
# включить завершение bash в интерактивных оболочках
если [-f / etc / bash_completion] &&! shopt -oq posix; тогда
. / и т.д. / bash_completion
fi
Последний активирует bash_completion для всех пользователей, включая root. Но он включит его только в эмуляторах терминала, но не в TTY.
Мы перезапускаем любой терминал и изменения вступят в силу.
Включить автозаполнение в эмуляторах терминала только для одного пользователя
Мы должны создать (или отредактировать, если он существует) файл ~ / .bashrc.
nano ~ / .bashrc
Добавляем (или ищем, если их нет, но прокомментировали, как это сделано в /etc/bash.bashrc) так, чтобы это выглядело так:
# включить завершение bash в интерактивных оболочках
если [-f / etc / bash_completion] &&! shopt -oq posix; тогда
. / и т.д. / bash_completion
fi
- Если файл создаем, то просто добавляем эти строки.
- Если эти строки есть, но их нет, мы добавляем их в конец файла.
- Если он существует и эти строки есть, просто раскомментируем их.
Мы перезапускаем консоль, и изменения вступят в силу.
Включите автозаполнение при желании
Нам просто нужно запустить bash_completion в тот момент, когда мы хотим его использовать. Он будет деактивирован, когда мы завершим сеанс в терминале (с помощью команды exit) или закроем терминал, который мы используем, если мы находимся в графической среде. Чтобы запустить его, когда захотим, мы делаем:
. / и т.д. / bash_completion
Источник: записная книжка 98 года