Выходить из сессии заставит X перезапускать с большинством менеджеров по оформлению.
Как предложено кем-то еще, Вы могли также попробовать sudo restart lightdm
, однако, в зависимости от Вашего менеджера по оформлению это могло бы также быть sudo restart gdm
или sudo restart kdm
(Вы использовали lightdm в качестве примера, таким образом, я предполагаю, что это - то, что Вы имеете; просто требуемый для покрытия всех оснований).
Править: Удаленный Ctrl + Alt + Backspace
поскольку кто-то указал, что это было отключено в Ubuntu. Может работать на людей на различных дистрибутивах, которые находят этот поток.
Фундаментальное понятие для схватывания вот - то, что ПУТЬ может быть определен во многих местах. Поскольку @demure объясняет в его ответе, PATH=$PATH:/new/dir
средства добавляют /new_dir
кому: $PATH
, это не очистит оригинал $PATH
.
Теперь, одна причина там много файлов, глубоко соединен с понятием login
и non-login
оболочки. Посмотрите здесь для хорошей сводки. Следующее из страницы справочника удара (шахта акцента):
Когда удар вызывается как интерактивная оболочка входа в систему, или как неинтерактивная оболочка с - опция входа в систему, он сначала читает и выполняет команды из файла/etc/profile, если тот файл существует. После чтения того файла это ищет ~/.bash_profile, ~/.bash_login и ~/.profile, в том порядке, и читает и выполняет команды от первой, которая существует и читаема. - noprofile опция может использоваться, когда оболочка запускается для запрещения этого поведения.
Когда Вы сначала входите в свою систему, Вы запускаете оболочку входа в систему, таким образом, удар считает упомянутые выше файлы. Большинство дистрибутивов устанавливает в масштабе всей системы $PATH
(который относится ко всем пользователям) в /etc/profile
и это - то, где необходимо внести любые изменения, которые Вы хотите, относился ко всем пользователям. Это - то, что я имею на своем Debian:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
После того как Вы вошли в систему при открытии терминала, Вы запускаете интерактивную, оболочку невхода в систему. Это что man bash
должен сказать о тех:
When an interactive shell that is not a login shell
is started, bash reads and executes commands from
/etc/bash.bashrc and ~/.bashrc, if these files exist.
Так, те файлы читаются каждый раз, когда Вы открываете новый терминал. Ваш filnal $PATH является комбинацией значений во всех файлах. В типичной ситуации Вы входите в систему с помощью графического журнала в менеджере и запускаете новую сессию. В этом pòint Ваш $PATH
то, что было определено в различном profile
файлы. Если Вы открываете терминал, то Вы находитесь в интерактивной оболочке и различном bashrc
файлы читаются, который может добавить вещи к $PATH
.
Подводя итоги, все, что действительно необходимо знать, - то, что можно внести изменения в пользователя $PATH
путем редактирования $HOME/.profile
.
В Вашем домашнем dir это было бы .bashrc
, нет .bash.rc
.
Конфигурация в масштабе всей системы /etc/bashrc
нет /etc/.bash.rc
.
Unix и Linux не используют \some\path\here
пути к файлам, они используют /some/path/here
пути к файлам. \
символ ESC и используется для отключения других специальных символов.
Вы могли отредактировать Ваш $PATH
путем добавления их к строкам к Вашему ~/.bashrc
(~
означает Ваш домашний dir),
PATH=$PATH:/usr/local/bin:/some/other/path
export PATH
Где
$PATH
уже сохраняет что-либо набор к ПУТИ.:
разделяет записи.:/some/other/path
часть)Я не предложил бы редактировать Ваше в масштабе всей системы /etc/bashrc
если Вам только нужны изменения для себя.
/etc/profile
был бы для всех пользователей. ~/.bashrc
только удар влияния, ~/.profile
влияние все* оболочки. Просто используйте ~/.profile
если у Вас нет предпочтения.
– demure
25.11.2016, 03:50
En primer lugar, el kernel (o initramfs )proporcionarán un valor de RUTA predeterminado inicial para el proceso init
, además de algunas otras variables de entorno. Puedes verlos si quieres:
$ sudo strings /proc/1/environ
selinux=0
SHLVL=1
HOME=/
init=/sbin/init
TERM=linux
drop_caps=
BOOT_IMAGE=/vmlinuz-4.9.80-atom
PATH=/sbin:/usr/sbin:/bin:/usr/bin
crashkernel=384M-:128M
PWD=/
rootmnt=/root
Para demonios y otros procesos iniciados en el arranque -, el init
proceso (ya sea un SysVinit tradicional o uno de los nuevos reemplazos comosystemd
)puede aplicar su propia RUTA predeterminada, o simplemente pasar por el valor predeterminado del núcleo. Esto puede o no ser configurable :consulte la documentación de su sistema de inicio.
Para las sesiones de inicio de sesión, la configuración de PAM puede incluir pam_env.so
que podría imponer una RUTA predeterminada para las sesiones de usuario, configurable en /etc/security/pam_env.conf
. O si no se usa pam_env.so
, el proceso que maneja el inicio de sesión (, p. sshd
, o el par tradicional *getty
+ login
en la consola o los inicios de sesión del puerto serie )pueden aplicar su propia RUTA de inicio predeterminada para las sesiones de usuario.
Luego, el shell del usuario normalmente ejecutará uno o más scripts de inicio de sesión de todo el sistema -, y uno o más scripts de inicio de sesión específicos del usuario -, si existen. Cualquiera de estos puede agregarse a la configuración PATH existente o reemplazarla por completo.
.profile
, нет.bashrc
. – Gilles 'SO- stop being evil' 02.06.2013, 02:20su
,~/.profile
не читается в то время как.bashrc
. Это должно постараться не перезагружать $PATH каждый раз, когда Вы открываете новый терминал? – terdon♦ 02.06.2013, 05:09su
как предполагается, не изменяет среду, это точно как разработано. Если Вы хотите среду целевого пользователя, работаетеsu -l
. Самый очевидный способ установитьPATH
в.bashrc
перерывы в общих сценариях состоят в том, что это не вступает в силу в программах, запущенных менеджером окон. – Gilles 'SO- stop being evil' 02.06.2013, 13:52