Définition de LOG = 1 dans / etc / environment

8

J'ai posé une question plus tôt à propos de l'historique de l' notify-osdutilisation de l' indicator-notificationsapplication.

La réponse était que je devais ajouter LOG=1dans mon /etc/environmentdossier.
Cela semblait suspect et je ne l'ai pas fait parce que:

  1. C'est dans le fichier de configuration globale.
  2. Vous ne pouvez vraiment pas savoir quoi d'autre sera enregistré à part les notifications.

J'ai parcouru autour et vu cette question qui met également en évidence le problème. Regardez spécifiquement cette réponse :

Petit avertissement: cela pourrait être une mauvaise idée ... LOG = 1 dans / etc / environment en fait une variable à l'échelle du système et pourrait casser des choses ... Dieu sait ce qui réagit sur LOG (ofc. Ils auraient dû en faire quelque chose comme NOTIFYOSDLOG ). Peut-être pour commencer je l'ajouterais à bashrc pour 1 utilisateur juste pour être sûr.

Ma question est, comment couchait LOG=1en /etc/environmenteffet sur le système? Quels «trucs» seront enregistrés? Est-ce conseillé?

ÉDITER

J'ai résolu le problème de notification et maintenant je pose des questions sur les effets de la définition de LOG = 1 dans / etc / environment.

Regardez ma question ci - dessus: « Comment va la mise LOG=1en /etc/environment? Affecter le système sera enregistré « choses » qui Est - ce souhaitable? »

Parto
la source
Nous pourrions peut-être éditer et recompiler notifyosd pour vérifier NOTIFYOSDLOG à la place ..
Seth
Il est assez difficile de dire comment le système serait affecté LOG=1sans lire la documentation de chaque programme et service qui peut être exécuté et utilisé LOGdans l'environnement. LOGest un nom assez générique mais différent PATH, HOMEou TERMil n'est pas couramment utilisé. Donc, on peut espérer que peu de développeurs l'ont choisi comme variable d'environnement pour leur programme et donc le réglage LOGne fera pas grand-chose.
Adaephon
Les deux réponses sont agréables, je vais juste laisser le «système» attribuer la prime. Merci Adaephon pour ce commentaire, LOG n'est pas couramment utilisé et donc un peu difficile de savoir comment le système serait affecté LOG=1.
Parto

Réponses:

4

Vous pouvez utiliser quelque chose de plus local comme user ~/.pam_environmentou ~/.profile. Il s'agit pratiquement de la même approche que /etc/environmentsi elles n'affectent que votre utilisateur. Ils pourraient encore affecter d'autres applications.

Bien qu'il ~/.profilesoit similaire à d'autres fichiers de script, ~/.pam_environmenta une syntaxe un peu tordue qui doit être respectée (ou vous casserez votre connexion):

LOG DEFAULT=1

L'autre approche qui peut fonctionner consiste à modifier les lancements notify-osdpour transmettre directement la variable d'environnement. Dans ce cas, il semble faire partie d'une cascade DBUS multiplateforme contrôlée depuisusr/share/dbus-1/services/org.freedesktop.Notifications.service

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

Je me demande si la ligne Exec pourrait être modifiée pour lire:

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

Ou si cela jette des oscillations de syntaxe:

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

Si cela fonctionne, il a l'avantage évident de n'affecter que notify-osd (tout ce qu'il lance).

Oli
la source
3

Les pages du document NotifyOSD citent:

(Remarque: la journalisation dans ce fichier est activée lorsque la variable d'environnement LOG est définie sur 1.)

Dans la page de documentation sur les variables d'environnement , il contient une liste de variables communes où "LOG" n'est pas répertorié. Ça dit:

Chaque application est libre de définir et d'utiliser ses propres variables d'environnement. De nombreuses pages de manuel incluent de longues listes de variables d'environnement qui peuvent affecter le comportement de l'application qu'elles décrivent. Cependant, les variables les plus utiles sont communes à de nombreuses applications.

Après avoir recherché les instances dans lesquelles LOG peut être utilisé, rien ne s'affiche. "NOTIFYOSDLOG" aurait été un nom plus approprié. L'utilisation de LOG dépend entièrement des applications, c'est donc un mystère qui l'utilise et ne l'utilise pas. Comme il ne figure pas dans la liste des variables communes, il peut s'agir simplement d'une variable mal nommée.

M. Lee
la source