Ustawienie LOG = 1 w / etc / environment

8

Zadałem wcześniej pytanie dotyczące przeglądania historii notify-osdkorzystania z indicator-notificationsaplikacji.

Odpowiedź brzmiała: muszę dodać LOG=1w swoim /etc/environmentpliku.
Brzmiało to podejrzanie i nie zrobiłem tego, ponieważ:

  1. Jest w globalnym pliku konfiguracyjnym.
  2. Naprawdę nie wiesz, co jeszcze będzie rejestrowane oprócz powiadomień.

Rozejrzałem się i zobaczyłem to pytanie, które również uwypukla problem. Spójrz w szczególności na tę odpowiedź :

Małe ostrzeżenie: może to być zły pomysł ... LOG = 1 w / etc / environment sprawia, że ​​jest to zmienna systemowa i może popsuć różne rzeczy ... Bóg wie, co reaguje na LOG (oczywiście, powinni byli zrobić coś w rodzaju NOTIFYOSDLOG ). Może na początek dodałbym to do bashrc dla 1 użytkownika, żeby się upewnić.

Moje pytanie brzmi, jak będzie ustawienie LOG=1w /etc/environmentwpływu na system? Jakie „rzeczy” będą rejestrowane? Czy to jest wskazane?

EDYTOWAĆ

Rozwiązałem problem z powiadomieniem i teraz tylko pytam o efekty ustawienia LOG = 1 w / etc / environment.

Spójrz na moje pytanie powyżej: „Jak będzie ustawienie LOG=1w /etc/environment? Wpływać na system, który«rzeczy»będą rejestrowane jest to wskazane?”

Parto
źródło
Zamiast tego moglibyśmy edytować i rekompilować powiadomienie, aby sprawdzić NOTIFYOSDLOG.
Seth
Trudno jest stwierdzić, na jaki wpływ miałby wpływ system, LOG=1bez czytania dokumentacji każdego programu i usługi, które można uruchomić i z których można korzystać LOGw środowisku. LOGjest dość ogólna nazwa, ale w przeciwieństwie do PATH, HOMEczy TERMto nie jest powszechnie używany. Można więc mieć nadzieję, że niewielu programistów wybrało ją jako zmienną środowiskową dla swojego programu, a zatem ustawienie LOGnie zrobi wiele.
Adaephon
Obie odpowiedzi są miłe. Pozwolę, aby „system” przyznał nagrodę. Dzięki Adaephon za ten komentarz, LOG nie jest powszechnie używany i dlatego trudno jest wiedzieć, jak wpłynie na system LOG=1.
Parto

Odpowiedzi:

4

Możesz użyć czegoś bardziej lokalnego dla użytkownika, takiego jak ~/.pam_environmentlub ~/.profile. Są to praktycznie takie same podejścia, /etc/environmentz tym wyjątkiem, że będą miały wpływ tylko na użytkownika. Mogą nadal wpływać na inne aplikacje.

Chociaż ~/.profilejest podobny do innych plików skryptów, ~/.pam_environmentma nieco niestabilną składnię , której należy przestrzegać (w przeciwnym razie zepsujesz logowanie):

LOG DEFAULT=1

Drugim podejściem, które może działać, jest zmiana tego, co uruchamia się, notify-osdaby bezpośrednio przekazać zmienną środowiskową. W tym przypadku wydaje się, że jest częścią jakiejś międzyplatformowej kaskady DBUS kontrolowanej zusr/share/dbus-1/services/org.freedesktop.Notifications.service

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

Zastanawiam się, czy wiersz Exec można zmienić na następujący:

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

Lub jeśli spowoduje to wobblies składni:

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

Jeśli to działa, ma oczywistą zaletę, że wpływa tylko na powiadomienie-osd (cokolwiek, co uruchamia).

Oli
źródło
3

W NotifyOSD strony doc cytaty:

(Uwaga: logowanie do tego pliku jest włączone, gdy zmienna środowiskowa LOG jest ustawiona na 1).

Na stronie dokumentu Zmienna środowiskowa znajduje się lista wspólnych zmiennych, w których „LOG” nie jest wymieniony. To mówi:

Każda aplikacja może dowolnie definiować i używać własnych zmiennych środowiskowych. Wiele stron podręcznika zawiera długie listy zmiennych środowiskowych, które mogą wpływać na zachowanie opisywanej aplikacji. Jednak najbardziej przydatne zmienne są wspólne dla wielu aplikacji.

Po wyszukiwaniu w przypadkach, w których można użyć LOG, nic się nie pojawia. „NOTIFYOSDLOG” byłoby bardziej odpowiednią nazwą. Korzystanie z LOG jest całkowicie zależne od aplikacji, więc tajemnicą jest to, kto go używa i go nie używa. Ponieważ nie ma go na liście wspólnych zmiennych, może to być tylko źle nazwana zmienna.

Mr.Lee
źródło