Скорее всего, это связано с вашими настройками локализации. Установите язык Ubuntu на английский, а страну на США (, возможно, нет необходимости )и --опция прогресса чудесным образом начнет работать.
Изменить :«скорее всего», потому что у меня была такая же проблема на моем Raspberry Pi с Raspbian, который также основан на Debian как Ubuntu. Я решил проблему, изменив язык системы с турецкого на английский и страну на США. Но у меня нет Ubuntu, чтобы попробовать, поэтому мне пришлось сделать здесь предположение.
Переменная окружения PATH
вашего пользователя не содержит пути, по которому находятся эти файлы. Когда вы используете su -
, переменные окружения root загружаются в ваш сеанс. См.man su
:
-, -l, --login
Start the shell as a login shell with an environment similar
to a real login:
o clears all the environment variables except TERM and
variables specified by --whitelist-environment
o initializes the environment variables HOME, SHELL,
USER, LOGNAME, and PATH
o changes to the target user's home directory
o sets argv[0] of the shell to '-' in order to make
the shell a login shell
Чтобы лучше это понять, давайте посмотрим, где находится один из этих двоичных файлов, и сравним PATH пользователя root с вашим:
su -
which service
. Это скажет вам, откуда будет загружен двоичный файл service
, если вы запустите команду service
. echo $PATH
. Это покажет вам PATH root. Вы заметите, что здесь указан каталог, в котором можно найти service
. exit
, чтобы снова стать не -пользователем root. echo $PATH
. Вы увидите, что каталога, указанного на шаге 2, здесь нет. Это нормальная настройка по умолчанию в определенных средах/дистрибутивах, где определенные административные программы, такие как service
, fdisk
и т. д., хранятся в каталоге, таком как /usr/sbin
или /sbin
, при этом такие каталоги не используются. ПУТИ обычных пользователей.