NotifyOSD 메시지가 표시된 후 어떻게 읽을 수 있습니까?


14

notify-osd때때로 표시되는 메시지 목록을 읽고 싶습니다 . 중요한 경우 12.04를 계속 사용하고 있습니다. 이게 가능해?

2010 년 의이 질문은에 로그 파일이 있어야 함을 나타냅니다 ~/.cache/notify-osd.log. 나는 그런 파일이 없으며 이것이 버그 (이 경우이 질문을 닫아야 함)인지 또는이 로그 파일이 다른 설정 (시스템 설정-> 개인 정보 보호)에 의존하는지 알고 싶습니다.

재부팅 사이에 데이터 저장에 신경 쓰지 않습니다. 현재 세션에서 메시지를 찾아보고 싶습니다.

편집 : 지금 두 가지 좋은 답변이지만이 메시지가 화면에 나타난 후 짧은 기간 동안 (총 추측, / tmp? RAM?) 어디에 저장되는지 알고 싶습니다 . 1-2 분 동안 20-30 개의 알림이 있더라도 어떤 종류의 버퍼는 각각 몇 초씩 하나씩 나타나므로 반드시 존재해야합니다.

나는 원래의 질문에서 또 다른 PPA + 표시기 또는 과도한 드라이브 쓰기에 관심이 없다고 언급하지 못했습니다. 메시지가 나타난 후 짧은 시간 동안 메시지를 볼 수 있는지 알고 싶습니다.

이것에 대한 나의 유스 케이스는 몇 분 전에 스트리밍 라디오 방송국에서 어떤 노래가 재생되었는지 찾아내는 것입니다. 나는 그것을 배경 음악으로 사용하고 때로는들은 후에 내 머리에 노래가 붙어 있습니다. 1-2 곡 전에 연주 한 음악을 다시 볼 수있는 방법이 없습니다.


1
로그가 더 이상 표시되지 않는 이유 : bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/904835
Seth

라디오 스트림을 재생하기 위해 어떤 앱 / 플레이어를 사용하고 있습니까?
Basharat Sialvi

@BasharatSial Radiotray
Tom Brossman

1
@TomBrossman Radiotray는 history plugin이전에 재생 된 노래를 추적합니다.
Basharat Sialvi

@BasharatSial 감사합니다. 아마 저에게 가장 간단한 해결책 일 것입니다.
Tom Brossman

답변:


6

주의 깊게 둘러 본 후 (A LOT) 2011 년에 notify-osd기본적으로 로그 파일로 출력하지 않는 코드 변경 사항을 발견했습니다. 이 파일은 디버깅 목적으로 사용되었으며 매번 HDD에 기록 되었기 때문입니다. 이 기능을 활성화하려면 일시적인 방법과보다 영구적 인 방법으로 두 가지 방법을 사용할 수 있습니다.

임시 방법

터미널을 열고 다음을 입력하십시오.

64 비트 시스템의 경우 :

sudo killall notify-osd
LOG=1 /usr/lib/x86_64-linux-gnu/notify-osd &

32 비트 시스템의 경우 :

sudo killall notify-osd
LOG=1 /usr/lib/notify-osd/notify-osd &

이제 .cache/notify-osd.log파일과 디버그 정보가 표시됩니다.

영구적 인 방법 (경고 : 글로벌 변화)

보다 영구적 인 해결책을 찾으려면 다음을 수행하십시오 (전 세계 변경. 아래 Rinzwind에서 언급 한 경고를 읽으십시오. 이는 모든 사람에게 영향을 미치고 고양이를 죽입니다!) :

sudo nano /etc/environment

끝에 다음 줄을 추가하고 저장하십시오.

LOG=1

컴퓨터를 재부팅하여 테스트하십시오.

영구적 인 방법 (사용자 별 변경)

보다 영구적 인 해결책을 위해 다음을 수행하십시오 (사용자 별 변경. 이것은 귀하와 개에게만 영향을 미칩니다. 고양이는 여전히 생존합니다).

sudo nano ~/.bashrc

끝에 다음 줄을 추가하고 저장하십시오.

LOG=1

컴퓨터를 재부팅하여 테스트하십시오.

.cache/notify-osd.log파일 에 정보가 나타나기 시작해야 합니다. 예를 들어, 유선 연결을 2 번 분리 한 후

GNU nano 2.2.6 파일 : .cache / notify-osd.log

[2013-05-04T18:49:55-00:00, NetworkManager ] Connected
Intel

[2013-05-04T18:50:26-00:00, NetworkManager ] Disconnected - you are now offline
Ethernet network

[2013-05-04T18:50:29-00:00, NetworkManager replaced] Connected
Intel

3
작은 경고 : 이것은 나쁜 생각 일 수 있습니다 ... / etc / environment의 LOG = 1은 시스템 전체를 변수로 만들고 물건을 깰 수 있습니다 ... 하나님은 LOG에 반응하는 것이 무엇인지 알고 있습니다 (때로는 NOTIFYOSDLOG와 같은 것으로 만들어야했습니다) ). 어쩌면 초보자에게는 bashrc에 추가하여 1 명의 사용자가 확실하게 할 수 있습니다.
Rinzwind

@Rinzwind 그래 그래. bashrc를 추가했습니다.
Luis Alvarado

고마워 루이스 다른 PPA가 필요하지 않기 때문에 이것을 수락했습니다. (나는 당신이 그것을 놓치지 않을 것이라고 많은 담당자가 있기 때문에 @Stump에게 현상금을주었습니다. 걱정하지 않기를 바랍니다).
Tom Brossman

1
@ TomBrossman 우분투가 Microsoft를 구입할 때까지 당신을 미워합니다 ^^.
Luis Alvarado

15

수신 된 알림을 추적하는 패키지 표시기 알림을 설치할 수 있습니다. 다음과 같이 설치할 수 있습니다

sudo add-apt-repository ppa:jconti/recent-notifications
sudo apt-get update
sudo apt-get install indicator-notifications

로그 아웃했다가 다시 로그인해야합니다. 상단 패널에 사서함으로 표시되고 새 메시지가 표시되면 녹색으로 바뀝니다.

알림

이것은 13.04에 있지만 12.04에서도 작동합니다.


Ubuntu 19.04(GNOME Shell)
MD

6

시작 시간부터 중지 될 때까지 모든 알림 메시지가 표시됩니다.

dbus-monitor "interface='org.freedesktop.Notifications'"    |     \
grep --line-buffered  "member=Notify\|string"

복사 터미널 창 (에 붙여 넣습니다 Ctrl+ Alt+ T).

중지하려면 Ctrl+를 사용 C하거나 창을 닫으십시오.

이것은 비차별적이고 조잡하지만 효과적이지만 grep정규 표현식 을 변경하여 특정 알림 에이전트의 정확한 세부 정보를 모니터링하기 위해 벌금을 부과 할 수 있습니다 "member=Notify\|string". 텍스트는 다음에 마사지 할 수있다 sed, awk모양 좋은 등등.

두 번째로, 모니터링 할 에이전트와 함께 자동으로 실행되도록 스크립트를 바인딩하는 것이 가장 유용합니다.

상호 참조 :
-에 명시 적 세부 사항 알림 기록을 보는 방법이 있습니까?


1
+1 이것은 흥미롭지 만 과거의 메시지를 보려면 이미 실행 중이어야합니다.
Tom Brossman

1
정확히 This will show all notification messages **from the time it is started** until it is stopped. 다른 제안 된 모든 솔루션을 실행하기 전에 실행해야합니다. 이 점을 제외하고는 다르지 않습니다 ... 스크립트를 "고정"시키기 위해 부트 초기화 루틴의 일부로 스크립트를 포함시킬 수 있습니다. 또한 출력을 로그 파일로 파이프 할 수 있습니다. 자세한 내용은 링크 추가 ref. 링크를 추가 할 - 많은 많은 많은
트롤 라 라 라
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.