Festlegen von LOG = 1 in / etc / environment

8

Ich habe vorhin eine Frage zum Anzeigen des notify-osdNutzungsverlaufs der indicator-notificationsApp gestellt.

Die Antwort war, dass ich LOG=1meine /etc/environmentDatei hinzufügen musste .
Das klang verdächtig und ich habe es nicht getan, weil:

  1. Es befindet sich in der globalen Konfigurationsdatei.
  2. Sie können wirklich nicht wissen, was außer den Benachrichtigungen noch protokolliert wird.

Ich habe mich umgesehen und diese Frage gesehen, die auch das Problem hervorhebt. Schauen Sie sich diese Antwort genau an :

Kleine Warnung: Dies könnte eine schlechte Idee sein ... LOG = 1 in / etc / environment macht es zu einer systemweiten Variablen und könnte Dinge kaputt machen ... Gott weiß, was auf LOG reagiert (natürlich hätten sie es so etwas wie NOTIFYOSDLOG machen sollen ). Vielleicht würde ich es für den Anfang für 1 Benutzer zu bashrc hinzufügen, nur um sicherzugehen.

Meine Frage ist, wie wird Einstellung LOG=1in /etc/environmentdem System beeinflussen? Welches 'Zeug' wird protokolliert? Ist das ratsam?

BEARBEITEN

Ich habe das Benachrichtigungsproblem gelöst und frage jetzt nur nach den Auswirkungen der Einstellung von LOG = 1 in / etc / environment.

Sehen Sie sich meine Frage oben: „Wie wird Einstellung LOG=1in /etc/environment? Beeinflussen das System , das‚Material‘wird protokolliert Ist das sinnvoll?“

Parto
quelle
Wir könnten vielleicht notifyosd bearbeiten und neu kompilieren, um stattdessen nach NOTIFYOSDLOG zu suchen.
Seth
Es ist ziemlich schwer zu sagen, wie das System davon betroffen wäre, LOG=1ohne die Dokumentation jedes einzelnen Programms und Dienstes zu lesen, der möglicherweise ausgeführt wird und LOGin der Umgebung verwendet wird. LOGist ein ziemlich allgemeiner Name, aber anders als PATH, HOMEoder TERMes wird nicht allgemein verwendet. Man kann also hoffen, dass nicht zu viele Entwickler es als Umgebungsvariable für ihr Programm ausgewählt haben und daher die Einstellung LOGnicht viel bringt.
Adaephon
Beide Antworten sind nett, ich lasse einfach das 'System' das Kopfgeld vergeben. Vielen Dank an Adaephon für diesen Kommentar. LOG wird nicht häufig verwendet und ist daher schwer zu erkennen, wie das System davon betroffen sein würde LOG=1.
Parto

Antworten:

4

Sie könnten etwas benutzerlokaleres wie ~/.pam_environmentoder verwenden ~/.profile. Dies ist praktisch der gleiche Ansatz wie, /etc/environmentaußer dass sie nur Ihren Benutzer betreffen. Sie können sich weiterhin auf andere Anwendungen auswirken.

Während ~/.profilees anderen Skriptdateien ähnlich ist, ~/.pam_environmenthat es eine etwas zuckende Syntax , die eingehalten werden muss (oder Sie brechen Ihr Login):

LOG DEFAULT=1

Der andere Ansatz, der möglicherweise funktioniert, besteht darin, die Startvorgänge so notify-osdzu ändern , dass die Umgebungsvariable direkt weitergegeben wird. In diesem Fall scheint es Teil einer plattformübergreifenden DBUS-Kaskade zu sein, die von gesteuert wirdusr/share/dbus-1/services/org.freedesktop.Notifications.service

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

Ich frage mich, ob die Exec-Zeile geändert werden könnte, um zu lesen:

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

Oder wenn das Syntax-Wobblies auslöst:

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

Wenn dies funktioniert, hat es den offensichtlichen Vorteil, dass nur notify-osd (alles, was es startet) beeinflusst wird.

Oli
quelle
3

Die NotifyOSD- Dokumentseiten zitieren:

(Hinweis: Die Protokollierung in dieser Datei ist aktiviert, wenn die Umgebungsvariable LOG auf 1 gesetzt ist.)

Auf der Dokumentenseite Umgebungsvariable finden Sie eine Liste allgemeiner Variablen, in denen "LOG" nicht aufgeführt ist. Es sagt:

Jede Anwendung kann ihre eigenen Umgebungsvariablen definieren und verwenden. Viele Handbuchseiten enthalten lange Listen von Umgebungsvariablen, die das Verhalten der von ihnen beschriebenen Anwendung beeinflussen können. Die nützlichsten Variablen sind jedoch vielen Anwendungen gemeinsam.

Nach dem Googeln für Fälle, in denen LOG verwendet werden kann, wird nichts angezeigt. "NOTIFYOSDLOG" wäre ein passenderer Name gewesen. Die Verwendung von LOG ist vollständig von Anwendungen abhängig, daher ist es ein Rätsel, wer es verwendet und nicht. Da es nicht in der Liste der allgemeinen Variablen enthalten ist, handelt es sich möglicherweise nur um eine schlecht benannte Variable.

Herr Lee
quelle