Configurando LOG = 1 em / etc / environment

8

Fiz uma pergunta anteriormente sobre como visualizar o histórico de notify-osduso do indicator-notificationsaplicativo.

A resposta foi que eu precisava adicionar LOG=1no meu /etc/environmentarquivo.
Isso parecia 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 procurei e vi essa pergunta que também destaca a questão. Veja especificamente esta resposta :

Aviso pequeno: isso pode ser uma má idéia ... LOG = 1 no / etc / environment torna uma variável abrangente do sistema e pode quebrar coisas ... Deus sabe o que reage no LOG (ofc. Eles deveriam ter feito algo como NOTIFYOSDLOG ) Talvez para iniciantes eu o adicionasse ao bashrc para 1 usuário apenas para ter certeza.

A minha pergunta é: como vai definir LOG=1em /etc/environmentafetar o sistema? Quais 'coisas' serão registradas? Isso é aconselhável?

EDITAR

Resolvi o problema de notificação e agora estou apenas perguntando sobre os efeitos da configuração LOG = 1 no / etc / environment.

Olhe para a minha pergunta acima: "Como vai definir LOG=1em /etc/environment? Afetam o sistema que 'coisas' será registrado é aconselhável?"

Parto
fonte
Poderíamos talvez editar e notifyosd recompilação para verificar se há NOTIFYOSDLOG vez ..
Seth
É bastante difícil dizer como o sistema seria afetado LOG=1sem a leitura da documentação de cada programa e serviço que pode ser executado e utilizado LOGno ambiente. LOGé um nome bastante genérico, mas diferente PATH, HOMEou TERMnão é comumente usado. Portanto, pode-se esperar que poucos desenvolvedores a tenham escolhido como uma variável de ambiente para seu programa e, portanto, a configuração LOGnão fará muito.
Adaephon
Ambas as respostas são boas, vou deixar o 'sistema' premiar a recompensa. Obrigado Adaephon por esse comentário, o LOG não é comumente usado e, portanto, meio difícil de saber como o sistema seria afetado LOG=1.
Par14

Respostas:

4

Você poderia usar algo mais local como usuário ~/.pam_environmentou ~/.profile. Eles são praticamente a mesma abordagem, /etc/environmentexceto que afetam apenas o usuário. Eles ainda podem afetar outros aplicativos.

Enquanto ~/.profileé semelhante a outros arquivos de script, ~/.pam_environmenttem um pouco de sintaxe twitchy que precisa ser respeitado (ou você vai quebrar o seu login):

LOG DEFAULT=1

A outra abordagem que pode funcionar é alterar o que for iniciado notify-osdpara passar diretamente a variável de ambiente. Nesse caso, parece fazer parte de alguma cascata DBUS de plataforma cruzada controlada a partir deusr/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 gera oscilações de sintaxe:

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

Se isso funcionar, ele tem a vantagem óbvia de afetar apenas o notify-osd (qualquer coisa que ele lançar).

Oli
fonte
3

As páginas de documentos do NotifyOSD citam:

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

Na página de documento 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 descrevem. No entanto, as variáveis ​​mais úteis são comuns a muitos aplicativos.

Após pesquisar nos casos em que o LOG pode ser usado, nada acontece. "NOTIFYOSDLOG" teria sido um nome mais apropriado. O uso do LOG é completamente dependente dos aplicativos, por isso é um mistério quem o usa e não o usa. Como não está na lista de variáveis ​​comuns, pode ser apenas uma variável com nome inadequado.

Senhor Lee
fonte