ฉันจะอ่านข้อความ NotifyOSD ได้อย่างไรหลังจากแสดงขึ้นมา?


14

ฉันต้องการอ่านรายการข้อความที่แสดงnotify-osdเป็นระยะ ๆ ฉันยังใช้ 12.04 ถ้ามันเป็นเรื่องสำคัญ เป็นไปได้ไหม

เหล่านี้ สองคำถามจาก 2010 ~/.cache/notify-osd.logแสดงให้เห็นว่าล็อกไฟล์ควรอยู่ที่ ฉันไม่มีไฟล์ดังกล่าวและฉันต้องการที่จะรู้ว่านี่เป็นข้อผิดพลาด (ในกรณีนี้คำถามนี้ควรถูกปิด) หรือว่าไฟล์บันทึกนี้ขึ้นอยู่กับการตั้งค่าอื่น (เช่นการตั้งค่าระบบ -> ความเป็นส่วนตัว)?

ฉันไม่สนใจเกี่ยวกับการจัดเก็บข้อมูลระหว่างการรีบูตเครื่อง ฉันแค่ต้องการเรียกดูข้อความจากเซสชันปัจจุบัน

แก้ไข:สองคำตอบที่ดีตอนนี้ แต่ฉันอยากจะรู้ว่าข้อความเหล่านี้จะถูกเก็บไว้ที่ใดก็ได้ (เดาทั้งหมด / tmp? RAM?) ในช่วงเวลาสั้น ๆ หลังจากที่ปรากฏบนหน้าจอ การเรียงลำดับของบัฟเฟอร์บางอย่างจะต้องมีอยู่ตามที่ปรากฏหนึ่งหลังจากนั้นอีกไม่กี่วินาทีแต่ละคนแม้ว่าจะมีการแจ้งเตือน 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

หลังจากดูอย่างระมัดระวัง (มาก) ฉันพบการเปลี่ยนแปลงรหัสในปี 2011 เกี่ยวกับการทำ notify-osdไม่ส่งออกโดยค่าเริ่มต้นไปยังไฟล์บันทึกเพราะมันถูกใช้เพื่อการตรวจแก้จุดบกพร่องและเขียนลง HDD ทุกครั้งที่มันทำ ในการเปิดใช้งานคุณสมบัตินี้คุณสามารถทำได้ 2 วิธีคือวิธีชั่วคราวและแบบถาวร

วิธีการชั่วคราว

เปิดเทอร์มินัลฉันพิมพ์ดังต่อไปนี้:

สำหรับระบบ 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 / alert-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
คำเตือนเล็กน้อย: นี่อาจเป็นความคิดที่ไม่ดี ... LOG = 1 ใน / etc / environment ทำให้มันเป็นระบบที่มีความหลากหลายและอาจทำลายสิ่งต่าง ๆ ... พระเจ้ารู้ว่าสิ่งที่ตอบสนองกับ LOG (ofc.) พวกเขาควรทำให้มันเหมือน NOTIFYOSDLOG ) บางทีสำหรับผู้เริ่มฉันจะเพิ่มมันใน bashrc สำหรับผู้ใช้ 1 คนเพื่อให้แน่ใจ
Rinzwind

@ Rinzwind ใช่ฉันคิดอย่างนั้น เพิ่ม bashrc
Luis Alvarado

ขอบคุณหลุยส์ ฉันยอมรับสิ่งนี้เพราะมันไม่ต้องการ PPA อื่นซึ่งยอดเยี่ยม (ฉันให้รางวัลแก่ @Stump เท่านั้นเพราะคุณมีตัวแทนมากมายคุณจะไม่พลาดหวังว่าคุณจะไม่สนใจ)
Tom Brossman

1
@ TomBrossman ฉันจะเกลียดคุณจนกว่า Ubuntu จะซื้อ 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 Mohiuddin Ahmed

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. ทุกโซลูชั่นที่นำเสนออื่น ๆ ที่จะต้องดำเนินการก่อนที่จะมีประสิทธิภาพ สิ่งนี้ไม่แตกต่างกันยกเว้น ... เพื่อให้เป็น "เหนียว" สคริปต์สามารถรวมเป็นส่วนหนึ่งของรูทีนการเริ่มต้นการบูต เอาต์พุตยังสามารถไพพ์ไปยังล็อกไฟล์ ลิงค์เพิ่มสำหรับรายละเอียดเพิ่มเติมอ้างอิง ลิงก์ที่จะเพิ่ม - มากมายมากมาย
หมุนรอบ la la la
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.