Установка LOG = 1 в / etc / environment

8

Ранее я задавал вопрос о просмотре истории notify-osdиспользования indicator-notificationsприложения.

Ответ был то, что мне нужно было добавить LOG=1в мой /etc/environmentфайл.
Это звучало подозрительно, и я этого не делал, потому что:

  1. Это в глобальном конфигурационном файле.
  2. Вы действительно не можете знать, что еще будет зарегистрировано, кроме уведомлений.

Я просмотрел и увидел этот вопрос, который также выдвигает на первый план проблему. Посмотрите конкретно на этот ответ :

Небольшое предупреждение: это может быть плохой идеей ... LOG = 1 в / etc / environment делает ее общесистемной переменной и может нарушать работу ... Бог знает, что реагирует на LOG (ofc. Они должны были сделать что-то вроде NOTIFYOSDLOG ). Возможно, для начала я бы добавил его в bashrc для 1 пользователя, просто чтобы быть уверенным.

Мой вопрос, как будет установка LOG=1в /etc/environmentвлияет на систему? Какие «вещи» будут зарегистрированы? Это желательно?

РЕДАКТИРОВАТЬ

Я решил проблему с уведомлением, и теперь я просто спрашиваю об эффектах установки LOG = 1 в / etc / environment.

Посмотрите на мой вопрос выше: «Как будет установка LOG=1в /etc/environment? Влиять на систему , которая„материал“будет зарегистрирован ли это целесообразно?»

Parto
источник
Мы могли бы, возможно, отредактировать и перекомпилировать notifyosd, чтобы вместо этого проверить NOTIFYOSDLOG ..
Сет
Трудно сказать, на что будет влиять система, LOG=1не читая документацию по каждой программе и услуге, которые могут быть запущены и могут использоваться LOGв данной среде. LOGэто довольно общее название, но в отличие от этого PATH, HOMEили TERMоно обычно не используется. Таким образом, можно надеяться, что не слишком много разработчиков выбрали его в качестве переменной среды для своей программы, и поэтому настройка LOGне будет иметь большого значения.
Adaephon
Оба ответа хороши, я просто позволю системе получить награду. Спасибо Adaephon за этот комментарий, LOG обычно не используется и, следовательно, довольно сложно понять, как система будет затронута LOG=1.
Парто

Ответы:

4

Вы можете использовать что-то более локальное, например, ~/.pam_environmentили ~/.profile. Это практически такой же подход, /etc/environmentза исключением того, что они влияют только на вашего пользователя. Они все еще могут влиять на другие приложения.

Хотя ~/.profileон похож на другие файлы сценариев, ~/.pam_environmentимеет немного странный синтаксис, который необходимо соблюдать (или вы сломаете свой логин):

LOG DEFAULT=1

Другой подход, который может работать, заключается в изменении любых запусков notify-osdдля прямой передачи переменной среды. В этом случае он является частью кроссплатформенного каскада DBUS, управляемого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

Интересно, можно ли изменить строку Exec следующим образом:

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

Или, если это вызывает синтаксические колебания:

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

Если это работает, у него есть очевидное преимущество - он влияет только на notify-osd (все, что запускает).

Оли
источник
3

В NotifyOSD Дока страницы цитаты:

(Примечание: запись в этот файл включена, если для переменной среды LOG установлено значение 1.)

На странице документа «Переменная окружения» есть список общих переменных, в которых «LOG» не указан. Это говорит:

Каждое приложение может определять и использовать свои собственные переменные среды. Многие справочные страницы содержат длинные списки переменных среды, которые могут влиять на поведение приложения, которое они описывают. Однако наиболее полезные переменные являются общими для многих приложений.

После поиска в Google для случаев, когда может использоваться LOG, ничего не появляется. «NOTIFYOSDLOG» было бы более подходящим названием. Использование LOG полностью зависит от приложений, поэтому остается загадкой, кто его использует и не использует. Поскольку его нет в списке общих переменных, это может быть просто переменная с плохим именем.

Мистер Ли
источник