Linux - Configurações Personalizadas e Variáveis de Ambiente
Quando um usuário entra no sistema, é utilizado o arquivo de configuração /etc/profile
. Esse arquivo define as configurações de ambiente para todos os usuários ao fazerem login. Ele também pode incluir comandos que precisam ser executados na primeira vez que o usuário entra no computador. Além do arquivo /etc/profile
, o sistema também pode ter um arquivo .profile
, que pode ser criado no diretório home do usuário e que define as configurações apenas para o usuário atual. O arquivo .profile
é executado por último, então, em caso de conflito de configurações entre os dois arquivos, sempre serão utilizadas as configurações específicas do usuário.
Além disso, quando o usuário inicia um console a partir do ambiente atual, outro arquivo de configuração é aplicado, /etc/bashrc
, assim como sua versão específica para o usuário, ~/.bashrc
.
Em algumas distribuições, a parte mais importante das configurações padrão do shell está em /etc/profile
e .profile
, enquanto outras distribuições usam /etc/bashrc
e .bashrc
para armazenar essas configurações. Em muitas distribuições, o comando /etc/profile
inclui o código-fonte de /etc/bashrc
. Portanto, se for necessário que certas configurações sejam aplicadas tanto ao fazer login no sistema quanto ao iniciar o terminal, elas podem ser definidas nos arquivos /etc/bashrc
e .bashrc
.
Após fazer alterações nesses arquivos de configuração, é preciso ativar as novas configurações. Para isso, você pode usar o comando source ou o ponto .
:
source ~/.bashrc . ~/.bashrc
Variáveis de Ambiente
Uma variável representa um valor usado frequentemente pelo shell e é armazenada sob um nome. Muitas variáveis do sistema estão disponíveis desde o momento da inicialização, mas você também pode definir variáveis manualmente.
Para obter as variáveis, use o comando env
:
programicio@Programicio:~$ env SHELL=/bin/bash QT_ACCESSIBILITY=1 COLORTERM=truecolor GNOME_SHELL_SESSION_MODE=ubuntu DESKTOP_SESSION=ubuntu GTK_MODULES=gail:atk-bridge PWD=/home/programicio XDG_SESSION_DESKTOP=ubuntu XDG_SESSION_TYPE=wayland HOME=/home/programicio USERNAME=programicio LANG=en_US.UTF-8 WAYLAND_DISPLAY=wayland-0 USER=programicio GNOME_TERMINAL_SERVICE=:1.221 DISPLAY=:0 SHLVL=1 QT_IM_MODULE=ibus PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games programicio@Programicio:~$
Normalmente, as variáveis são carregadas automaticamente ao fazer login no sistema. A fonte mais importante de novas variáveis é o arquivo /etc/profile
, que é um script processado para cada usuário ao fazer login. Para definir uma nova variável para todos os usuários do sistema, essa variável deve ser adicionada ao final do arquivo /etc/profile
.
Se você precisar definir uma variável apenas para o usuário atual, crie o arquivo .profile
no diretório home do usuário (se ele ainda não existir) e adicione a variável no final deste arquivo. Esse arquivo funciona como um complemento ao arquivo /etc/profile
.
Uma alternativa ao arquivo /etc/profile
é o /etc/bashrc
. Esse arquivo é processado quando o usuário abre uma nova janela de terminal. Esse arquivo também tem um equivalente nos diretórios home dos usuários com o nome .bashrc
. Algumas distribuições Linux armazenam todas as variáveis e outras configurações de shell apenas no arquivo .bashrc
, e também leem este arquivo a partir do /etc/profile
para garantir que as configurações sejam aplicadas ao fazer login.
Para exibir o valor de uma variável, use o comando echo
, passando o nome da variável precedido pelo símbolo $
:
programicio@Programicio:~$ echo $LANG en_US.UTF-8 programicio@Programicio:~$ echo $USER programicio
Para definir uma nova variável, podemos atribuir um valor a um nome de variável e adicioná-lo ao arquivo apropriado, como o .bashrc
:
echo HELLO=Hello_Programicio >> ~/.bashrc
Para aplicar imediatamente as alterações, utilize o comando:
source ~/.bashrc
E verifique a variável HELLO
:
programicio@Programicio:~$ echo $HELLO Hello_Programicio programicio@Programicio:~$