По крайней мере, на RedHat 6 обратите внимание, что если LC _ALL установлен, то установка других переменных окружения LC _*не будет иметь никакого эффекта, так как LC _ALL имеет приоритет над всеми остальными окружениями LC _*. переменные.
[root@nbu76 bin]# LC_TIME=en_US.UTF-8
[root@nbu76 bin]# export LC_TIME
[root@nbu76 bin]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_IE"
LC_NUMERIC="en_IE"
LC_TIME="en_IE"
...
LC_ALL=en_IE
[root@nbu76 bin]# unset LC_ALL
[root@nbu76 bin]# locale
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME=en_US.UTF-8
...
LC_ALL=
[root@nbu76 bin]# export LC_TIME=en_IE
[root@nbu76 bin]# locale
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME=en_IE
....
LC_ALL=
-121 ---24642 -env -i
очищает среду, включая переменную PATH
, которая используется для поиска команд, если вы не указали полный путь. Итак, с env -i
вам нужно указать полный путь к вызываемым командам. С npm
, что, вероятно, происходит, так это то, что npm
сам по себе является сценарием, который имеет #! /usr/bin/env node
в качестве шебанга, поэтому поиск команды node
завершается ошибкой.
Если вам нужно очистить окружающую среду, попробуйте один из способов:
sudo -iu someuser sh -c "...."
su someuser - -c "...."
(обе эти команды запускают оболочки входа в систему с некоторой очисткой среды)или, с помощью env
, сохраните некоторые переменные среды, как это делает команда Ubuntu service
:
$ grep env $(command -v service) -m1
out=$(env -i LANG="$LANG" LANGUAGE="$LANGUAGE" LC_CTYPE="$LC_CTYPE" LC_NUMERIC="$LC_NUMERIC" LC_TIME="$LC_TIME" LC_COLLATE="$LC_COLLATE" LC_MONETARY="$LC_MONETARY" LC_MESSAGES="$LC_MESSAGES" LC_PAPER="$LC_PAPER" LC_NAME="$LC_NAME" LC_ADDRESS="$LC_ADDRESS" LC_TELEPHONE="$LC_TELEPHONE" LC_MEASUREMENT="$LC_MEASUREMENT" LC_IDENTIFICATION="$LC_IDENTIFICATION" LC_ALL="$LC_ALL" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" status 2>&1)
Вероятно, вам все это не нужно, но оставьте $PATH
, $TERM
и, возможно, установите LC_ALL=C
.
Итак, в конце концов я добрался до цели!
Для всех, кто там, я полностью удалил все, что связано с KDE (оконным менеджером sddm и т. д. ).
Затем выяснилось, что странные значки были связаны с запуском X11. По какой-то причине значок не масштабировался должным образом, поэтому он был крошечным. Теперь я переключился на Wayland по другим причинам (для масштабирования каждого монитора в основном ), и, хотя у него есть свои недостатки, он, кажется, справляется с масштабированием намного лучше, так что, похоже, это решено.
Теперь вернитесь к нормальной жизни, насколько это нормально в Debian со всеми сделанными вами настройками!