Definindo LOG = 1 no / etc / environment

8

Eu fiz uma pergunta antes sobre como visualizar o histórico de notify-osd usando o aplicativo indicator-notifications .

A resposta foi que eu precisava adicionar LOG=1 no meu arquivo /etc/environment .
Isso soou suspeito e eu não fiz isso porque:

  1. Está no arquivo de configuração global.
  2. Você realmente não pode saber o que mais será registrado além das notificações.

Eu naveguei e vi as question que também destaca a questão. Olhe especificamente para esta resposta :

  

Pequeno aviso: isso pode ser uma má idéia ... LOG = 1 em / etc / environment torna uma variável do sistema e pode quebrar coisas ... Deus sabe o que reage no LOG (ofc. eles deveriam ter feito isso algo como NOTIFYOSDLOG). Talvez para iniciantes eu gostaria de adicioná-lo ao bashrc para 1 usuário apenas para ter certeza.

Minha pergunta é: como a configuração LOG=1 in /etc/environment afetará o sistema? Quais 'coisas' serão registradas? Isso é aconselhável?

EDITAR

Eu resolvi o problema notification e agora estou apenas perguntando sobre os efeitos de definir LOG = 1 em / etc / environment.

Veja minha pergunta acima: "Como a configuração de LOG=1 em /etc/environment afetará o sistema? Qual 'material' será registrado? Isso é aconselhável?"

    
por Parto 23.03.2014 / 09:06

2 respostas

4

Você pode usar algo mais local do usuário, como ~/.pam_environment ou ~/.profile . Estas são praticamente a mesma abordagem que /etc/environment , exceto que elas afetarão apenas seu usuário. Eles ainda podem afetar outros aplicativos.

Embora ~/.profile seja semelhante a outros arquivos de script, ~/.pam_environment tem um pouco de sintaxe de twitchy que precisa ser cumprida (ou você quebrará seu login):

LOG DEFAULT=1

A outra abordagem que pode funcionar é mudar o que quer que seja lançado notify-osd para passar diretamente a variável de ambiente. Neste caso, parece fazer parte de uma cascata DBUS multi-plataforma controlada a partir de usr/share/dbus-1/services/org.freedesktop.Notifications.service

[D-BUS Service]
Name=org.freedesktop.Notifications
Exec=/usr/lib/x86_64-linux-gnu/notify-osd

Gostaria de saber se a linha Exec poderia ser alterada para ler:

Exec=LOG=1 /usr/lib/x86_64-linux-gnu/notify-osd

Ou se isso gerar wobblies de sintaxe:

Exec=sh -c "LOG=1 /usr/lib/x86_64-linux-gnu/notify-osd"

Se isso funcionar, tem a vantagem óbvia de afetar apenas o notificar-osd (qualquer coisa que for lançada).

    
por Oli 26.03.2014 / 15:01
3

As NotifyOSD cotações de páginas de documentos:

  

(Nota: o registro neste arquivo é ativado quando a variável de ambiente LOG é configurada para 1).

Na página de variável ambiental , há uma lista de variáveis comuns em que "LOG" não está listado . Diz:

  

Cada aplicativo é livre para definir e usar suas próprias variáveis de ambiente. Muitas páginas de manual incluem longas listas de variáveis de ambiente que podem afetar o comportamento do aplicativo que elas descrevem. No entanto, as variáveis mais úteis são comuns a muitos aplicativos.

Depois de procurar nas instâncias onde LOG pode ser usado, nada aparece. "NOTIFYOSDLOG" teria sido um nome mais apropriado. O uso de LOG é completamente dependente de aplicativos, então é um mistério quem faz e não usa. Como não está na lista de variáveis comuns, pode ser apenas uma variável com um nome inadequado.

    
por Mr.Lee 23.03.2014 / 17:10